CRUX-ARM : Home

Home :: Documentation :: Download :: Development :: Community :: Ports :: Packages :: Bugs :: Links :: About :: Donors
Added Makefile and vars.mk which are also uptodate:
[toolchain-softfp.git] / work / binutils-2.19.1-branch_update-5.patch
1 Submitted By: Jim Gifford (jim at cross-lfs dot org)
2 Date: 07-07-2009
3 Initial Package Version: 2.19.1
4 Origin: Upstream
5 Upstream Status: Applied
6 Description: This is a branch update for binutils-2.19.1, and should be
7 rechecked periodically.
8
9 This patch was created on 20090707
10
11 diff -Naur binutils-2.19.1.orig/bfd/ChangeLog binutils-2.19.1/bfd/ChangeLog
12 --- binutils-2.19.1.orig/bfd/ChangeLog 2009-02-02 02:44:39.000000000 -0800
13 +++ binutils-2.19.1/bfd/ChangeLog 2009-03-02 05:55:19.000000000 -0800
14 @@ -1,3 +1,108 @@
15 +2009-03-02 Alan Modra <amodra@bigpond.net.au>
16 +
17 + 2009-02-15 Alan Modra <amodra@bigpond.net.au>
18 + * elf64-ppc.c (struct _ppc64_elf_section_data): Delete t_symndx,
19 + add toc.symndx and toc.add.
20 + (ppc64_elf_check_relocs): Don't set htab->tls_get_addr here.
21 + Set up toc.add.
22 + (get_tls_mask): Add toc_addend param, set from toc.add. Adjust all
23 + callers.
24 + (ppc64_elf_tls_setup): Set htab->tls_get_addr and tls_get_addr_fd.
25 + (branch_reloc_hash_match): New function, extracted from..
26 + (ppc64_elf_tls_optimize): ..here.
27 + (ppc64_elf_relocate_section): Properly set addends when optimizing
28 + tls sequences. Avoid unnecessary reading and writing of insns.
29 + Only redo reloc when symbol changed. Bypass symbol checks when
30 + using tlsld_got.
31 + * elf32-ppc.c (ppc_elf_tls_setup): Correct comment.
32 + (branch_reloc_hash_match): New function, extracted from..
33 + (ppc_elf_tls_optimize): ..here.
34 + (ppc_elf_relocate_section): Avoid unnecessary reading of insns.
35 + Don't clear addend on zapped __tls_get_addr reloc.
36 +
37 + 2009-02-01 Jan Kratochvil <jan.kratochvil@redhat.com>
38 + * elf-eh-frame.c (REQUIRE_CLEARED_RELOCS) Remove.
39 + (_bfd_elf_parse_eh_frame): Do not check relocations for removed FDEs.
40 +
41 + 2009-01-26 Nathan Sidwell <nathan@codesourcery.com>
42 + * elf32-ppc.c (ppc_elf_relax_section): Add space for relocs
43 + describing the trampolines.
44 + (ppc_elf_relocate_section): Update relocs to describe the
45 + trampolines.
46 +
47 + 2009-01-22 Alan Modra <amodra@bigpond.net.au>
48 + PR 6832
49 + * dwarf2.c (find_line): Don't update stash->sec_info_ptr until
50 + after comp_unit_find_line call.
51 +
52 + 2009-01-14 Alan Modra <amodra@bigpond.net.au>
53 + PR 9735
54 + * syms.c (_bfd_stab_section_find_nearest_line): Don't free
55 + saved filename, use bfd_alloc rather than bfd_malloc for it.
56 +
57 + 2009-01-11 Jan Kratochvil <jan.kratochvil@redhat.com>
58 + * elflink.c (_bfd_elf_section_already_linked): Handle g++-3.4
59 + relocations in `.gnu.linkonce.r.*' referencing its `.gnu.linkonce.t.*'.
60 +
61 + 2008-12-11 Alan Modra <amodra@bigpond.net.au>
62 + PR 7041
63 + * elf64-ppc.c (func_desc_adjust): Correct logic making fake function
64 + descriptors. Similarly correct making function descriptors dynamic.
65 +
66 + 2008-11-14 Nathan Sidwell <nathan@codesourcery.com>
67 + * elf.c (assign_file_positions_for_load_sections): Use header_size
68 + to avoid moving the load address of file headers.
69 + (assign_file_positions_for_load_sections): Set header_size for
70 + segments containing the file header.
71 +
72 + 2008-11-13 Hans-Peter Nilsson <hp@axis.com>
73 + PR ld/7028
74 + * elf.c (assign_file_positions_for_load_sections): Allocate phrds
75 + with bfd_zalloc2 instead of bfd_alloc2. For the amount, use
76 + the possibly-preset header-size, not the computed one.
77 +
78 + 2008-11-13 Alan Modra <amodra@bigpond.net.au>
79 + PR 7023
80 + * elf.c (bfd_section_from_shdr <SHT_SYMTAB>): Fail on invalid sh_info.
81 +
82 + 2008-11-11 Alan Modra <amodra@bigpond.net.au>
83 + PR 7012
84 + * dwarf2.c (find_line): Don't keep stale pointers into realloc'd
85 + memory. Return on errors. Fix memory leak.
86 + (_bfd_dwarf2_cleanup_debug_info): Free dwarf_str_buffer.
87 +
88 + 2008-10-10 Nathan Froyd <froydnj@codesourcery.com>
89 + * elf32-ppc.c (ppc_elf_merge_obj_attributes): Merge
90 + Tag_GNU_Power_ABI_Struct_Return.
91 +
92 + 2008-10-03 Alan Modra <amodra@bigpond.net.au>
93 + * elf.c (bfd_elf_set_group_contents): Assign sh_info for ld -r when
94 + the signature symbol is global.
95 + * elflink.c (elf_link_input_bfd): Ensure group signature symbol
96 + is output when ld -r. Set group sh_info when local.
97 + * linker.c (default_indirect_link_order): Handle group sections
98 + specially.
99 +
100 + 2008-09-28 Alan Modra <amodra@bigpond.net.au>
101 + * elf.c (_bfd_elf_init_private_section_data): Tweak union copy.
102 + (bfd_section_from_shdr): Don't change SHT_GROUP section name.
103 + * elflink.c (section_signature): New function.
104 + (_bfd_elf_section_already_linked): Use it.
105 +
106 +2009-02-15 Bjoern Haase <bjoern.m.haase@web.de>
107 +
108 + PR 9841
109 + * elf32-avr.c: Handle case where no local symbos exist correctly.
110 +
111 +2009-02-04 Eric B. Weddington <eric.weddington@atmel.com>
112 +
113 + * elf32-avr.c (avr_final_link_relocate): Allow avr25 to wraparound.
114 +
115 +2009-02-03 Tristan Gingold <gingold@adacore.com>
116 +
117 + * Makefile.am (RELEASE): Unset.
118 + * Makefile.in: Regenerated.
119 +
120 2009-02-02 Tristan Gingold <gingold@adacore.com>
121
122 * configure.in: Bump version to 2.19.1
123 diff -Naur binutils-2.19.1.orig/bfd/dwarf2.c binutils-2.19.1/bfd/dwarf2.c
124 --- binutils-2.19.1.orig/bfd/dwarf2.c 2008-10-02 01:07:16.000000000 -0700
125 +++ binutils-2.19.1/bfd/dwarf2.c 2009-03-02 05:50:55.000000000 -0800
126 @@ -1,6 +1,6 @@
127 /* DWARF 2 support.
128 Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
129 - 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
130 + 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
131
132 Adapted from gdb/dwarf2read.c by Gavin Koch of Cygnus Solutions
133 (gavin@cygnus.com).
134 @@ -2989,8 +2989,6 @@
135 symbols, 0,
136 &stash->info_ptr_memory, &total_size))
137 goto done;
138 - stash->info_ptr = stash->info_ptr_memory;
139 - stash->info_ptr_end = stash->info_ptr + total_size;
140 }
141 else
142 {
143 @@ -3008,63 +3006,64 @@
144 if (stash->info_ptr_memory == NULL)
145 goto done;
146
147 - stash->info_ptr = stash->info_ptr_memory;
148 - stash->info_ptr_end = stash->info_ptr;
149 -
150 + total_size = 0;
151 for (msec = find_debug_info (debug_bfd, NULL);
152 msec;
153 msec = find_debug_info (debug_bfd, msec))
154 {
155 bfd_size_type size;
156 - bfd_size_type start;
157
158 size = msec->size;
159 if (size == 0)
160 continue;
161
162 - start = stash->info_ptr_end - stash->info_ptr;
163 -
164 - if ((bfd_simple_get_relocated_section_contents
165 - (debug_bfd, msec, stash->info_ptr + start, symbols))
166 - == NULL)
167 - continue;
168 + if (!(bfd_simple_get_relocated_section_contents
169 + (debug_bfd, msec, stash->info_ptr_memory + total_size,
170 + symbols)))
171 + goto done;
172
173 - stash->info_ptr_end = stash->info_ptr + start + size;
174 + total_size += size;
175 }
176 -
177 - BFD_ASSERT (stash->info_ptr_end == stash->info_ptr + total_size);
178 }
179 else
180 {
181 /* Case 3: multiple sections, some or all compressed. */
182 - stash->info_ptr_memory = bfd_malloc (1);
183 - stash->info_ptr = stash->info_ptr_memory;
184 - stash->info_ptr_end = stash->info_ptr;
185 + stash->info_ptr_memory = NULL;
186 + total_size = 0;
187 for (msec = find_debug_info (debug_bfd, NULL);
188 msec;
189 msec = find_debug_info (debug_bfd, msec))
190 {
191 bfd_size_type size = msec->size;
192 - bfd_byte* buffer
193 - = (bfd_simple_get_relocated_section_contents
194 - (debug_bfd, msec, NULL, symbols));
195 - if (! buffer)
196 + bfd_byte* buffer;
197 +
198 + if (size == 0)
199 continue;
200 +
201 + buffer = (bfd_simple_get_relocated_section_contents
202 + (debug_bfd, msec, NULL, symbols));
203 + if (! buffer)
204 + goto done;
205 +
206 if (strcmp (msec->name, DWARF2_COMPRESSED_DEBUG_INFO) == 0)
207 {
208 if (! bfd_uncompress_section_contents (&buffer, &size))
209 - continue;
210 + {
211 + free (buffer);
212 + goto done;
213 + }
214 }
215 - stash->info_ptr = bfd_realloc (stash->info_ptr,
216 - stash->info_ptr_end
217 - - stash->info_ptr + size);
218 - memcpy (stash->info_ptr_end, buffer, size);
219 + stash->info_ptr_memory = bfd_realloc (stash->info_ptr_memory,
220 + total_size + size);
221 + memcpy (stash->info_ptr_memory + total_size, buffer, size);
222 free (buffer);
223 - stash->info_ptr_end += size;
224 + total_size += size;
225 }
226 }
227 }
228
229 + stash->info_ptr = stash->info_ptr_memory;
230 + stash->info_ptr_end = stash->info_ptr + total_size;
231 stash->sec = find_debug_info (debug_bfd, NULL);
232 stash->sec_info_ptr = stash->info_ptr;
233 stash->syms = symbols;
234 @@ -3187,13 +3186,6 @@
235 break;
236 stash->info_ptr += length;
237
238 - if ((bfd_vma) (stash->info_ptr - stash->sec_info_ptr)
239 - == stash->sec->size)
240 - {
241 - stash->sec = find_debug_info (stash->bfd, stash->sec);
242 - stash->sec_info_ptr = stash->info_ptr;
243 - }
244 -
245 if (stash->all_comp_units)
246 stash->all_comp_units->prev_unit = each;
247 else
248 @@ -3223,6 +3215,14 @@
249 functionname_ptr,
250 linenumber_ptr,
251 stash));
252 +
253 + if ((bfd_vma) (stash->info_ptr - stash->sec_info_ptr)
254 + == stash->sec->size)
255 + {
256 + stash->sec = find_debug_info (stash->bfd, stash->sec);
257 + stash->sec_info_ptr = stash->info_ptr;
258 + }
259 +
260 if (found)
261 goto done;
262 }
263 @@ -3364,8 +3364,14 @@
264 }
265 }
266
267 - free (stash->dwarf_abbrev_buffer);
268 - free (stash->dwarf_line_buffer);
269 - free (stash->dwarf_ranges_buffer);
270 - free (stash->info_ptr_memory);
271 + if (stash->dwarf_abbrev_buffer)
272 + free (stash->dwarf_abbrev_buffer);
273 + if (stash->dwarf_line_buffer)
274 + free (stash->dwarf_line_buffer);
275 + if (stash->dwarf_str_buffer)
276 + free (stash->dwarf_str_buffer);
277 + if (stash->dwarf_ranges_buffer)
278 + free (stash->dwarf_ranges_buffer);
279 + if (stash->info_ptr_memory)
280 + free (stash->info_ptr_memory);
281 }
282 diff -Naur binutils-2.19.1.orig/bfd/elf32-avr.c binutils-2.19.1/bfd/elf32-avr.c
283 --- binutils-2.19.1.orig/bfd/elf32-avr.c 2008-12-23 05:54:49.000000000 -0800
284 +++ binutils-2.19.1/bfd/elf32-avr.c 2009-02-19 09:53:10.000000000 -0800
285 @@ -854,10 +854,11 @@
286 {
287 /* Relative distance is too large. */
288
289 - /* Always apply WRAPAROUND for avr2 and avr4. */
290 + /* Always apply WRAPAROUND for avr2, avr25, and avr4. */
291 switch (bfd_get_mach (input_bfd))
292 {
293 case bfd_mach_avr2:
294 + case bfd_mach_avr25:
295 case bfd_mach_avr4:
296 break;
297
298 @@ -1553,7 +1554,8 @@
299 /* Adjust the local symbols defined in this section. */
300 isym = (Elf_Internal_Sym *) symtab_hdr->contents;
301 isymend = isym + symtab_hdr->sh_info;
302 - for (; isym < isymend; isym++)
303 + /* Fix PR 9841, there may be no local symbols. */
304 + for (; isym != NULL && isym < isymend; isym++)
305 {
306 if (isym->st_shndx == sec_shndx
307 && isym->st_value > addr
308 diff -Naur binutils-2.19.1.orig/bfd/elf32-ppc.c binutils-2.19.1/bfd/elf32-ppc.c
309 --- binutils-2.19.1.orig/bfd/elf32-ppc.c 2008-12-23 05:54:49.000000000 -0800
310 +++ binutils-2.19.1/bfd/elf32-ppc.c 2009-03-02 05:55:19.000000000 -0800
311 @@ -1,6 +1,6 @@
312 /* PowerPC-specific support for 32-bit ELF
313 Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
314 - 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
315 + 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
316 Written by Ian Lance Taylor, Cygnus Support.
317
318 This file is part of BFD, the Binary File Descriptor library.
319 @@ -3964,6 +3964,33 @@
320 ibfd, obfd, in_abi, out_abi);
321 }
322
323 + /* Check for conflicting Tag_GNU_Power_ABI_Struct_Return attributes
324 + and merge non-conflicting ones. */
325 + in_attr = &in_attrs[Tag_GNU_Power_ABI_Struct_Return];
326 + out_attr = &out_attrs[Tag_GNU_Power_ABI_Struct_Return];
327 + if (in_attr->i != out_attr->i)
328 + {
329 + out_attr->type = 1;
330 + if (out_attr->i == 0)
331 + out_attr->i = in_attr->i;
332 + else if (in_attr->i == 0)
333 + ;
334 + else if (out_attr->i == 1 && in_attr->i == 2)
335 + _bfd_error_handler
336 + (_("Warning: %B uses r3/r4 for small structure returns, %B uses memory"), obfd, ibfd);
337 + else if (out_attr->i == 2 && in_attr->i == 1)
338 + _bfd_error_handler
339 + (_("Warning: %B uses r3/r4 for small structure returns, %B uses memory"), ibfd, obfd);
340 + else if (in_attr->i > 2)
341 + _bfd_error_handler
342 + (_("Warning: %B uses unknown small structure return convention %d"), ibfd,
343 + in_attr->i);
344 + else
345 + _bfd_error_handler
346 + (_("Warning: %B uses unknown small structure return convention %d"), obfd,
347 + out_attr->i);
348 + }
349 +
350 /* Merge Tag_compatibility attributes and any common GNU ones. */
351 _bfd_elf_merge_object_attributes (ibfd, obfd);
352
353 @@ -4298,7 +4325,8 @@
354 return TRUE;
355 }
356 \f
357 -/* Set htab->tls_get_addr and call the generic ELF tls_setup function. */
358 +/* Set plt output section type, htab->tls_get_addr, and call the
359 + generic ELF tls_setup function. */
360
361 asection *
362 ppc_elf_tls_setup (bfd *obfd, struct bfd_link_info *info)
363 @@ -4319,6 +4347,43 @@
364 return _bfd_elf_tls_setup (obfd, info);
365 }
366
367 +/* Return TRUE iff REL is a branch reloc with a global symbol matching
368 + HASH. */
369 +
370 +static bfd_boolean
371 +branch_reloc_hash_match (const bfd *ibfd,
372 + const Elf_Internal_Rela *rel,
373 + const struct elf_link_hash_entry *hash)
374 +{
375 + Elf_Internal_Shdr *symtab_hdr = &elf_symtab_hdr (ibfd);
376 + enum elf_ppc_reloc_type r_type = ELF32_R_TYPE (rel->r_info);
377 + unsigned int r_symndx = ELF32_R_SYM (rel->r_info);
378 +
379 + if (r_symndx >= symtab_hdr->sh_info
380 + && (r_type == R_PPC_PLTREL24
381 + || r_type == R_PPC_LOCAL24PC
382 + || r_type == R_PPC_REL14
383 + || r_type == R_PPC_REL14_BRTAKEN
384 + || r_type == R_PPC_REL14_BRNTAKEN
385 + || r_type == R_PPC_REL24
386 + || r_type == R_PPC_ADDR24
387 + || r_type == R_PPC_ADDR14
388 + || r_type == R_PPC_ADDR14_BRTAKEN
389 + || r_type == R_PPC_ADDR14_BRNTAKEN))
390 + {
391 + struct elf_link_hash_entry **sym_hashes = elf_sym_hashes (ibfd);
392 + struct elf_link_hash_entry *h;
393 +
394 + h = sym_hashes[r_symndx - symtab_hdr->sh_info];
395 + while (h->root.type == bfd_link_hash_indirect
396 + || h->root.type == bfd_link_hash_warning)
397 + h = (struct elf_link_hash_entry *) h->root.u.i.link;
398 + if (h == hash)
399 + return TRUE;
400 + }
401 + return FALSE;
402 +}
403 +
404 /* Run through all the TLS relocs looking for optimization
405 opportunities. */
406
407 @@ -4446,35 +4511,10 @@
408 if (!expecting_tls_get_addr)
409 continue;
410
411 - if (rel + 1 < relend)
412 - {
413 - enum elf_ppc_reloc_type r_type2;
414 - unsigned long r_symndx2;
415 - struct elf_link_hash_entry *h2;
416 -
417 - /* The next instruction should be a call to
418 - __tls_get_addr. Peek at the reloc to be sure. */
419 - r_type2 = ELF32_R_TYPE (rel[1].r_info);
420 - r_symndx2 = ELF32_R_SYM (rel[1].r_info);
421 - if (r_symndx2 >= symtab_hdr->sh_info
422 - && (r_type2 == R_PPC_REL14
423 - || r_type2 == R_PPC_REL14_BRTAKEN
424 - || r_type2 == R_PPC_REL14_BRNTAKEN
425 - || r_type2 == R_PPC_REL24
426 - || r_type2 == R_PPC_PLTREL24))
427 - {
428 - struct elf_link_hash_entry **sym_hashes;
429 -
430 - sym_hashes = elf_sym_hashes (ibfd);
431 - h2 = sym_hashes[r_symndx2 - symtab_hdr->sh_info];
432 - while (h2->root.type == bfd_link_hash_indirect
433 - || h2->root.type == bfd_link_hash_warning)
434 - h2 = ((struct elf_link_hash_entry *)
435 - h2->root.u.i.link);
436 - if (h2 == htab->tls_get_addr)
437 - continue;
438 - }
439 - }
440 + if (rel + 1 < relend
441 + && branch_reloc_hash_match (ibfd, rel + 1,
442 + htab->tls_get_addr))
443 + continue;
444
445 /* Uh oh, we didn't find the expected call. We
446 could just mark this symbol to exclude it
447 @@ -5573,7 +5613,7 @@
448 Elf_Internal_Rela *internal_relocs = NULL;
449 Elf_Internal_Rela *irel, *irelend;
450 struct one_fixup *fixups = NULL;
451 - bfd_boolean changed;
452 + unsigned changes = 0;
453 struct ppc_elf_link_hash_table *htab;
454 bfd_size_type trampoff;
455 asection *got2;
456 @@ -5820,6 +5860,7 @@
457 fixups = f;
458
459 trampoff += size;
460 + changes++;
461 }
462 else
463 {
464 @@ -5870,7 +5911,6 @@
465 }
466
467 /* Write out the trampolines. */
468 - changed = fixups != NULL;
469 if (fixups != NULL)
470 {
471 const int *stub;
472 @@ -5936,7 +5976,7 @@
473 if (contents != NULL
474 && elf_section_data (isec)->this_hdr.contents != contents)
475 {
476 - if (!changed && !link_info->keep_memory)
477 + if (!changes && !link_info->keep_memory)
478 free (contents);
479 else
480 {
481 @@ -5945,15 +5985,35 @@
482 }
483 }
484
485 - if (elf_section_data (isec)->relocs != internal_relocs)
486 + if (changes != 0)
487 {
488 - if (!changed)
489 + /* Append sufficient NOP relocs so we can write out relocation
490 + information for the trampolines. */
491 + Elf_Internal_Rela *new_relocs = bfd_malloc ((changes + isec->reloc_count)
492 + * sizeof (*new_relocs));
493 + unsigned ix;
494 +
495 + if (!new_relocs)
496 + goto error_return;
497 + memcpy (new_relocs, internal_relocs,
498 + isec->reloc_count * sizeof (*new_relocs));
499 + for (ix = changes; ix--;)
500 + {
501 + irel = new_relocs + ix + isec->reloc_count;
502 +
503 + irel->r_info = ELF32_R_INFO (0, R_PPC_NONE);
504 + }
505 + if (internal_relocs != elf_section_data (isec)->relocs)
506 free (internal_relocs);
507 - else
508 - elf_section_data (isec)->relocs = internal_relocs;
509 + elf_section_data (isec)->relocs = new_relocs;
510 + isec->reloc_count += changes;
511 + elf_section_data (isec)->rel_hdr.sh_size
512 + += changes * elf_section_data (isec)->rel_hdr.sh_entsize;
513 }
514 + else if (elf_section_data (isec)->relocs != internal_relocs)
515 + free (internal_relocs);
516
517 - *again = changed;
518 + *again = changes != 0;
519 return TRUE;
520
521 error_return:
522 @@ -6321,22 +6381,21 @@
523 case R_PPC_GOT_TLSLD16_LO:
524 if (tls_mask != 0 && (tls_mask & TLS_LD) == 0)
525 {
526 - bfd_vma insn1, insn2;
527 + unsigned int insn1, insn2;
528 bfd_vma offset;
529
530 tls_ldgd_opt:
531 offset = rel[1].r_offset;
532 - insn1 = bfd_get_32 (output_bfd,
533 - contents + rel->r_offset - d_offset);
534 if ((tls_mask & tls_gd) != 0)
535 {
536 /* IE */
537 + insn1 = bfd_get_32 (output_bfd,
538 + contents + rel->r_offset - d_offset);
539 insn1 &= (1 << 26) - 1;
540 insn1 |= 32 << 26; /* lwz */
541 insn2 = 0x7c631214; /* add 3,3,2 */
542 rel[1].r_info
543 = ELF32_R_INFO (ELF32_R_SYM (rel[1].r_info), R_PPC_NONE);
544 - rel[1].r_addend = 0;
545 r_type = (((r_type - (R_PPC_GOT_TLSGD16 & 3)) & 3)
546 + R_PPC_GOT_TPREL16);
547 rel->r_info = ELF32_R_INFO (r_symndx, r_type);
548 @@ -6959,6 +7018,17 @@
549
550 bfd_put_32 (output_bfd, t0, contents + rel->r_offset);
551 bfd_put_32 (output_bfd, t1, contents + rel->r_offset + 4);
552 +
553 + /* Rewrite the reloc and convert one of the trailing nop
554 + relocs to describe this relocation. */
555 + BFD_ASSERT (ELF32_R_TYPE (relend[-1].r_info) == R_PPC_NONE);
556 + /* The relocs are at the bottom 2 bytes */
557 + rel[0].r_offset += 2;
558 + memmove (rel + 1, rel, (relend - rel - 1) * sizeof (*rel));
559 + rel[0].r_info = ELF32_R_INFO (r_symndx, R_PPC_ADDR16_HA);
560 + rel[1].r_offset += 4;
561 + rel[1].r_info = ELF32_R_INFO (r_symndx, R_PPC_ADDR16_LO);
562 + rel++;
563 }
564 continue;
565
566 diff -Naur binutils-2.19.1.orig/bfd/elf64-ppc.c binutils-2.19.1/bfd/elf64-ppc.c
567 --- binutils-2.19.1.orig/bfd/elf64-ppc.c 2008-10-09 05:18:24.000000000 -0700
568 +++ binutils-2.19.1/bfd/elf64-ppc.c 2009-03-02 05:55:19.000000000 -0800
569 @@ -1,6 +1,6 @@
570 /* PowerPC64-specific support for 64-bit ELF.
571 - Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
572 - Free Software Foundation, Inc.
573 + Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
574 + 2009 Free Software Foundation, Inc.
575 Written by Linus Nordberg, Swox AB <info@swox.com>,
576 based on elf32-ppc.c by Ian Lance Taylor.
577 Largely rewritten by Alan Modra <amodra@bigpond.net.au>
578 @@ -2608,9 +2608,15 @@
579 long *adjust;
580 } opd;
581
582 - /* An array for toc sections, indexed by offset/8.
583 - Specifies the relocation symbol index used at a given toc offset. */
584 - unsigned *t_symndx;
585 + /* An array for toc sections, indexed by offset/8. */
586 + struct _toc_sec_data
587 + {
588 + /* Specifies the relocation symbol index used at a given toc offset. */
589 + unsigned *symndx;
590 +
591 + /* And the relocation addend. */
592 + bfd_vma *add;
593 + } toc;
594 } u;
595
596 enum _ppc64_sec_type sec_type:2;
597 @@ -4578,6 +4584,7 @@
598 const Elf_Internal_Rela *rel_end;
599 asection *sreloc;
600 asection **opd_sym_map;
601 + struct elf_link_hash_entry *tga, *dottga;
602
603 if (info->relocatable)
604 return TRUE;
605 @@ -4594,6 +4601,10 @@
606 BFD_ASSERT (is_ppc64_elf (abfd));
607
608 htab = ppc_hash_table (info);
609 + tga = elf_link_hash_lookup (&htab->elf, "__tls_get_addr",
610 + FALSE, FALSE, TRUE);
611 + dottga = elf_link_hash_lookup (&htab->elf, ".__tls_get_addr",
612 + FALSE, FALSE, TRUE);
613 symtab_hdr = &elf_symtab_hdr (abfd);
614
615 sym_hashes = elf_sym_hashes (abfd);
616 @@ -4829,25 +4840,8 @@
617 if (!update_plt_info (abfd, (struct ppc_link_hash_entry *) h,
618 rel->r_addend))
619 return FALSE;
620 - if (h == &htab->tls_get_addr->elf
621 - || h == &htab->tls_get_addr_fd->elf)
622 + if (h == tga || h == dottga)
623 sec->has_tls_reloc = 1;
624 - else if (htab->tls_get_addr == NULL
625 - && CONST_STRNEQ (h->root.root.string, ".__tls_get_addr")
626 - && (h->root.root.string[15] == 0
627 - || h->root.root.string[15] == '@'))
628 - {
629 - htab->tls_get_addr = (struct ppc_link_hash_entry *) h;
630 - sec->has_tls_reloc = 1;
631 - }
632 - else if (htab->tls_get_addr_fd == NULL
633 - && CONST_STRNEQ (h->root.root.string, "__tls_get_addr")
634 - && (h->root.root.string[14] == 0
635 - || h->root.root.string[14] == '@'))
636 - {
637 - htab->tls_get_addr_fd = (struct ppc_link_hash_entry *) h;
638 - sec->has_tls_reloc = 1;
639 - }
640 }
641 break;
642
643 @@ -4891,23 +4885,30 @@
644 ppc64_sec = ppc64_elf_section_data (sec);
645 if (ppc64_sec->sec_type != sec_toc)
646 {
647 + bfd_size_type amt;
648 +
649 /* One extra to simplify get_tls_mask. */
650 - bfd_size_type amt = sec->size * sizeof (unsigned) / 8 + 1;
651 - ppc64_sec->u.t_symndx = bfd_zalloc (abfd, amt);
652 - if (ppc64_sec->u.t_symndx == NULL)
653 + amt = sec->size * sizeof (unsigned) / 8 + sizeof (unsigned);
654 + ppc64_sec->u.toc.symndx = bfd_zalloc (abfd, amt);
655 + if (ppc64_sec->u.toc.symndx == NULL)
656 + return FALSE;
657 + amt = sec->size * sizeof (bfd_vma) / 8;
658 + ppc64_sec->u.toc.add = bfd_zalloc (abfd, amt);
659 + if (ppc64_sec->u.toc.add == NULL)
660 return FALSE;
661 BFD_ASSERT (ppc64_sec->sec_type == sec_normal);
662 ppc64_sec->sec_type = sec_toc;
663 }
664 BFD_ASSERT (rel->r_offset % 8 == 0);
665 - ppc64_sec->u.t_symndx[rel->r_offset / 8] = r_symndx;
666 + ppc64_sec->u.toc.symndx[rel->r_offset / 8] = r_symndx;
667 + ppc64_sec->u.toc.add[rel->r_offset / 8] = rel->r_addend;
668
669 /* Mark the second slot of a GD or LD entry.
670 -1 to indicate GD and -2 to indicate LD. */
671 if (tls_type == (TLS_EXPLICIT | TLS_TLS | TLS_GD))
672 - ppc64_sec->u.t_symndx[rel->r_offset / 8 + 1] = -1;
673 + ppc64_sec->u.toc.symndx[rel->r_offset / 8 + 1] = -1;
674 else if (tls_type == (TLS_EXPLICIT | TLS_TLS | TLS_LD))
675 - ppc64_sec->u.t_symndx[rel->r_offset / 8 + 1] = -2;
676 + ppc64_sec->u.toc.symndx[rel->r_offset / 8 + 1] = -2;
677 goto dodyn;
678
679 case R_PPC64_TPREL16:
680 @@ -5847,7 +5848,7 @@
681 fdh = (struct ppc_link_hash_entry *) fdh->elf.root.u.i.link;
682
683 if (fdh == NULL
684 - && info->shared
685 + && !info->executable
686 && (fh->elf.root.type == bfd_link_hash_undefined
687 || fh->elf.root.type == bfd_link_hash_undefweak))
688 {
689 @@ -5880,7 +5881,7 @@
690
691 if (fdh != NULL
692 && !fdh->elf.forced_local
693 - && (info->shared
694 + && (!info->executable
695 || fdh->elf.def_dynamic
696 || fdh->elf.ref_dynamic
697 || (fdh->elf.root.type == bfd_link_hash_undefweak
698 @@ -6258,9 +6259,12 @@
699 type suitable for optimization, and 1 otherwise. */
700
701 static int
702 -get_tls_mask (char **tls_maskp, unsigned long *toc_symndx,
703 +get_tls_mask (char **tls_maskp,
704 + unsigned long *toc_symndx,
705 + bfd_vma *toc_addend,
706 Elf_Internal_Sym **locsymsp,
707 - const Elf_Internal_Rela *rel, bfd *ibfd)
708 + const Elf_Internal_Rela *rel,
709 + bfd *ibfd)
710 {
711 unsigned long r_symndx;
712 int next_r;
713 @@ -6288,12 +6292,14 @@
714 off = sym->st_value;
715 off += rel->r_addend;
716 BFD_ASSERT (off % 8 == 0);
717 - r_symndx = ppc64_elf_section_data (sec)->u.t_symndx[off / 8];
718 - next_r = ppc64_elf_section_data (sec)->u.t_symndx[off / 8 + 1];
719 - if (!get_sym_h (&h, &sym, &sec, tls_maskp, locsymsp, r_symndx, ibfd))
720 - return 0;
721 + r_symndx = ppc64_elf_section_data (sec)->u.toc.symndx[off / 8];
722 + next_r = ppc64_elf_section_data (sec)->u.toc.symndx[off / 8 + 1];
723 if (toc_symndx != NULL)
724 *toc_symndx = r_symndx;
725 + if (toc_addend != NULL)
726 + *toc_addend = ppc64_elf_section_data (sec)->u.toc.add[off / 8];
727 + if (!get_sym_h (&h, &sym, &sec, tls_maskp, locsymsp, r_symndx, ibfd))
728 + return 0;
729 if ((h == NULL
730 || ((h->root.type == bfd_link_hash_defined
731 || h->root.type == bfd_link_hash_defweak)
732 @@ -6898,36 +6904,49 @@
733 struct ppc_link_hash_table *htab;
734
735 htab = ppc_hash_table (info);
736 - if (htab->tls_get_addr != NULL)
737 - {
738 - struct ppc_link_hash_entry *h = htab->tls_get_addr;
739 -
740 - while (h->elf.root.type == bfd_link_hash_indirect
741 - || h->elf.root.type == bfd_link_hash_warning)
742 - h = (struct ppc_link_hash_entry *) h->elf.root.u.i.link;
743 + htab->tls_get_addr = ((struct ppc_link_hash_entry *)
744 + elf_link_hash_lookup (&htab->elf, ".__tls_get_addr",
745 + FALSE, FALSE, TRUE));
746 + htab->tls_get_addr_fd = ((struct ppc_link_hash_entry *)
747 + elf_link_hash_lookup (&htab->elf, "__tls_get_addr",
748 + FALSE, FALSE, TRUE));
749 + return _bfd_elf_tls_setup (obfd, info);
750 +}
751
752 - htab->tls_get_addr = h;
753 +/* Return TRUE iff REL is a branch reloc with a global symbol matching
754 + HASH1 or HASH2. */
755
756 - if (htab->tls_get_addr_fd == NULL
757 - && h->oh != NULL
758 - && h->oh->is_func_descriptor
759 - && (h->oh->elf.root.type == bfd_link_hash_defined
760 - || h->oh->elf.root.type == bfd_link_hash_defweak))
761 - htab->tls_get_addr_fd = h->oh;
762 - }
763 +static bfd_boolean
764 +branch_reloc_hash_match (const bfd *ibfd,
765 + const Elf_Internal_Rela *rel,
766 + const struct ppc_link_hash_entry *hash1,
767 + const struct ppc_link_hash_entry *hash2)
768 +{
769 + Elf_Internal_Shdr *symtab_hdr = &elf_symtab_hdr (ibfd);
770 + enum elf_ppc64_reloc_type r_type = ELF64_R_TYPE (rel->r_info);
771 + unsigned int r_symndx = ELF64_R_SYM (rel->r_info);
772
773 - if (htab->tls_get_addr_fd != NULL)
774 + if (r_symndx >= symtab_hdr->sh_info
775 + && (r_type == R_PPC64_REL24
776 + || r_type == R_PPC64_REL14
777 + || r_type == R_PPC64_REL14_BRTAKEN
778 + || r_type == R_PPC64_REL14_BRNTAKEN
779 + || r_type == R_PPC64_ADDR24
780 + || r_type == R_PPC64_ADDR14
781 + || r_type == R_PPC64_ADDR14_BRTAKEN
782 + || r_type == R_PPC64_ADDR14_BRNTAKEN))
783 {
784 - struct ppc_link_hash_entry *h = htab->tls_get_addr_fd;
785 -
786 - while (h->elf.root.type == bfd_link_hash_indirect
787 - || h->elf.root.type == bfd_link_hash_warning)
788 - h = (struct ppc_link_hash_entry *) h->elf.root.u.i.link;
789 + struct elf_link_hash_entry **sym_hashes = elf_sym_hashes (ibfd);
790 + struct elf_link_hash_entry *h;
791
792 - htab->tls_get_addr_fd = h;
793 + h = sym_hashes[r_symndx - symtab_hdr->sh_info];
794 + while (h->root.type == bfd_link_hash_indirect
795 + || h->root.type == bfd_link_hash_warning)
796 + h = (struct elf_link_hash_entry *) h->root.u.i.link;
797 + if (h == &hash1->elf || h == &hash2->elf)
798 + return TRUE;
799 }
800 -
801 - return _bfd_elf_tls_setup (obfd, info);
802 + return FALSE;
803 }
804
805 /* Run through all the TLS relocs looking for optimization
806 @@ -7173,55 +7192,26 @@
807 if (!expecting_tls_get_addr)
808 continue;
809
810 - if (rel + 1 < relend)
811 + if (rel + 1 < relend
812 + && branch_reloc_hash_match (ibfd, rel + 1,
813 + htab->tls_get_addr,
814 + htab->tls_get_addr_fd))
815 {
816 - Elf_Internal_Shdr *symtab_hdr;
817 - enum elf_ppc64_reloc_type r_type2;
818 - unsigned long r_symndx2;
819 - struct elf_link_hash_entry *h2;
820 -
821 - symtab_hdr = &elf_symtab_hdr (ibfd);
822 -
823 - /* The next instruction should be a call to
824 - __tls_get_addr. Peek at the reloc to be sure. */
825 - r_type2 = ELF64_R_TYPE (rel[1].r_info);
826 - r_symndx2 = ELF64_R_SYM (rel[1].r_info);
827 - if (r_symndx2 >= symtab_hdr->sh_info
828 - && (r_type2 == R_PPC64_REL14
829 - || r_type2 == R_PPC64_REL14_BRTAKEN
830 - || r_type2 == R_PPC64_REL14_BRNTAKEN
831 - || r_type2 == R_PPC64_REL24))
832 + if (expecting_tls_get_addr == 2)
833 {
834 - struct elf_link_hash_entry **sym_hashes;
835 -
836 - sym_hashes = elf_sym_hashes (ibfd);
837 -
838 - h2 = sym_hashes[r_symndx2 - symtab_hdr->sh_info];
839 - while (h2->root.type == bfd_link_hash_indirect
840 - || h2->root.type == bfd_link_hash_warning)
841 - h2 = ((struct elf_link_hash_entry *)
842 - h2->root.u.i.link);
843 - if (h2 != NULL
844 - && (h2 == &htab->tls_get_addr->elf
845 - || h2 == &htab->tls_get_addr_fd->elf))
846 - {
847 - if (expecting_tls_get_addr == 2)
848 - {
849 - /* Check for toc tls entries. */
850 - char *toc_tls;
851 - int retval;
852 -
853 - retval = get_tls_mask (&toc_tls, NULL,
854 - &locsyms,
855 - rel, ibfd);
856 - if (retval == 0)
857 - goto err_free_rel;
858 - if (retval > 1 && toc_tls != NULL)
859 - toc_ref[toc_ref_index] = 1;
860 - }
861 - continue;
862 - }
863 + /* Check for toc tls entries. */
864 + char *toc_tls;
865 + int retval;
866 +
867 + retval = get_tls_mask (&toc_tls, NULL, NULL,
868 + &locsyms,
869 + rel, ibfd);
870 + if (retval == 0)
871 + goto err_free_rel;
872 + if (retval > 1 && toc_tls != NULL)
873 + toc_ref[toc_ref_index] = 1;
874 }
875 + continue;
876 }
877
878 if (expecting_tls_get_addr != 1)
879 @@ -9744,7 +9734,7 @@
880 /* Get tls info. */
881 char *tls_mask;
882
883 - if (!get_tls_mask (&tls_mask, NULL, &local_syms,
884 + if (!get_tls_mask (&tls_mask, NULL, NULL, &local_syms,
885 irela - 1, input_bfd))
886 goto error_ret_free_internal;
887 if (*tls_mask != 0)
888 @@ -10236,6 +10226,7 @@
889 struct ppc_link_hash_entry *fdh;
890 const char *sym_name;
891 unsigned long r_symndx, toc_symndx;
892 + bfd_vma toc_addend;
893 char tls_mask, tls_gd, tls_type;
894 char sym_type;
895 bfd_vma relocation;
896 @@ -10344,8 +10335,8 @@
897 /* Check for toc tls entries. */
898 char *toc_tls;
899
900 - if (!get_tls_mask (&toc_tls, &toc_symndx, &local_syms,
901 - rel, input_bfd))
902 + if (!get_tls_mask (&toc_tls, &toc_symndx, &toc_addend,
903 + &local_syms, rel, input_bfd))
904 return FALSE;
905
906 if (toc_tls)
907 @@ -10407,8 +10398,8 @@
908 char *toc_tls;
909 int retval;
910
911 - retval = get_tls_mask (&toc_tls, &toc_symndx, &local_syms,
912 - rel, input_bfd);
913 + retval = get_tls_mask (&toc_tls, &toc_symndx, &toc_addend,
914 + &local_syms, rel, input_bfd);
915 if (retval == 0)
916 return FALSE;
917
918 @@ -10456,6 +10447,7 @@
919 if (toc_symndx != 0)
920 {
921 rel->r_info = ELF64_R_INFO (toc_symndx, r_type);
922 + rel->r_addend = toc_addend;
923 /* We changed the symbol. Start over in order to
924 get h, sym, sec etc. right. */
925 rel--;
926 @@ -10509,6 +10501,7 @@
927 if (toc_symndx != 0)
928 {
929 rel->r_info = ELF64_R_INFO (toc_symndx, r_type);
930 + rel->r_addend = toc_addend;
931 /* We changed the symbol. Start over in order to
932 get h, sym, sec etc. right. */
933 rel--;
934 @@ -10555,20 +10548,18 @@
935 case R_PPC64_GOT_TLSLD16_LO:
936 if (tls_mask != 0 && (tls_mask & TLS_LD) == 0)
937 {
938 - bfd_vma insn1, insn2, insn3;
939 + unsigned int insn1, insn2, insn3;
940 bfd_vma offset;
941
942 tls_ldgd_opt:
943 /* We know that the next reloc is on a tls_get_addr
944 call, since ppc64_elf_tls_optimize checks this. */
945 offset = rel[1].r_offset;
946 - insn1 = bfd_get_32 (output_bfd,
947 - contents + rel->r_offset - d_offset);
948 - insn3 = bfd_get_32 (output_bfd,
949 - contents + offset + 4);
950 if ((tls_mask & tls_gd) != 0)
951 {
952 /* IE */
953 + insn1 = bfd_get_32 (output_bfd,
954 + contents + rel->r_offset - d_offset);
955 insn1 &= (1 << 26) - (1 << 2);
956 insn1 |= 58 << 26; /* ld */
957 insn2 = 0x7c636a14; /* add 3,3,13 */
958 @@ -10603,28 +10594,33 @@
959 rel->r_addend -= (local_syms[r_symndx].st_value
960 + sec->output_offset
961 + sec->output_section->vma);
962 - rel[1].r_addend = rel->r_addend;
963 }
964 else if (toc_symndx != 0)
965 - r_symndx = toc_symndx;
966 + {
967 + r_symndx = toc_symndx;
968 + rel->r_addend = toc_addend;
969 + }
970 r_type = R_PPC64_TPREL16_HA;
971 rel->r_info = ELF64_R_INFO (r_symndx, r_type);
972 rel[1].r_info = ELF64_R_INFO (r_symndx,
973 R_PPC64_TPREL16_LO);
974 rel[1].r_offset += d_offset;
975 + rel[1].r_addend = rel->r_addend;
976 }
977 + bfd_put_32 (output_bfd, insn1,
978 + contents + rel->r_offset - d_offset);
979 + insn3 = bfd_get_32 (output_bfd,
980 + contents + offset + 4);
981 if (insn3 == NOP
982 || insn3 == CROR_151515 || insn3 == CROR_313131)
983 {
984 - insn3 = insn2;
985 - insn2 = NOP;
986 rel[1].r_offset += 4;
987 + bfd_put_32 (output_bfd, insn2, contents + offset + 4);
988 + insn2 = NOP;
989 }
990 - bfd_put_32 (output_bfd, insn1,
991 - contents + rel->r_offset - d_offset);
992 bfd_put_32 (output_bfd, insn2, contents + offset);
993 - bfd_put_32 (output_bfd, insn3, contents + offset + 4);
994 - if (tls_gd == 0 || toc_symndx != 0)
995 + if ((tls_mask & tls_gd) == 0
996 + && (tls_gd == 0 || toc_symndx != 0))
997 {
998 /* We changed the symbol. Start over in order
999 to get h, sym, sec etc. right. */
1000 @@ -11001,7 +10997,8 @@
1001
1002 *offp = off | 1;
1003 if ((info->shared || indx != 0)
1004 - && (h == NULL
1005 + && (offp == &ppc64_tlsld_got (input_bfd)->offset
1006 + || h == NULL
1007 || ELF_ST_VISIBILITY (h->elf.other) == STV_DEFAULT
1008 || h->elf.root.type != bfd_link_hash_undefweak))
1009 {
1010 diff -Naur binutils-2.19.1.orig/bfd/elf.c binutils-2.19.1/bfd/elf.c
1011 --- binutils-2.19.1.orig/bfd/elf.c 2008-12-23 05:54:48.000000000 -0800
1012 +++ binutils-2.19.1/bfd/elf.c 2009-03-02 05:41:07.000000000 -0800
1013 @@ -1608,6 +1608,8 @@
1014
1015 if (hdr->sh_entsize != bed->s->sizeof_sym)
1016 return FALSE;
1017 + if (hdr->sh_info * hdr->sh_entsize > hdr->sh_size)
1018 + return FALSE;
1019 BFD_ASSERT (elf_onesymtab (abfd) == 0);
1020 elf_onesymtab (abfd) = shindex;
1021 elf_tdata (abfd)->symtab_hdr = *hdr;
1022 @@ -1863,14 +1865,8 @@
1023 return TRUE;
1024
1025 case SHT_GROUP:
1026 - /* We need a BFD section for objcopy and relocatable linking,
1027 - and it's handy to have the signature available as the section
1028 - name. */
1029 if (! IS_VALID_GROUP_SECTION_HEADER (hdr))
1030 return FALSE;
1031 - name = group_signature (abfd, hdr);
1032 - if (name == NULL)
1033 - return FALSE;
1034 if (!_bfd_elf_make_section_from_shdr (abfd, hdr, name, shindex))
1035 return FALSE;
1036 if (hdr->contents != NULL)
1037 @@ -2687,13 +2683,15 @@
1038 *failedptr = TRUE;
1039 }
1040
1041 -/* Fill in the contents of a SHT_GROUP section. */
1042 +/* Fill in the contents of a SHT_GROUP section. Called from
1043 + _bfd_elf_compute_section_file_positions for gas, objcopy, and
1044 + when ELF targets use the generic linker, ld. Called for ld -r
1045 + from bfd_elf_final_link. */
1046
1047 void
1048 bfd_elf_set_group_contents (bfd *abfd, asection *sec, void *failedptrarg)
1049 {
1050 bfd_boolean *failedptr = failedptrarg;
1051 - unsigned long symindx;
1052 asection *elt, *first;
1053 unsigned char *loc;
1054 bfd_boolean gas;
1055 @@ -2704,20 +2702,49 @@
1056 || *failedptr)
1057 return;
1058
1059 - symindx = 0;
1060 - if (elf_group_id (sec) != NULL)
1061 - symindx = elf_group_id (sec)->udata.i;
1062 -
1063 - if (symindx == 0)
1064 - {
1065 - /* If called from the assembler, swap_out_syms will have set up
1066 - elf_section_syms; If called for "ld -r", use target_index. */
1067 - if (elf_section_syms (abfd) != NULL)
1068 - symindx = elf_section_syms (abfd)[sec->index]->udata.i;
1069 - else
1070 - symindx = sec->target_index;
1071 + if (elf_section_data (sec)->this_hdr.sh_info == 0)
1072 + {
1073 + unsigned long symindx = 0;
1074 +
1075 + /* elf_group_id will have been set up by objcopy and the
1076 + generic linker. */
1077 + if (elf_group_id (sec) != NULL)
1078 + symindx = elf_group_id (sec)->udata.i;
1079 +
1080 + if (symindx == 0)
1081 + {
1082 + /* If called from the assembler, swap_out_syms will have set up
1083 + elf_section_syms. */
1084 + BFD_ASSERT (elf_section_syms (abfd) != NULL);
1085 + symindx = elf_section_syms (abfd)[sec->index]->udata.i;
1086 + }
1087 + elf_section_data (sec)->this_hdr.sh_info = symindx;
1088 + }
1089 + else if (elf_section_data (sec)->this_hdr.sh_info == (unsigned int) -2)
1090 + {
1091 + /* The ELF backend linker sets sh_info to -2 when the group
1092 + signature symbol is global, and thus the index can't be
1093 + set until all local symbols are output. */
1094 + asection *igroup = elf_sec_group (elf_next_in_group (sec));
1095 + struct bfd_elf_section_data *sec_data = elf_section_data (igroup);
1096 + unsigned long symndx = sec_data->this_hdr.sh_info;
1097 + unsigned long extsymoff = 0;
1098 + struct elf_link_hash_entry *h;
1099 +
1100 + if (!elf_bad_symtab (igroup->owner))
1101 + {
1102 + Elf_Internal_Shdr *symtab_hdr;
1103 +
1104 + symtab_hdr = &elf_tdata (igroup->owner)->symtab_hdr;
1105 + extsymoff = symtab_hdr->sh_info;
1106 + }
1107 + h = elf_sym_hashes (igroup->owner)[symndx - extsymoff];
1108 + while (h->root.type == bfd_link_hash_indirect
1109 + || h->root.type == bfd_link_hash_warning)
1110 + h = (struct elf_link_hash_entry *) h->root.u.i.link;
1111 +
1112 + elf_section_data (sec)->this_hdr.sh_info = h->indx;
1113 }
1114 - elf_section_data (sec)->this_hdr.sh_info = symindx;
1115
1116 /* The contents won't be allocated for "ld -r" or objcopy. */
1117 gas = TRUE;
1118 @@ -4131,6 +4158,7 @@
1119 bfd_size_type maxpagesize;
1120 unsigned int alloc;
1121 unsigned int i, j;
1122 + bfd_vma header_pad = 0;
1123
1124 if (link_info == NULL
1125 && !_bfd_elf_map_sections_to_segments (abfd, link_info))
1126 @@ -4138,7 +4166,11 @@
1127
1128 alloc = 0;
1129 for (m = elf_tdata (abfd)->segment_map; m != NULL; m = m->next)
1130 - ++alloc;
1131 + {
1132 + ++alloc;
1133 + if (m->header_size)
1134 + header_pad = m->header_size;
1135 + }
1136
1137 elf_elfheader (abfd)->e_phoff = bed->s->sizeof_ehdr;
1138 elf_elfheader (abfd)->e_phentsize = bed->s->sizeof_phdr;
1139 @@ -4156,7 +4188,21 @@
1140 return TRUE;
1141 }
1142
1143 - phdrs = bfd_alloc2 (abfd, alloc, sizeof (Elf_Internal_Phdr));
1144 + /* We're writing the size in elf_tdata (abfd)->program_header_size,
1145 + see assign_file_positions_except_relocs, so make sure we have
1146 + that amount allocated, with trailing space cleared.
1147 + The variable alloc contains the computed need, while elf_tdata
1148 + (abfd)->program_header_size contains the size used for the
1149 + layout.
1150 + See ld/emultempl/elf-generic.em:gld${EMULATION_NAME}_map_segments
1151 + where the layout is forced to according to a larger size in the
1152 + last iterations for the testcase ld-elf/header. */
1153 + BFD_ASSERT (elf_tdata (abfd)->program_header_size % bed->s->sizeof_phdr
1154 + == 0);
1155 + phdrs = bfd_zalloc2 (abfd,
1156 + (elf_tdata (abfd)->program_header_size
1157 + / bed->s->sizeof_phdr),
1158 + sizeof (Elf_Internal_Phdr));
1159 elf_tdata (abfd)->phdr = phdrs;
1160 if (phdrs == NULL)
1161 return FALSE;
1162 @@ -4167,6 +4213,11 @@
1163
1164 off = bed->s->sizeof_ehdr;
1165 off += alloc * bed->s->sizeof_phdr;
1166 + if (header_pad < (bfd_vma) off)
1167 + header_pad = 0;
1168 + else
1169 + header_pad -= off;
1170 + off += header_pad;
1171
1172 for (m = elf_tdata (abfd)->segment_map, p = phdrs, j = 0;
1173 m != NULL;
1174 @@ -4354,6 +4405,11 @@
1175
1176 p->p_filesz += alloc * bed->s->sizeof_phdr;
1177 p->p_memsz += alloc * bed->s->sizeof_phdr;
1178 + if (m->count)
1179 + {
1180 + p->p_filesz += header_pad;
1181 + p->p_memsz += header_pad;
1182 + }
1183 }
1184
1185 if (p->p_type == PT_LOAD
1186 @@ -5836,6 +5892,10 @@
1187 phdr_included = TRUE;
1188 }
1189
1190 + if (map->includes_filehdr && first_section)
1191 + /* We need to keep the space used by the headers fixed. */
1192 + map->header_size = first_section->vma - segment->p_vaddr;
1193 +
1194 if (!map->includes_phdrs
1195 && !map->includes_filehdr
1196 && map->p_paddr_valid)
1197 @@ -6004,7 +6064,7 @@
1198 if (elf_section_flags (isec) & SHF_GROUP)
1199 elf_section_flags (osec) |= SHF_GROUP;
1200 elf_next_in_group (osec) = elf_next_in_group (isec);
1201 - elf_group_name (osec) = elf_group_name (isec);
1202 + elf_section_data (osec)->group = elf_section_data (isec)->group;
1203 }
1204 }
1205
1206 diff -Naur binutils-2.19.1.orig/bfd/elf-eh-frame.c binutils-2.19.1/bfd/elf-eh-frame.c
1207 --- binutils-2.19.1.orig/bfd/elf-eh-frame.c 2008-09-17 02:00:44.000000000 -0700
1208 +++ binutils-2.19.1/bfd/elf-eh-frame.c 2009-03-02 05:53:31.000000000 -0800
1209 @@ -549,16 +549,6 @@
1210 < (bfd_size_type) ((buf) - ehbuf))) \
1211 cookie->rel++
1212
1213 -#define REQUIRE_CLEARED_RELOCS(buf) \
1214 - while (cookie->rel < cookie->relend \
1215 - && (cookie->rel->r_offset \
1216 - < (bfd_size_type) ((buf) - ehbuf))) \
1217 - { \
1218 - REQUIRE (cookie->rel->r_info == 0); \
1219 - REQUIRE (cookie->rel->r_addend == 0); \
1220 - cookie->rel++; \
1221 - }
1222 -
1223 #define GET_RELOC(buf) \
1224 ((cookie->rel < cookie->relend \
1225 && (cookie->rel->r_offset \
1226 @@ -817,16 +807,16 @@
1227
1228 buf = last_fde + 4 + hdr_length;
1229
1230 - /* Cleared FDE? The instructions will not be cleared but verify all
1231 - the relocation entries for them are cleared. */
1232 - if (rsec == NULL)
1233 - {
1234 - REQUIRE_CLEARED_RELOCS (buf);
1235 - }
1236 - else
1237 - {
1238 - SKIP_RELOCS (buf);
1239 - }
1240 + /* For NULL RSEC (cleared FDE belonging to a discarded section)
1241 + the relocations are commonly cleared. We do not sanity check if
1242 + all these relocations are cleared as (1) relocations to
1243 + .gcc_except_table will remain uncleared (they will get dropped
1244 + with the drop of this unused FDE) and (2) BFD already safely drops
1245 + relocations of any type to .eh_frame by
1246 + elf_section_ignore_discarded_relocs.
1247 + TODO: The .gcc_except_table entries should be also filtered as
1248 + .eh_frame entries; or GCC could rather use COMDAT for them. */
1249 + SKIP_RELOCS (buf);
1250 }
1251
1252 /* Try to interpret the CFA instructions and find the first
1253 diff -Naur binutils-2.19.1.orig/bfd/elflink.c binutils-2.19.1/bfd/elflink.c
1254 --- binutils-2.19.1.orig/bfd/elflink.c 2008-08-22 01:32:39.000000000 -0700
1255 +++ binutils-2.19.1/bfd/elflink.c 2009-03-02 05:48:42.000000000 -0800
1256 @@ -9046,6 +9046,63 @@
1257 continue;
1258 }
1259
1260 + if (finfo->info->relocatable
1261 + && (o->flags & (SEC_LINKER_CREATED | SEC_GROUP)) == SEC_GROUP)
1262 + {
1263 + /* Deal with the group signature symbol. */
1264 + struct bfd_elf_section_data *sec_data = elf_section_data (o);
1265 + unsigned long symndx = sec_data->this_hdr.sh_info;
1266 + asection *osec = o->output_section;
1267 +
1268 + if (symndx >= locsymcount
1269 + || (elf_bad_symtab (input_bfd)
1270 + && finfo->sections[symndx] == NULL))
1271 + {
1272 + struct elf_link_hash_entry *h = sym_hashes[symndx - extsymoff];
1273 + while (h->root.type == bfd_link_hash_indirect
1274 + || h->root.type == bfd_link_hash_warning)
1275 + h = (struct elf_link_hash_entry *) h->root.u.i.link;
1276 + /* Arrange for symbol to be output. */
1277 + h->indx = -2;
1278 + elf_section_data (osec)->this_hdr.sh_info = -2;
1279 + }
1280 + else if (ELF_ST_TYPE (isymbuf[symndx].st_info) == STT_SECTION)
1281 + {
1282 + /* We'll use the output section target_index. */
1283 + asection *sec = finfo->sections[symndx]->output_section;
1284 + elf_section_data (osec)->this_hdr.sh_info = sec->target_index;
1285 + }
1286 + else
1287 + {
1288 + if (finfo->indices[symndx] == -1)
1289 + {
1290 + /* Otherwise output the local symbol now. */
1291 + Elf_Internal_Sym sym = isymbuf[symndx];
1292 + asection *sec = finfo->sections[symndx]->output_section;
1293 + const char *name;
1294 +
1295 + name = bfd_elf_string_from_elf_section (input_bfd,
1296 + symtab_hdr->sh_link,
1297 + sym.st_name);
1298 + if (name == NULL)
1299 + return FALSE;
1300 +
1301 + sym.st_shndx = _bfd_elf_section_from_bfd_section (output_bfd,
1302 + sec);
1303 + if (sym.st_shndx == SHN_BAD)
1304 + return FALSE;
1305 +
1306 + sym.st_value += o->output_offset;
1307 +
1308 + finfo->indices[symndx] = bfd_get_symcount (output_bfd);
1309 + if (! elf_link_output_sym (finfo, name, &sym, o, NULL))
1310 + return FALSE;
1311 + }
1312 + elf_section_data (osec)->this_hdr.sh_info
1313 + = finfo->indices[symndx];
1314 + }
1315 + }
1316 +
1317 if ((o->flags & SEC_HAS_CONTENTS) == 0
1318 || (o->size == 0 && (o->flags & SEC_RELOC) == 0))
1319 continue;
1320 @@ -11982,8 +12039,21 @@
1321 return ret;
1322 }
1323
1324 +/* For a SHT_GROUP section, return the group signature. For other
1325 + sections, return the normal section name. */
1326 +
1327 +static const char *
1328 +section_signature (asection *sec)
1329 +{
1330 + if ((sec->flags & SEC_GROUP) != 0
1331 + && elf_next_in_group (sec) != NULL
1332 + && elf_group_name (elf_next_in_group (sec)) != NULL)
1333 + return elf_group_name (elf_next_in_group (sec));
1334 + return sec->name;
1335 +}
1336 +
1337 void
1338 -_bfd_elf_section_already_linked (bfd *abfd, struct bfd_section *sec,
1339 +_bfd_elf_section_already_linked (bfd *abfd, asection *sec,
1340 struct bfd_link_info *info)
1341 {
1342 flagword flags;
1343 @@ -12023,7 +12093,7 @@
1344 causes trouble for MIPS ELF, which relies on link once semantics
1345 to handle the .reginfo section correctly. */
1346
1347 - name = bfd_get_section_name (abfd, sec);
1348 + name = section_signature (sec);
1349
1350 if (CONST_STRNEQ (name, ".gnu.linkonce.")
1351 && (p = strchr (name + sizeof (".gnu.linkonce.") - 1, '.')) != NULL)
1352 @@ -12038,7 +12108,7 @@
1353 /* We may have 2 different types of sections on the list: group
1354 sections and linkonce sections. Match like sections. */
1355 if ((flags & SEC_GROUP) == (l->sec->flags & SEC_GROUP)
1356 - && strcmp (name, l->sec->name) == 0
1357 + && strcmp (name, section_signature (l->sec)) == 0
1358 && bfd_coff_get_comdat_section (l->sec->owner, l->sec) == NULL)
1359 {
1360 /* The section has already been linked. See if we should
1361 @@ -12161,6 +12231,28 @@
1362 }
1363 }
1364
1365 + /* Do not complain on unresolved relocations in `.gnu.linkonce.r.F'
1366 + referencing its discarded `.gnu.linkonce.t.F' counterpart - g++-3.4
1367 + specific as g++-4.x is using COMDAT groups (without the `.gnu.linkonce'
1368 + prefix) instead. `.gnu.linkonce.r.*' were the `.rodata' part of its
1369 + matching `.gnu.linkonce.t.*'. If `.gnu.linkonce.r.F' is not discarded
1370 + but its `.gnu.linkonce.t.F' is discarded means we chose one-only
1371 + `.gnu.linkonce.t.F' section from a different bfd not requiring any
1372 + `.gnu.linkonce.r.F'. Thus `.gnu.linkonce.r.F' should be discarded.
1373 + The reverse order cannot happen as there is never a bfd with only the
1374 + `.gnu.linkonce.r.F' section. The order of sections in a bfd does not
1375 + matter as here were are looking only for cross-bfd sections. */
1376 +
1377 + if ((flags & SEC_GROUP) == 0 && CONST_STRNEQ (name, ".gnu.linkonce.r."))
1378 + for (l = already_linked_list->entry; l != NULL; l = l->next)
1379 + if ((l->sec->flags & SEC_GROUP) == 0
1380 + && CONST_STRNEQ (l->sec->name, ".gnu.linkonce.t."))
1381 + {
1382 + if (abfd != l->sec->owner)
1383 + sec->output_section = bfd_abs_section_ptr;
1384 + break;
1385 + }
1386 +
1387 /* This is the first section with this name. Record it. */
1388 if (! bfd_section_already_linked_table_insert (already_linked_list, sec))
1389 info->callbacks->einfo (_("%F%P: already_linked_table: %E"));
1390 diff -Naur binutils-2.19.1.orig/bfd/linker.c binutils-2.19.1/bfd/linker.c
1391 --- binutils-2.19.1.orig/bfd/linker.c 2008-08-16 20:12:49.000000000 -0700
1392 +++ binutils-2.19.1/bfd/linker.c 2009-03-02 05:32:54.000000000 -0800
1393 @@ -2796,18 +2796,36 @@
1394 }
1395 }
1396
1397 - /* Get and relocate the section contents. */
1398 - sec_size = (input_section->rawsize > input_section->size
1399 - ? input_section->rawsize
1400 - : input_section->size);
1401 - contents = bfd_malloc (sec_size);
1402 - if (contents == NULL && sec_size != 0)
1403 - goto error_return;
1404 - new_contents = (bfd_get_relocated_section_contents
1405 - (output_bfd, info, link_order, contents, info->relocatable,
1406 - _bfd_generic_link_get_symbols (input_bfd)));
1407 - if (!new_contents)
1408 - goto error_return;
1409 + if ((output_section->flags & (SEC_GROUP | SEC_LINKER_CREATED)) == SEC_GROUP
1410 + && input_section->size != 0)
1411 + {
1412 + /* Group section contents are set by bfd_elf_set_group_contents. */
1413 + if (!output_bfd->output_has_begun)
1414 + {
1415 + /* FIXME: This hack ensures bfd_elf_set_group_contents is called. */
1416 + if (!bfd_set_section_contents (output_bfd, output_section, "", 0, 1))
1417 + goto error_return;
1418 + }
1419 + new_contents = output_section->contents;
1420 + BFD_ASSERT (new_contents != NULL);
1421 + BFD_ASSERT (input_section->output_offset == 0);
1422 + }
1423 + else
1424 + {
1425 + /* Get and relocate the section contents. */
1426 + sec_size = (input_section->rawsize > input_section->size
1427 + ? input_section->rawsize
1428 + : input_section->size);
1429 + contents = bfd_malloc (sec_size);
1430 + if (contents == NULL && sec_size != 0)
1431 + goto error_return;
1432 + new_contents = (bfd_get_relocated_section_contents
1433 + (output_bfd, info, link_order, contents,
1434 + info->relocatable,
1435 + _bfd_generic_link_get_symbols (input_bfd)));
1436 + if (!new_contents)
1437 + goto error_return;
1438 + }
1439
1440 /* Output the section contents. */
1441 loc = input_section->output_offset * bfd_octets_per_byte (output_bfd);
1442 diff -Naur binutils-2.19.1.orig/bfd/Makefile.in binutils-2.19.1/bfd/Makefile.in
1443 --- binutils-2.19.1.orig/bfd/Makefile.in 2009-02-02 02:44:39.000000000 -0800
1444 +++ binutils-2.19.1/bfd/Makefile.in 2009-07-07 08:52:14.000000000 -0700
1445 @@ -190,7 +190,7 @@
1446 PACKAGE_TARNAME = @PACKAGE_TARNAME@
1447 PACKAGE_VERSION = @PACKAGE_VERSION@
1448 PATH_SEPARATOR = @PATH_SEPARATOR@
1449 -PKGVERSION = @PKGVERSION@
1450 +PKGVERSION = (GNU Binutils for Cross-LFS - Retrieved on 20090707)
1451 POSUB = @POSUB@
1452 RANLIB = @RANLIB@
1453 REPORT_BUGS_TEXI = @REPORT_BUGS_TEXI@
1454 @@ -271,7 +271,7 @@
1455 ACLOCAL_AMFLAGS = -I . -I .. -I ../config
1456
1457 # Uncomment the following line when doing a release.
1458 -RELEASE = y
1459 +RELEASE=y
1460 INCDIR = $(srcdir)/../include
1461 CSEARCH = -I. -I$(srcdir) -I$(INCDIR)
1462 MKDEP = gcc -MM
1463 diff -Naur binutils-2.19.1.orig/bfd/syms.c binutils-2.19.1/bfd/syms.c
1464 --- binutils-2.19.1.orig/bfd/syms.c 2008-06-30 13:51:58.000000000 -0700
1465 +++ binutils-2.19.1/bfd/syms.c 2009-03-02 05:49:22.000000000 -0800
1466 @@ -1,6 +1,6 @@
1467 /* Generic symbol-table support for the BFD library.
1468 Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
1469 - 2000, 2001, 2002, 2003, 2004, 2007
1470 + 2000, 2001, 2002, 2003, 2004, 2007, 2008, 2009
1471 Free Software Foundation, Inc.
1472 Written by Cygnus Support.
1473
1474 @@ -1379,10 +1379,11 @@
1475 {
1476 size_t len;
1477
1478 - if (info->filename != NULL)
1479 - free (info->filename);
1480 + /* Don't free info->filename here. objdump and other
1481 + apps keep a copy of a previously returned file name
1482 + pointer. */
1483 len = strlen (file_name) + 1;
1484 - info->filename = bfd_malloc (dirlen + len);
1485 + info->filename = bfd_alloc (abfd, dirlen + len);
1486 if (info->filename == NULL)
1487 return FALSE;
1488 memcpy (info->filename, directory_name, dirlen);
1489 diff -Naur binutils-2.19.1.orig/bfd/version.h binutils-2.19.1/bfd/version.h
1490 --- binutils-2.19.1.orig/bfd/version.h 2009-02-02 02:09:26.000000000 -0800
1491 +++ binutils-2.19.1/bfd/version.h 2009-07-06 17:00:10.000000000 -0700
1492 @@ -1,4 +1,4 @@
1493 -#define BFD_VERSION_DATE 20090202
1494 +#define BFD_VERSION_DATE 20090707
1495 #define BFD_VERSION @bfd_version@
1496 #define BFD_VERSION_STRING @bfd_version_package@ @bfd_version_string@
1497 #define REPORT_BUGS_TO @report_bugs_to@
1498 diff -Naur binutils-2.19.1.orig/binutils/ChangeLog binutils-2.19.1/binutils/ChangeLog
1499 --- binutils-2.19.1.orig/binutils/ChangeLog 2008-12-23 05:54:49.000000000 -0800
1500 +++ binutils-2.19.1/binutils/ChangeLog 2009-03-02 05:43:13.000000000 -0800
1501 @@ -1,3 +1,16 @@
1502 +2009-03-02 Alan Modra <amodra@bigpond.net.au>
1503 +
1504 + 2008-12-04 Ben Elliston <bje@au.ibm.com>
1505 + * doc/binutils.texi (objdump): Update booke documentation.
1506 + * NEWS: Document user-visible changes to command line options.
1507 +
1508 + 2008-10-10 Nathan Froyd <froydnj@codesourcery.com>
1509 + * readelf.c (display_power_gnu_attribute): Decode
1510 + Tag_GNU_Power_ABI_Struct_Return.
1511 +
1512 + 2008-09-28 Alan Modra <amodra@bigpond.net.au>
1513 + * objcopy.c (setup_section): Set elf_group_id.
1514 +
1515 2008-12-23 Nick Clifton <nickc@redhat.com>
1516
1517 * windmc.c (main): Use correct type for file length.
1518 diff -Naur binutils-2.19.1.orig/binutils/doc/binutils.texi binutils-2.19.1/binutils/doc/binutils.texi
1519 --- binutils-2.19.1.orig/binutils/doc/binutils.texi 2008-08-05 17:42:17.000000000 -0700
1520 +++ binutils-2.19.1/binutils/doc/binutils.texi 2009-03-02 05:43:13.000000000 -0800
1521 @@ -1843,12 +1843,12 @@
1522 instructs the disassembler to print a mnemonic suffix even when the
1523 suffix could be inferred by the operands.
1524
1525 -For PPC, @option{booke}, @option{booke32} and @option{booke64} select
1526 -disassembly of BookE instructions. @option{32} and @option{64} select
1527 -PowerPC and PowerPC64 disassembly, respectively. @option{e300}
1528 -selects disassembly for the e300 family. @option{440} selects
1529 -disassembly for the PowerPC 440. @option{ppcps} selects disassembly
1530 -for the paired single instructions of the PPC750CL.
1531 +For PowerPC, @option{booke} controls the disassembly of BookE
1532 +instructions. @option{32} and @option{64} select PowerPC and
1533 +PowerPC64 disassembly, respectively. @option{e300} selects
1534 +disassembly for the e300 family. @option{440} selects disassembly for
1535 +the PowerPC 440. @option{ppcps} selects disassembly for the paired
1536 +single instructions of the PPC750CL.
1537
1538 For MIPS, this option controls the printing of instruction mnemonic
1539 names and register names in disassembled instructions. Multiple
1540 diff -Naur binutils-2.19.1.orig/binutils/NEWS binutils-2.19.1/binutils/NEWS
1541 --- binutils-2.19.1.orig/binutils/NEWS 2008-09-08 01:56:56.000000000 -0700
1542 +++ binutils-2.19.1/binutils/NEWS 2009-03-02 05:43:13.000000000 -0800
1543 @@ -1,5 +1,9 @@
1544 -*- text -*-
1545
1546 +* Support for PowerPC booke64 instructions has been removed. The assembler no
1547 + longer accepts -mbooke32 or -mbooke64 and the disassembler no longer accepts
1548 + -Mbooke32 or -Mbooke64. Instead, -mbooke and -Mbooke should be used.
1549 +
1550 Changes in 2.19:
1551
1552 * Added -wL switch to dump decoded contents of .debug_line.
1553 diff -Naur binutils-2.19.1.orig/binutils/objcopy.c binutils-2.19.1/binutils/objcopy.c
1554 --- binutils-2.19.1.orig/binutils/objcopy.c 2008-08-05 17:42:17.000000000 -0700
1555 +++ binutils-2.19.1/binutils/objcopy.c 2009-03-02 05:31:14.000000000 -0800
1556 @@ -2344,6 +2344,18 @@
1557 if (extract_symbol)
1558 return;
1559
1560 + if ((isection->flags & SEC_GROUP) != 0)
1561 + {
1562 + asymbol *gsym = group_signature (isection);
1563 +
1564 + if (gsym != NULL)
1565 + {
1566 + gsym->flags |= BSF_KEEP;
1567 + if (ibfd->xvec->flavour == bfd_target_elf_flavour)
1568 + elf_group_id (isection) = gsym;
1569 + }
1570 + }
1571 +
1572 /* Allow the BFD backend to copy any private data it understands
1573 from the input section to the output section. */
1574 if (!bfd_copy_private_section_data (ibfd, isection, obfd, osection))
1575 @@ -2351,13 +2363,6 @@
1576 err = _("failed to copy private data");
1577 goto loser;
1578 }
1579 - else if ((isection->flags & SEC_GROUP) != 0)
1580 - {
1581 - asymbol *gsym = group_signature (isection);
1582 -
1583 - if (gsym != NULL)
1584 - gsym->flags |= BSF_KEEP;
1585 - }
1586
1587 /* All went well. */
1588 return;
1589 diff -Naur binutils-2.19.1.orig/binutils/readelf.c binutils-2.19.1/binutils/readelf.c
1590 --- binutils-2.19.1.orig/binutils/readelf.c 2008-09-17 02:00:44.000000000 -0700
1591 +++ binutils-2.19.1/binutils/readelf.c 2009-03-02 05:35:24.000000000 -0800
1592 @@ -9062,6 +9062,29 @@
1593 return p;
1594 }
1595
1596 + if (tag == Tag_GNU_Power_ABI_Struct_Return)
1597 + {
1598 + val = read_uleb128 (p, &len);
1599 + p += len;
1600 + printf (" Tag_GNU_Power_ABI_Struct_Return: ");
1601 + switch (val)
1602 + {
1603 + case 0:
1604 + printf ("Any\n");
1605 + break;
1606 + case 1:
1607 + printf ("r3/r4\n");
1608 + break;
1609 + case 2:
1610 + printf ("Memory\n");
1611 + break;
1612 + default:
1613 + printf ("??? (%d)\n", val);
1614 + break;
1615 + }
1616 + return p;
1617 + }
1618 +
1619 if (tag & 1)
1620 type = 1; /* String. */
1621 else
1622 diff -Naur binutils-2.19.1.orig/configure.ac binutils-2.19.1/configure.ac
1623 --- binutils-2.19.1.orig/configure.ac 2009-02-02 03:54:49.000000000 -0800
1624 +++ binutils-2.19.1/configure.ac 2008-09-03 19:18:16.000000000 -0700
1625 @@ -166,7 +166,7 @@
1626 # binutils, gas and ld appear in that order because it makes sense to run
1627 # "make check" in that particular order.
1628 # If --enable-gold is used, "gold" will replace "ld".
1629 -host_tools="byacc flex bison binutils gas ld fixincludes gcc sid sim gdb make patch prms send-pr gprof etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool diff rcs fileutils shellutils time textutils wdiff find uudecode hello tar gzip indent recode release sed utils guile perl gawk findutils gettext zip fastjar gnattools"
1630 +host_tools="texinfo byacc flex bison binutils gas ld fixincludes gcc sid sim gdb make patch prms send-pr gprof etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool diff rcs fileutils shellutils time textutils wdiff find uudecode hello tar gzip indent recode release sed utils guile perl gawk findutils gettext zip fastjar gnattools"
1631
1632 # libgcj represents the runtime libraries only used by gcj.
1633 libgcj="target-libffi \
1634 diff -Naur binutils-2.19.1.orig/gas/ChangeLog binutils-2.19.1/gas/ChangeLog
1635 --- binutils-2.19.1.orig/gas/ChangeLog 2009-01-14 00:51:14.000000000 -0800
1636 +++ binutils-2.19.1/gas/ChangeLog 2009-04-01 08:47:36.000000000 -0700
1637 @@ -1,3 +1,39 @@
1638 +2009-04-01 Nick Clifton <nickc@redhat.com>
1639 +
1640 + * Import this patch:
1641 +
1642 + 2008-11-14 Peter Jansen <pwjansen@yahoo.com>
1643 +
1644 + PR 7026
1645 + * config/tc-arm.c: Ensure that all uses of as_bad have a
1646 + formatting string.
1647 +
1648 +2009-03-04 Alan Modra <amodra@bigpond.net.au>
1649 +
1650 + * config/tc-ppc.c (md_assemble): APUinfo only for e500.
1651 +
1652 +2009-03-02 Alan Modra <amodra@bigpond.net.au>
1653 +
1654 + 2009-02-26 Peter Bergner <bergner@vnet.ibm.com>
1655 + * config/tc-ppc.c (pre_defined_registers): Add "f32" to "f63",
1656 + "f.32" to "f.63", "vs0" to "vs63" and "vs.0" to "vs.63".
1657 + (parse_cpu): Extend -mpower7 to accept power7 and isel instructions.
1658 +
1659 + 2009-01-09 Peter Bergner <bergner@vnet.ibm.com>
1660 + * config/tc-ppc.c (ppc_setup_opcodes): Remove PPC_OPCODE_NOPOWER4 test.
1661 + Test the new "deprecated" opcode field.
1662 +
1663 + 2008-12-04 Ben Elliston <bje@au.ibm.com>
1664 + * config/tc-ppc.c (parse_cpu): Remove booke64 support. Update
1665 + usage strings.
1666 + (ppc_setup_opcodes): Likewise, remove booke64 support.
1667 + * doc/c-ppc.texi (PowerPC-Opts): Remove -mbooke32 and -mbooke64.
1668 + * doc/as.texinfo (Overview): Likewise.
1669 +
1670 + 2008-09-09 Peter Bergner <bergner@vnet.ibm.com>
1671 + * config/tc-ppc.c (ppc_setup_opcodes): Simplify POWER4/NOPOWER4 test.
1672 + Remove POWER5 and POWER6 tests.
1673 +
1674 2009-01-14 Jakub Jelinek <jakub@redhat.com>
1675
1676 * Makefile.am (ehopt.o): Add struc-symbol.h.
1677 @@ -132,7 +168,7 @@
1678 targets.
1679 * doc/c-i386.texi (i386-Directives): New node. Used to document
1680 the .lcomm directive.
1681 -
1682 +
1683 2008-08-30 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1684
1685 * config/tc-hppa.h: Don't define DWARF2_EH_FRAME_READ_ONLY on Linux
1686 diff -Naur binutils-2.19.1.orig/gas/config/tc-arm.c binutils-2.19.1/gas/config/tc-arm.c
1687 --- binutils-2.19.1.orig/gas/config/tc-arm.c 2008-08-12 16:39:30.000000000 -0700
1688 +++ binutils-2.19.1/gas/config/tc-arm.c 2009-04-01 08:47:37.000000000 -0700
1689 @@ -3456,7 +3456,7 @@
1690
1691 if (reg == FAIL)
1692 {
1693 - as_bad (_(reg_expected_msgs[REG_TYPE_MMXWR]));
1694 + as_bad ("%s", _(reg_expected_msgs[REG_TYPE_MMXWR]));
1695 goto error;
1696 }
1697
1698 @@ -3470,7 +3470,7 @@
1699 hi_reg = arm_reg_parse (&input_line_pointer, REG_TYPE_MMXWR);
1700 if (hi_reg == FAIL)
1701 {
1702 - as_bad (_(reg_expected_msgs[REG_TYPE_MMXWR]));
1703 + as_bad ("%s", _(reg_expected_msgs[REG_TYPE_MMXWR]));
1704 goto error;
1705 }
1706 else if (reg >= hi_reg)
1707 @@ -3588,7 +3588,7 @@
1708
1709 if (reg == FAIL)
1710 {
1711 - as_bad (_(reg_expected_msgs[REG_TYPE_MMXWCG]));
1712 + as_bad ("%s", _(reg_expected_msgs[REG_TYPE_MMXWCG]));
1713 goto error;
1714 }
1715
1716 @@ -3603,7 +3603,7 @@
1717 hi_reg = arm_reg_parse (&input_line_pointer, REG_TYPE_MMXWCG);
1718 if (hi_reg == FAIL)
1719 {
1720 - as_bad (_(reg_expected_msgs[REG_TYPE_MMXWCG]));
1721 + as_bad ("%s", _(reg_expected_msgs[REG_TYPE_MMXWCG]));
1722 goto error;
1723 }
1724 else if (reg >= hi_reg)
1725 @@ -3709,7 +3709,7 @@
1726 reg = arm_reg_parse (&input_line_pointer, REG_TYPE_RN);
1727 if (reg == FAIL)
1728 {
1729 - as_bad (_(reg_expected_msgs[REG_TYPE_RN]));
1730 + as_bad ("%s", _(reg_expected_msgs[REG_TYPE_RN]));
1731 ignore_rest_of_line ();
1732 return;
1733 }
1734 diff -Naur binutils-2.19.1.orig/gas/config/tc-ppc.c binutils-2.19.1/gas/config/tc-ppc.c
1735 --- binutils-2.19.1.orig/gas/config/tc-ppc.c 2008-08-01 21:38:50.000000000 -0700
1736 +++ binutils-2.19.1/gas/config/tc-ppc.c 2009-03-03 15:16:02.000000000 -0800
1737 @@ -1,6 +1,6 @@
1738 /* tc-ppc.c -- Assemble for the PowerPC or POWER (RS/6000)
1739 Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
1740 - 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
1741 + 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
1742 Written by Ian Lance Taylor, Cygnus Support.
1743
1744 This file is part of GAS, the GNU Assembler.
1745 @@ -358,9 +358,42 @@
1746 { "f.3", 3 },
1747 { "f.30", 30 },
1748 { "f.31", 31 },
1749 +
1750 + { "f.32", 32 }, /* Extended floating point scalar registers (ISA 2.06). */
1751 + { "f.33", 33 },
1752 + { "f.34", 34 },
1753 + { "f.35", 35 },
1754 + { "f.36", 36 },
1755 + { "f.37", 37 },
1756 + { "f.38", 38 },
1757 + { "f.39", 39 },
1758 { "f.4", 4 },
1759 + { "f.40", 40 },
1760 + { "f.41", 41 },
1761 + { "f.42", 42 },
1762 + { "f.43", 43 },
1763 + { "f.44", 44 },
1764 + { "f.45", 45 },
1765 + { "f.46", 46 },
1766 + { "f.47", 47 },
1767 + { "f.48", 48 },
1768 + { "f.49", 49 },
1769 { "f.5", 5 },
1770 + { "f.50", 50 },
1771 + { "f.51", 51 },
1772 + { "f.52", 52 },
1773 + { "f.53", 53 },
1774 + { "f.54", 54 },
1775 + { "f.55", 55 },
1776 + { "f.56", 56 },
1777 + { "f.57", 57 },
1778 + { "f.58", 58 },
1779 + { "f.59", 59 },
1780 { "f.6", 6 },
1781 + { "f.60", 60 },
1782 + { "f.61", 61 },
1783 + { "f.62", 62 },
1784 + { "f.63", 63 },
1785 { "f.7", 7 },
1786 { "f.8", 8 },
1787 { "f.9", 9 },
1788 @@ -391,9 +424,42 @@
1789 { "f3", 3 },
1790 { "f30", 30 },
1791 { "f31", 31 },
1792 +
1793 + { "f32", 32 }, /* Extended floating point scalar registers (ISA 2.06). */
1794 + { "f33", 33 },
1795 + { "f34", 34 },
1796 + { "f35", 35 },
1797 + { "f36", 36 },
1798 + { "f37", 37 },
1799 + { "f38", 38 },
1800 + { "f39", 39 },
1801 { "f4", 4 },
1802 + { "f40", 40 },
1803 + { "f41", 41 },
1804 + { "f42", 42 },
1805 + { "f43", 43 },
1806 + { "f44", 44 },
1807 + { "f45", 45 },
1808 + { "f46", 46 },
1809 + { "f47", 47 },
1810 + { "f48", 48 },
1811 + { "f49", 49 },
1812 { "f5", 5 },
1813 + { "f50", 50 },
1814 + { "f51", 51 },
1815 + { "f52", 52 },
1816 + { "f53", 53 },
1817 + { "f54", 54 },
1818 + { "f55", 55 },
1819 + { "f56", 56 },
1820 + { "f57", 57 },
1821 + { "f58", 58 },
1822 + { "f59", 59 },
1823 { "f6", 6 },
1824 + { "f60", 60 },
1825 + { "f61", 61 },
1826 + { "f62", 62 },
1827 + { "f63", 63 },
1828 { "f7", 7 },
1829 { "f8", 8 },
1830 { "f9", 9 },
1831 @@ -501,7 +567,7 @@
1832 { "srr0", 26 }, /* Machine Status Save/Restore Register 0 */
1833 { "srr1", 27 }, /* Machine Status Save/Restore Register 1 */
1834
1835 - { "v.0", 0 }, /* Vector registers */
1836 + { "v.0", 0 }, /* Vector (Altivec/VMX) registers */
1837 { "v.1", 1 },
1838 { "v.10", 10 },
1839 { "v.11", 11 },
1840 @@ -567,6 +633,136 @@
1841 { "v8", 8 },
1842 { "v9", 9 },
1843
1844 + { "vs.0", 0 }, /* Vector Scalar (VSX) registers (ISA 2.06). */
1845 + { "vs.1", 1 },
1846 + { "vs.10", 10 },
1847 + { "vs.11", 11 },
1848 + { "vs.12", 12 },
1849 + { "vs.13", 13 },
1850 + { "vs.14", 14 },
1851 + { "vs.15", 15 },
1852 + { "vs.16", 16 },
1853 + { "vs.17", 17 },
1854 + { "vs.18", 18 },
1855 + { "vs.19", 19 },
1856 + { "vs.2", 2 },
1857 + { "vs.20", 20 },
1858 + { "vs.21", 21 },
1859 + { "vs.22", 22 },
1860 + { "vs.23", 23 },
1861 + { "vs.24", 24 },
1862 + { "vs.25", 25 },
1863 + { "vs.26", 26 },
1864 + { "vs.27", 27 },
1865 + { "vs.28", 28 },
1866 + { "vs.29", 29 },
1867 + { "vs.3", 3 },
1868 + { "vs.30", 30 },
1869 + { "vs.31", 31 },
1870 + { "vs.32", 32 },
1871 + { "vs.33", 33 },
1872 + { "vs.34", 34 },
1873 + { "vs.35", 35 },
1874 + { "vs.36", 36 },
1875 + { "vs.37", 37 },
1876 + { "vs.38", 38 },
1877 + { "vs.39", 39 },
1878 + { "vs.4", 4 },
1879 + { "vs.40", 40 },
1880 + { "vs.41", 41 },
1881 + { "vs.42", 42 },
1882 + { "vs.43", 43 },
1883 + { "vs.44", 44 },
1884 + { "vs.45", 45 },
1885 + { "vs.46", 46 },
1886 + { "vs.47", 47 },
1887 + { "vs.48", 48 },
1888 + { "vs.49", 49 },
1889 + { "vs.5", 5 },
1890 + { "vs.50", 50 },
1891 + { "vs.51", 51 },
1892 + { "vs.52", 52 },
1893 + { "vs.53", 53 },
1894 + { "vs.54", 54 },
1895 + { "vs.55", 55 },
1896 + { "vs.56", 56 },
1897 + { "vs.57", 57 },
1898 + { "vs.58", 58 },
1899 + { "vs.59", 59 },
1900 + { "vs.6", 6 },
1901 + { "vs.60", 60 },
1902 + { "vs.61", 61 },
1903 + { "vs.62", 62 },
1904 + { "vs.63", 63 },
1905 + { "vs.7", 7 },
1906 + { "vs.8", 8 },
1907 + { "vs.9", 9 },
1908 +
1909 + { "vs0", 0 },
1910 + { "vs1", 1 },
1911 + { "vs10", 10 },
1912 + { "vs11", 11 },
1913 + { "vs12", 12 },
1914 + { "vs13", 13 },
1915 + { "vs14", 14 },
1916 + { "vs15", 15 },
1917 + { "vs16", 16 },
1918 + { "vs17", 17 },
1919 + { "vs18", 18 },
1920 + { "vs19", 19 },
1921 + { "vs2", 2 },
1922 + { "vs20", 20 },
1923 + { "vs21", 21 },
1924 + { "vs22", 22 },
1925 + { "vs23", 23 },
1926 + { "vs24", 24 },
1927 + { "vs25", 25 },
1928 + { "vs26", 26 },
1929 + { "vs27", 27 },
1930 + { "vs28", 28 },
1931 + { "vs29", 29 },
1932 + { "vs3", 3 },
1933 + { "vs30", 30 },
1934 + { "vs31", 31 },
1935 + { "vs32", 32 },
1936 + { "vs33", 33 },
1937 + { "vs34", 34 },
1938 + { "vs35", 35 },
1939 + { "vs36", 36 },
1940 + { "vs37", 37 },
1941 + { "vs38", 38 },
1942 + { "vs39", 39 },
1943 + { "vs4", 4 },
1944 + { "vs40", 40 },
1945 + { "vs41", 41 },
1946 + { "vs42", 42 },
1947 + { "vs43", 43 },
1948 + { "vs44", 44 },
1949 + { "vs45", 45 },
1950 + { "vs46", 46 },
1951 + { "vs47", 47 },
1952 + { "vs48", 48 },
1953 + { "vs49", 49 },
1954 + { "vs5", 5 },
1955 + { "vs50", 50 },
1956 + { "vs51", 51 },
1957 + { "vs52", 52 },
1958 + { "vs53", 53 },
1959 + { "vs54", 54 },
1960 + { "vs55", 55 },
1961 + { "vs56", 56 },
1962 + { "vs57", 57 },
1963 + { "vs58", 58 },
1964 + { "vs59", 59 },
1965 + { "vs6", 6 },
1966 + { "vs60", 60 },
1967 + { "vs61", 61 },
1968 + { "vs62", 62 },
1969 + { "vs63", 63 },
1970 + { "vs7", 7 },
1971 + { "vs8", 8 },
1972 + { "vs9", 9 },
1973 +
1974 { "xer", 1 },
1975
1976 };
1977 @@ -919,12 +1115,6 @@
1978 {
1979 ppc_cpu = PPC_OPCODE_PPC | PPC_OPCODE_BOOKE | PPC_OPCODE_32;
1980 }
1981 - /* -mbooke64 means enable 64-bit BookE support. */
1982 - else if (strcmp (arg, "booke64") == 0)
1983 - {
1984 - ppc_cpu = (PPC_OPCODE_PPC | PPC_OPCODE_BOOKE
1985 - | PPC_OPCODE_BOOKE64 | PPC_OPCODE_64);
1986 - }
1987 else if (strcmp (arg, "power4") == 0)
1988 {
1989 ppc_cpu = (PPC_OPCODE_PPC | PPC_OPCODE_CLASSIC
1990 @@ -946,8 +1136,9 @@
1991 else if (strcmp (arg, "power7") == 0)
1992 {
1993 ppc_cpu = (PPC_OPCODE_PPC | PPC_OPCODE_CLASSIC
1994 - | PPC_OPCODE_64 | PPC_OPCODE_POWER4
1995 - | PPC_OPCODE_POWER5 | PPC_OPCODE_POWER6
1996 + | PPC_OPCODE_ISEL | PPC_OPCODE_64
1997 + | PPC_OPCODE_POWER4 | PPC_OPCODE_POWER5
1998 + | PPC_OPCODE_POWER6 | PPC_OPCODE_POWER7
1999 | PPC_OPCODE_ALTIVEC | PPC_OPCODE_VSX);
2000 }
2001 else if (strcmp (arg, "cell") == 0)
2002 @@ -1149,8 +1340,7 @@
2003 fprintf (stream, _("\
2004 -mppc64, -m620 generate code for PowerPC 620/625/630\n\
2005 -mppc64bridge generate code for PowerPC 64, including bridge insns\n\
2006 --mbooke64 generate code for 64-bit PowerPC BookE\n\
2007 --mbooke, mbooke32 generate code for 32-bit PowerPC BookE\n\
2008 +-mbooke generate code for 32-bit PowerPC BookE\n\
2009 -mpower4 generate code for Power4 architecture\n\
2010 -mpower5 generate code for Power5 architecture\n\
2011 -mpower6 generate code for Power6 architecture\n\
2012 @@ -1359,8 +1549,7 @@
2013
2014 There are also cases where the table needs to be out
2015 of order to disassemble the correct instruction for
2016 - processor variants. eg. "lhae" booke64 insn must be
2017 - found before "ld" ppc64 insn. */
2018 + processor variants. */
2019 else if (0)
2020 {
2021 unsigned long t1 = op[0].opcode;
2022 @@ -1420,23 +1609,7 @@
2023 || ((op->flags & (PPC_OPCODE_32 | PPC_OPCODE_64))
2024 == (ppc_cpu & (PPC_OPCODE_32 | PPC_OPCODE_64)))
2025 || (ppc_cpu & PPC_OPCODE_64_BRIDGE) != 0)
2026 - /* Certain instructions (eg: extsw) do not exist in the
2027 - 32-bit BookE instruction set, but they do exist in the
2028 - 64-bit BookE instruction set, and other PPC instruction
2029 - sets. Check to see if the opcode has the BOOKE64 flag set.
2030 - If it does make sure that the target CPU is not the BookE32. */
2031 - && ((op->flags & PPC_OPCODE_BOOKE64) == 0
2032 - || (ppc_cpu & PPC_OPCODE_BOOKE64) == PPC_OPCODE_BOOKE64
2033 - || (ppc_cpu & PPC_OPCODE_BOOKE) == 0)
2034 - && ((op->flags & (PPC_OPCODE_POWER4 | PPC_OPCODE_NOPOWER4)) == 0
2035 - || ((op->flags & PPC_OPCODE_POWER4)
2036 - == (ppc_cpu & PPC_OPCODE_POWER4)))
2037 - && ((op->flags & PPC_OPCODE_POWER5) == 0
2038 - || ((op->flags & PPC_OPCODE_POWER5)
2039 - == (ppc_cpu & PPC_OPCODE_POWER5)))
2040 - && ((op->flags & PPC_OPCODE_POWER6) == 0
2041 - || ((op->flags & PPC_OPCODE_POWER6)
2042 - == (ppc_cpu & PPC_OPCODE_POWER6))))
2043 + && !(ppc_cpu & op->deprecated))
2044 {
2045 const char *retval;
2046
2047 @@ -2792,10 +2965,7 @@
2048
2049 #ifdef OBJ_ELF
2050 /* Do we need/want a APUinfo section? */
2051 - if (ppc_cpu & (PPC_OPCODE_SPE
2052 - | PPC_OPCODE_ISEL | PPC_OPCODE_EFS
2053 - | PPC_OPCODE_BRLOCK | PPC_OPCODE_PMR | PPC_OPCODE_CACHELCK
2054 - | PPC_OPCODE_RFMCI))
2055 + if ((ppc_cpu & PPC_OPCODE_E500MC) != 0)
2056 {
2057 /* These are all version "1". */
2058 if (opcode->flags & PPC_OPCODE_SPE)
2059 diff -Naur binutils-2.19.1.orig/gas/doc/as.texinfo binutils-2.19.1/gas/doc/as.texinfo
2060 --- binutils-2.19.1.orig/gas/doc/as.texinfo 2008-10-02 01:07:17.000000000 -0700
2061 +++ binutils-2.19.1/gas/doc/as.texinfo 2009-03-02 05:43:14.000000000 -0800
2062 @@ -409,8 +409,7 @@
2063
2064 @emph{Target PowerPC options:}
2065 [@b{-mpwrx}|@b{-mpwr2}|@b{-mpwr}|@b{-m601}|@b{-mppc}|@b{-mppc32}|@b{-m603}|@b{-m604}|
2066 - @b{-m403}|@b{-m405}|@b{-mppc64}|@b{-m620}|@b{-mppc64bridge}|@b{-mbooke}|
2067 - @b{-mbooke32}|@b{-mbooke64}]
2068 + @b{-m403}|@b{-m405}|@b{-mppc64}|@b{-m620}|@b{-mppc64bridge}|@b{-mbooke}]
2069 [@b{-mcom}|@b{-many}|@b{-maltivec}|@b{-mvsx}] [@b{-memb}]
2070 [@b{-mregnames}|@b{-mno-regnames}]
2071 [@b{-mrelocatable}|@b{-mrelocatable-lib}]
2072 diff -Naur binutils-2.19.1.orig/gas/doc/c-ppc.texi binutils-2.19.1/gas/doc/c-ppc.texi
2073 --- binutils-2.19.1.orig/gas/doc/c-ppc.texi 2008-08-01 21:38:50.000000000 -0700
2074 +++ binutils-2.19.1/gas/doc/c-ppc.texi 2009-03-02 05:43:14.000000000 -0800
2075 @@ -70,10 +70,7 @@
2076 @item -mppc64bridge
2077 Generate code for PowerPC 64, including bridge insns.
2078
2079 -@item -mbooke64
2080 -Generate code for 64-bit BookE.
2081 -
2082 -@item -mbooke, mbooke32
2083 +@item -mbooke
2084 Generate code for 32-bit BookE.
2085
2086 @item -me300
2087 diff -Naur binutils-2.19.1.orig/gas/testsuite/ChangeLog binutils-2.19.1/gas/testsuite/ChangeLog
2088 --- binutils-2.19.1.orig/gas/testsuite/ChangeLog 2009-01-14 00:49:59.000000000 -0800
2089 +++ binutils-2.19.1/gas/testsuite/ChangeLog 2009-03-02 05:59:36.000000000 -0800
2090 @@ -1,3 +1,56 @@
2091 +2009-03-02 Alan Modra <amodra@bigpond.net.au>
2092 +
2093 + 2009-02-26 Peter Bergner <bergner@vnet.ibm.com>
2094 + * gas/ppc/e500mc.d ("wait", "waitsrv", "waitimpl"): Add tests.
2095 + * gas/ppc/e500mc.s: Likewise.
2096 + * gas/ppc/power6.d ("cdtbcd", "cbcdtd", "addg6s"): Add tests.
2097 + * gas/ppc/power6.s: Likewise.
2098 + * gas/ppc/power7.d ("lfdpx", "mffgpr", "mftgpr"): Remove invalid tests.
2099 + ("wait", "waitsrv", "waitimpl", "divwe", "divwe.", "divweo", "divweo.",
2100 + "divweu", "divweu.", "divweuo", "divweuo.", "bpermd", "popcntw",
2101 + "popcntd", "ldbrx", "stdbrx", "lfiwzx", "lfiwzx", "fcfids", "fcfids.",
2102 + "fcfidus", "fcfidus.", "fctiwu", "fctiwu.", "fctiwuz", "fctiwuz.",
2103 + "fctidu", "fctidu.", "fctiduz", "fctiduz.", "fcfidu", "fcfidu.",
2104 + "ftdiv", "ftdiv", "ftsqrt", "ftsqrt", "dcbtt", "dcbtstt", "dcffix",
2105 + "dcffix.", "lbarx", "lbarx", "lbarx", "lharx", "lharx", "lharx",
2106 + "stbcx.", "sthcx.", "fre", "fre.", "fres", "fres.", "frsqrte",
2107 + "frsqrte.", "frsqrtes", "frsqrtes.", "isel"): Add tests.
2108 + * gas/ppc/power7.s: Likewise.
2109 + * gas/ppc/vsx.d: New test.
2110 + * gas/ppc/vsx.s: Likewise.
2111 + * gas/ppc/ppc.exp: Run it.
2112 +
2113 + 2009-02-19 Peter Bergner <bergner@vnet.ibm.com>
2114 + * gas/ppc/e500mc.d ("lfdepx", "stfdepx"): Fix tests to expect a
2115 + floating point register.
2116 +
2117 + 2009-02-05 Peter Bergner <bergner@vnet.ibm.com>
2118 + * gas/ppc/booke.s ("dcbt", "dcbtst"): New tests.
2119 + * gas/ppc/booke.d: Likewise.
2120 + * gas/ppc/power4_32.s: Likewise.
2121 + * gas/ppc/power4_32.d: Likewise.
2122 +
2123 + 2009-01-14 Peter Bergner <bergner@vnet.ibm.com>
2124 + * gas/ppc/power6.s ("mtfsf", "mtfsf.", "mtfsfi", "mtfsfi."): Add tests.
2125 + * gas/ppc/power6.d: Likewise.
2126 +
2127 + 2008-12-04 Ben Elliston <bje@au.ibm.com>
2128 + * gas/ppc/booke.s: Remove booke64 instructions.
2129 + * gas/ppc/booke.d: Update expected disassembly output.
2130 + * gas/ppc/booke_xcoff.s: Use -mbooke/-Mbooke.
2131 + * gas/ppc/booke_xcoff.d: Likewise.
2132 + * gas/ppc/booke_xcoff64.d: Likewise.
2133 + * gas/ppc/booke_xcoff64.s: Likewise.
2134 +
2135 + 2008-09-09 Peter Bergner <bergner@vnet.ibm.com>
2136 + * gas/ppc/common.s: New test.
2137 + * gas/ppc/common.d: Likewise.
2138 + * gas/ppc/power4_32.s: Likewise.
2139 + * gas/ppc/power4_32.d: Likewise.
2140 + * gas/ppc/power6.s: Add attn, mtcr, mtcrf, mfcr, dcbz.
2141 + * gas/ppc/power6.d: Likewise.
2142 + * gas/ppc/ppc.exp: Run power4_32 test.
2143 +
2144 2009-01-08 Adam Nemet <anemet@caviumnetworks.com>
2145
2146 * gas/mips/mips1-fp.s, gas/mips/mips1-fp.d, gas/mips/mips1-fp.l:
2147 diff -Naur binutils-2.19.1.orig/gas/testsuite/gas/ppc/booke.d binutils-2.19.1/gas/testsuite/gas/ppc/booke.d
2148 --- binutils-2.19.1.orig/gas/testsuite/gas/ppc/booke.d 2007-04-18 16:58:12.000000000 -0700
2149 +++ binutils-2.19.1/gas/testsuite/gas/ppc/booke.d 2009-03-02 05:54:22.000000000 -0800
2150 @@ -1,4 +1,4 @@
2151 -#as: -mbooke64
2152 +#as: -mbooke
2153 #objdump: -dr -Mbooke
2154 #name: BookE tests
2155
2156 @@ -6,151 +6,38 @@
2157
2158 Disassembly of section \.text:
2159
2160 -0+0000000 <start>:
2161 - 0: 24 25 00 30 bce 1,4\*cr1\+gt,30 <branch_target_1>
2162 - 4: 24 46 00 3d bcel 2,4\*cr1\+eq,40 <branch_target_2>
2163 - 8: 24 67 00 52 bcea 3,4\*cr1\+so,50 <branch_target_3>
2164 - 8: R_PPC(64)?_ADDR14 \.text\+0x50
2165 - c: 24 88 00 73 bcela 4,4\*cr2\+lt,70 <branch_target_4>
2166 - c: R_PPC(64)?_ADDR14 \.text\+0x70
2167 - 10: 4c a9 00 22 bclre 5,4\*cr2\+gt
2168 - 14: 4c aa 00 23 bclrel 5,4\*cr2\+eq
2169 - 18: 4d 0b 04 22 bcctre 8,4\*cr2\+so
2170 - 1c: 4d 0c 04 23 bcctrel 8,4\*cr3\+lt
2171 - 20: 58 00 00 74 be 94 <branch_target_5>
2172 - 24: 58 00 00 89 bel ac <branch_target_6>
2173 - 28: 58 00 00 f6 bea f4 <branch_target_7>
2174 - 28: R_PPC(64)?_ADDR24 \.text\+0xf4
2175 - 2c: 58 00 01 2b bela 128 <branch_target_8>
2176 - 2c: R_PPC(64)?_ADDR24 \.text\+0x128
2177 -
2178 -0+0000030 <branch_target_1>:
2179 - 30: e9 09 00 80 lbze r8,8\(r9\)
2180 - 34: e9 8f 00 41 lbzue r12,4\(r15\)
2181 - 38: 7c 86 40 fe lbzuxe r4,r6,r8
2182 - 3c: 7c 65 38 be lbzxe r3,r5,r7
2183 -
2184 -0+0000040 <branch_target_2>:
2185 - 40: f8 a6 06 40 lde r5,400\(r6\)
2186 - 44: f8 c7 07 11 ldue r6,452\(r7\)
2187 - 48: 7c e8 4e 3e ldxe r7,r8,r9
2188 - 4c: 7d 4b 66 7e lduxe r10,r11,r12
2189 -
2190 -0+0000050 <branch_target_3>:
2191 - 50: f9 81 02 06 lfde f12,128\(r1\)
2192 - 54: f8 25 00 47 lfdue f1,16\(r5\)
2193 - 58: 7c a1 1c be lfdxe f5,r1,r3
2194 - 5c: 7c c2 24 fe lfduxe f6,r2,r4
2195 - 60: f9 09 00 c4 lfse f8,48\(r9\)
2196 - 64: f9 2a 01 15 lfsue f9,68\(r10\)
2197 - 68: 7d 44 44 7e lfsuxe f10,r4,r8
2198 - 6c: 7d 23 3c 3e lfsxe f9,r3,r7
2199 -
2200 -0+0000070 <branch_target_4>:
2201 - 70: e9 45 03 24 lhae r10,50\(r5\)
2202 - 74: e8 23 00 55 lhaue r1,5\(r3\)
2203 - 78: 7c a1 1a fe lhauxe r5,r1,r3
2204 - 7c: 7f be fa be lhaxe r29,r30,r31
2205 - 80: 7c 22 1e 3c lhbrxe r1,r2,r3
2206 - 84: e8 83 01 22 lhze r4,18\(r3\)
2207 - 88: e8 c9 01 43 lhzue r6,20\(r9\)
2208 - 8c: 7c a7 4a 7e lhzuxe r5,r7,r9
2209 - 90: 7d 27 2a 3e lhzxe r9,r7,r5
2210 -
2211 -0+0000094 <branch_target_5>:
2212 - 94: 7d 4f a0 fc lwarxe r10,r15,r20
2213 - 98: 7c aa 94 3c lwbrxe r5,r10,r18
2214 - 9c: eb 9d 00 46 lwze r28,4\(r29\)
2215 - a0: e9 0a 02 87 lwzue r8,40\(r10\)
2216 - a4: 7c 66 48 7e lwzuxe r3,r6,r9
2217 - a8: 7f dd e0 3e lwzxe r30,r29,r28
2218 -
2219 -0+00000ac <branch_target_6>:
2220 - ac: 7c 06 3d fc dcbae r6,r7
2221 - b0: 7c 08 48 bc dcbfe r8,r9
2222 - b4: 7c 0a 5b bc dcbie r10,r11
2223 - b8: 7c 08 f0 7c dcbste r8,r30
2224 - bc: 7c c3 0a 3c dcbte 6,r3,r1
2225 - c0: 7c a4 11 fa dcbtste 5,r4,r2
2226 - c4: 7c 0f 77 fc dcbze r15,r14
2227 - c8: 7c 03 27 bc icbie r3,r4
2228 - cc: 7c a8 48 2c icbt 5,r8,r9
2229 - d0: 7c ca 78 3c icbte 6,r10,r15
2230 - d4: 7c a6 02 26 mfapidi r5,r6
2231 - d8: 7c 07 46 24 tlbivax r7,r8
2232 - dc: 7c 09 56 26 tlbivaxe r9,r10
2233 - e0: 7c 0b 67 24 tlbsx r11,r12
2234 - e4: 7c 0d 77 26 tlbsxe r13,r14
2235 - e8: 7c 00 07 a4 tlbwe
2236 - ec: 7c 00 07 a4 tlbwe
2237 - f0: 7c 21 0f a4 tlbwe r1,r1,1
2238 -
2239 -0+00000f4 <branch_target_7>:
2240 - f4: 7c 22 1b 14 adde64 r1,r2,r3
2241 - f8: 7c 85 37 14 adde64o r4,r5,r6
2242 - fc: 7c e8 03 d4 addme64 r7,r8
2243 - 100: 7d 2a 07 d4 addme64o r9,r10
2244 - 104: 7d 6c 03 94 addze64 r11,r12
2245 - 108: 7d ae 07 94 addze64o r13,r14
2246 - 10c: 7e 80 04 40 mcrxr64 cr5
2247 - 110: 7d f0 8b 10 subfe64 r15,r16,r17
2248 - 114: 7e 53 a7 10 subfe64o r18,r19,r20
2249 - 118: 7e b6 03 d0 subfme64 r21,r22
2250 - 11c: 7e f8 07 d0 subfme64o r23,r24
2251 - 120: 7f 3a 03 90 subfze64 r25,r26
2252 - 124: 7f 7c 07 90 subfze64o r27,r28
2253 -
2254 -0+0000128 <branch_target_8>:
2255 - 128: e8 22 03 28 stbe r1,50\(r2\)
2256 - 12c: e8 64 02 89 stbue r3,40\(r4\)
2257 - 130: 7c a6 39 fe stbuxe r5,r6,r7
2258 - 134: 7d 09 51 be stbxe r8,r9,r10
2259 - 138: 7d 6c 6b ff stdcxe\. r11,r12,r13
2260 - 13c: f9 cf 00 78 stde r14,28\(r15\)
2261 - 140: fa 11 00 59 stdue r16,20\(r17\)
2262 - 144: 7e 53 a7 3e stdxe r18,r19,r20
2263 - 148: 7e b6 bf 7e stduxe r21,r22,r23
2264 - 14c: f8 38 00 3e stfde f1,12\(r24\)
2265 - 150: f8 59 00 0f stfdue f2,0\(r25\)
2266 - 154: 7c 7a dd be stfdxe f3,r26,r27
2267 - 158: 7c 9c ed fe stfduxe f4,r28,r29
2268 - 15c: 7c be ff be stfiwxe f5,r30,r31
2269 - 160: f8 de 00 6c stfse f6,24\(r30\)
2270 - 164: f8 fd 00 5d stfsue f7,20\(r29\)
2271 - 168: 7d 1c dd 3e stfsxe f8,r28,r27
2272 - 16c: 7d 3a cd 7e stfsuxe f9,r26,r25
2273 - 170: 7f 17 b7 3c sthbrxe r24,r23,r22
2274 - 174: ea b4 01 ea sthe r21,30\(r20\)
2275 - 178: ea 72 02 8b sthue r19,40\(r18\)
2276 - 17c: 7e 30 7b 7e sthuxe r17,r16,r15
2277 - 180: 7d cd 63 3e sthxe r14,r13,r12
2278 - 184: 7d 6a 4d 3c stwbrxe r11,r10,r9
2279 - 188: 7d 07 31 3d stwcxe\. r8,r7,r6
2280 - 18c: e8 a4 03 2e stwe r5,50\(r4\)
2281 - 190: e8 62 02 8f stwue r3,40\(r2\)
2282 - 194: 7c 22 19 7e stwuxe r1,r2,r3
2283 - 198: 7c 85 31 3e stwxe r4,r5,r6
2284 - 19c: 4c 00 00 66 rfci
2285 - 1a0: 7c 60 01 06 wrtee r3
2286 - 1a4: 7c 00 81 46 wrteei 1
2287 - 1a8: 7c 85 02 06 mfdcrx r4,r5
2288 - 1ac: 7c aa 3a 86 mfdcr r5,234
2289 - 1b0: 7c e6 03 06 mtdcrx r6,r7
2290 - 1b4: 7d 10 6b 86 mtdcr 432,r8
2291 - 1b8: 7c 00 04 ac msync
2292 - 1bc: 7c 09 55 ec dcba r9,r10
2293 - 1c0: 7c 00 06 ac mbar
2294 - 1c4: 7c 00 06 ac mbar
2295 - 1c8: 7c 20 06 ac mbar 1
2296 - 1cc: 7d 8d 77 24 tlbsx r12,r13,r14
2297 - 1d0: 7d 8d 77 25 tlbsx\. r12,r13,r14
2298 - 1d4: 7d 8d 77 26 tlbsxe r12,r13,r14
2299 - 1d8: 7d 8d 77 27 tlbsxe\. r12,r13,r14
2300 - 1dc: 7c 12 42 a6 mfsprg r0,2
2301 - 1e0: 7c 12 42 a6 mfsprg r0,2
2302 - 1e4: 7c 12 43 a6 mtsprg 2,r0
2303 - 1e8: 7c 12 43 a6 mtsprg 2,r0
2304 - 1ec: 7c 07 42 a6 mfsprg r0,7
2305 - 1f0: 7c 07 42 a6 mfsprg r0,7
2306 - 1f4: 7c 17 43 a6 mtsprg 7,r0
2307 - 1f8: 7c 17 43 a6 mtsprg 7,r0
2308 +0+0000000 <branch_target_1>:
2309 + 0: 7c a8 48 2c icbt 5,r8,r9
2310 + 4: 7c a6 02 26 mfapidi r5,r6
2311 + 8: 7c 07 46 24 tlbivax r7,r8
2312 + c: 7c 0b 67 24 tlbsx r11,r12
2313 + 10: 7c 00 07 a4 tlbwe
2314 + 14: 7c 00 07 a4 tlbwe
2315 + 18: 7c 21 0f a4 tlbwe r1,r1,1
2316 +
2317 +0+000001c <branch_target_2>:
2318 + 1c: 4c 00 00 66 rfci
2319 + 20: 7c 60 01 06 wrtee r3
2320 + 24: 7c 00 81 46 wrteei 1
2321 + 28: 7c 85 02 06 mfdcrx r4,r5
2322 + 2c: 7c aa 3a 86 mfdcr r5,234
2323 + 30: 7c e6 03 06 mtdcrx r6,r7
2324 + 34: 7d 10 6b 86 mtdcr 432,r8
2325 + 38: 7c 00 04 ac msync
2326 + 3c: 7c 09 55 ec dcba r9,r10
2327 + 40: 7c 00 06 ac mbar
2328 + 44: 7c 00 06 ac mbar
2329 + 48: 7c 20 06 ac mbar 1
2330 + 4c: 7d 8d 77 24 tlbsx r12,r13,r14
2331 + 50: 7d 8d 77 25 tlbsx\. r12,r13,r14
2332 + 54: 7c 12 42 a6 mfsprg r0,2
2333 + 58: 7c 12 42 a6 mfsprg r0,2
2334 + 5c: 7c 12 43 a6 mtsprg 2,r0
2335 + 60: 7c 12 43 a6 mtsprg 2,r0
2336 + 64: 7c 07 42 a6 mfsprg r0,7
2337 + 68: 7c 07 42 a6 mfsprg r0,7
2338 + 6c: 7c 17 43 a6 mtsprg 7,r0
2339 + 70: 7c 17 43 a6 mtsprg 7,r0
2340 + 74: 7c 05 32 2c dcbt r5,r6
2341 + 78: 7c 05 32 2c dcbt r5,r6
2342 + 7c: 7d 05 32 2c dcbt 8,r5,r6
2343 diff -Naur binutils-2.19.1.orig/gas/testsuite/gas/ppc/booke.s binutils-2.19.1/gas/testsuite/gas/ppc/booke.s
2344 --- binutils-2.19.1.orig/gas/testsuite/gas/ppc/booke.s 2007-04-18 16:58:12.000000000 -0700
2345 +++ binutils-2.19.1/gas/testsuite/gas/ppc/booke.s 2009-03-02 05:54:22.000000000 -0800
2346 @@ -1,127 +1,17 @@
2347 # Motorola PowerPC BookE tests
2348 -#as: -mbooke32
2349 +#as: -mbooke
2350 .section ".text"
2351 -start:
2352 - bce 1, 5, branch_target_1
2353 - bcel 2, 6, branch_target_2
2354 - bcea 3, 7, branch_target_3
2355 - bcela 4, 8, branch_target_4
2356 - bclre 5, 9
2357 - bclrel 5, 10
2358 - bcctre 8, 11
2359 - bcctrel 8, 12
2360 - be branch_target_5
2361 - bel branch_target_6
2362 - bea branch_target_7
2363 - bela branch_target_8
2364
2365 -branch_target_1:
2366 - lbze 8, 8(9)
2367 - lbzue 12, 4(15)
2368 - lbzuxe 4, 6, 8
2369 - lbzxe 3, 5, 7
2370 -
2371 -branch_target_2:
2372 - lde 5, 400(6)
2373 - ldue 6, 452(7)
2374 - ldxe 7, 8, 9
2375 - lduxe 10, 11, 12
2376 -
2377 -branch_target_3:
2378 - lfde 12, 128(1)
2379 - lfdue 1, 16(5)
2380 - lfdxe 5, 1, 3
2381 - lfduxe 6, 2, 4
2382 - lfse 8, 48(9)
2383 - lfsue 9, 68(10)
2384 - lfsuxe 10, 4, 8
2385 - lfsxe 9, 3, 7
2386 -
2387 -branch_target_4:
2388 - lhae 10, 50(5)
2389 - lhaue 1, 5(3)
2390 - lhauxe 5, 1, 3
2391 - lhaxe 29, 30, 31
2392 - lhbrxe 1, 2, 3
2393 - lhze 4, 18(3)
2394 - lhzue 6, 20(9)
2395 - lhzuxe 5, 7, 9
2396 - lhzxe 9, 7, 5
2397 -
2398 -branch_target_5:
2399 - lwarxe 10, 15, 20
2400 - lwbrxe 5, 10, 18
2401 - lwze 28, 4(29)
2402 - lwzue 8, 40(10)
2403 - lwzuxe 3, 6, 9
2404 - lwzxe 30, 29, 28
2405 -
2406 -branch_target_6:
2407 - dcbae 6, 7
2408 - dcbfe 8, 9
2409 - dcbie 10, 11
2410 - dcbste 8, 30
2411 - dcbte 6, 3, 1
2412 - dcbtste 5, 4, 2
2413 - dcbze 15, 14
2414 - icbie 3, 4
2415 +branch_target_1:
2416 icbt 5, 8, 9
2417 - icbte 6, 10, 15
2418 mfapidi 5, 6
2419 tlbivax 7, 8
2420 - tlbivaxe 9, 10
2421 tlbsx 11, 12
2422 - tlbsxe 13, 14
2423 tlbwe
2424 tlbwe 0,0,0
2425 tlbwe 1,1,1
2426
2427 -branch_target_7:
2428 - adde64 1, 2, 3
2429 - adde64o 4, 5, 6
2430 - addme64 7, 8
2431 - addme64o 9, 10
2432 - addze64 11, 12
2433 - addze64o 13, 14
2434 - mcrxr64 5
2435 - subfe64 15, 16, 17
2436 - subfe64o 18, 19, 20
2437 - subfme64 21, 22
2438 - subfme64o 23, 24
2439 - subfze64 25, 26
2440 - subfze64o 27, 28
2441 -
2442 -branch_target_8:
2443 - stbe 1, 50(2)
2444 - stbue 3, 40(4)
2445 - stbuxe 5, 6, 7
2446 - stbxe 8, 9, 10
2447 - stdcxe. 11, 12, 13
2448 - stde 14, 28(15)
2449 - stdue 16, 20(17)
2450 - stdxe 18, 19, 20
2451 - stduxe 21, 22, 23
2452 - stfde 1, 12(24)
2453 - stfdue 2, 0(25)
2454 - stfdxe 3, 26, 27
2455 - stfduxe 4, 28, 29
2456 - stfiwxe 5, 30, 31
2457 - stfse 6, 24(30)
2458 - stfsue 7, 20(29)
2459 - stfsxe 8, 28, 27
2460 - stfsuxe 9, 26, 25
2461 - sthbrxe 24, 23, 22
2462 - sthe 21, 30(20)
2463 - sthue 19, 40(18)
2464 - sthuxe 17, 16, 15
2465 - sthxe 14, 13, 12
2466 - stwbrxe 11, 10, 9
2467 - stwcxe. 8, 7, 6
2468 - stwe 5, 50(4)
2469 - stwue 3, 40(2)
2470 - stwuxe 1, 2, 3
2471 - stwxe 4, 5, 6
2472 -
2473 +branch_target_2:
2474 rfci
2475 wrtee 3
2476 wrteei 1
2477 @@ -137,8 +27,6 @@
2478
2479 tlbsx 12, 13, 14
2480 tlbsx. 12, 13, 14
2481 - tlbsxe 12, 13, 14
2482 - tlbsxe. 12, 13, 14
2483
2484 mfsprg 0, 2
2485 mfsprg2 0
2486 @@ -148,3 +36,7 @@
2487 mfsprg7 0
2488 mtsprg 7, 0
2489 mtsprg7 0
2490 +
2491 + dcbt 5,6
2492 + dcbt 0,5,6
2493 + dcbt 8,5,6
2494 diff -Naur binutils-2.19.1.orig/gas/testsuite/gas/ppc/booke_xcoff64.d binutils-2.19.1/gas/testsuite/gas/ppc/booke_xcoff64.d
2495 --- binutils-2.19.1.orig/gas/testsuite/gas/ppc/booke_xcoff64.d 2007-10-01 09:24:40.000000000 -0700
2496 +++ binutils-2.19.1/gas/testsuite/gas/ppc/booke_xcoff64.d 2009-03-02 05:43:14.000000000 -0800
2497 @@ -1,5 +1,5 @@
2498 -#as: -a64 -mppc64 -mbooke64
2499 -#objdump: -dr -Mbooke64
2500 +#as: -a64 -mppc64 -mbooke
2501 +#objdump: -dr -Mbooke
2502 #name: xcoff64 BookE tests
2503
2504 .*: file format aix5?coff64-rs6000
2505 diff -Naur binutils-2.19.1.orig/gas/testsuite/gas/ppc/booke_xcoff64.s binutils-2.19.1/gas/testsuite/gas/ppc/booke_xcoff64.s
2506 --- binutils-2.19.1.orig/gas/testsuite/gas/ppc/booke_xcoff64.s 2007-10-01 09:24:40.000000000 -0700
2507 +++ binutils-2.19.1/gas/testsuite/gas/ppc/booke_xcoff64.s 2009-03-02 05:43:15.000000000 -0800
2508 @@ -1,5 +1,5 @@
2509 # Motorola PowerPC BookE tests
2510 -#as: -a64 -mppc64 -mbooke64
2511 +#as: -a64 -mppc64 -mbooke
2512 .csect .text[PR]
2513 .csect main[DS]
2514 main:
2515 diff -Naur binutils-2.19.1.orig/gas/testsuite/gas/ppc/booke_xcoff.d binutils-2.19.1/gas/testsuite/gas/ppc/booke_xcoff.d
2516 --- binutils-2.19.1.orig/gas/testsuite/gas/ppc/booke_xcoff.d 2007-10-01 09:24:40.000000000 -0700
2517 +++ binutils-2.19.1/gas/testsuite/gas/ppc/booke_xcoff.d 2009-03-02 05:43:14.000000000 -0800
2518 @@ -1,5 +1,5 @@
2519 -#as: -mppc32 -mbooke32
2520 -#objdump: -mpowerpc -dr -Mbooke32
2521 +#as: -mppc32 -mbooke
2522 +#objdump: -mpowerpc -dr -Mbooke
2523 #name: xcoff BookE tests
2524
2525 .*: file format aixcoff-rs6000
2526 diff -Naur binutils-2.19.1.orig/gas/testsuite/gas/ppc/booke_xcoff.s binutils-2.19.1/gas/testsuite/gas/ppc/booke_xcoff.s
2527 --- binutils-2.19.1.orig/gas/testsuite/gas/ppc/booke_xcoff.s 2007-10-01 09:24:40.000000000 -0700
2528 +++ binutils-2.19.1/gas/testsuite/gas/ppc/booke_xcoff.s 2009-03-02 05:43:14.000000000 -0800
2529 @@ -1,5 +1,5 @@
2530 # Motorola PowerPC BookE tests
2531 -#as: -mbooke32
2532 +#as: -mbooke
2533 .csect .text[PR]
2534 .csect main[DS]
2535 main:
2536 diff -Naur binutils-2.19.1.orig/gas/testsuite/gas/ppc/common.d binutils-2.19.1/gas/testsuite/gas/ppc/common.d
2537 --- binutils-2.19.1.orig/gas/testsuite/gas/ppc/common.d 1969-12-31 16:00:00.000000000 -0800
2538 +++ binutils-2.19.1/gas/testsuite/gas/ppc/common.d 2009-03-02 05:37:44.000000000 -0800
2539 @@ -0,0 +1,190 @@
2540 +#objdump: -d -Mcom
2541 +#as: -a32 -mcom
2542 +#name: PowerPC COMMON instructions
2543 +
2544 +.*: +file format elf32-powerpc.*
2545 +
2546 +Disassembly of section \.text:
2547 +
2548 +0+00 <start>:
2549 +
2550 + 0: 7c 83 28 39 and. r3,r4,r5
2551 + 4: 7c 83 28 38 and r3,r4,r5
2552 + 8: 7d cd 78 78 andc r13,r14,r15
2553 + c: 7e 30 90 79 andc. r16,r17,r18
2554 + 10: 48 00 00 02 ba 0 <start>
2555 + 14: 40 01 00 00 bdnzf- gt,14 <start\+0x14>
2556 + 18: 40 85 00 02 blea- cr1,0 <start>
2557 + 1c: 40 43 00 01 bdzfl- so,1c <start\+0x1c>
2558 + 20: 41 47 00 03 bdztla- 4\*cr1\+so,0 <start>
2559 + 24: 4e 80 04 20 bctr
2560 + 28: 4e 80 04 21 bctrl
2561 + 2c: 42 40 00 02 bdza- 0 <start>
2562 + 30: 42 40 00 00 bdz- 30 <start\+0x30>
2563 + 34: 42 40 00 03 bdzla- 0 <start>
2564 + 38: 42 40 00 01 bdzl- 38 <start\+0x38>
2565 + 3c: 41 82 00 00 beq- 3c <start\+0x3c>
2566 + 40: 41 8a 00 02 beqa- cr2,0 <start>
2567 + 44: 41 86 00 01 beql- cr1,44 <start\+0x44>
2568 + 48: 41 8e 00 03 beqla- cr3,0 <start>
2569 + 4c: 40 80 00 00 bge- 4c <start\+0x4c>
2570 + 50: 40 90 00 02 bgea- cr4,0 <start>
2571 + 54: 40 88 00 01 bgel- cr2,54 <start\+0x54>
2572 + 58: 40 98 00 03 bgela- cr6,0 <start>
2573 + 5c: 41 91 00 00 bgt- cr4,5c <start\+0x5c>
2574 + 60: 41 99 00 02 bgta- cr6,0 <start>
2575 + 64: 41 95 00 01 bgtl- cr5,64 <start\+0x64>
2576 + 68: 41 9d 00 03 bgtla- cr7,0 <start>
2577 + 6c: 48 00 00 00 b 6c <start\+0x6c>
2578 + 70: 48 00 00 03 bla 0 <start>
2579 + 74: 40 81 00 00 ble- 74 <start\+0x74>
2580 + 78: 40 91 00 02 blea- cr4,0 <start>
2581 + 7c: 40 89 00 01 blel- cr2,7c <start\+0x7c>
2582 + 80: 40 99 00 03 blela- cr6,0 <start>
2583 + 84: 48 00 00 01 bl 84 <start\+0x84>
2584 + 88: 41 80 00 00 blt- 88 <start\+0x88>
2585 + 8c: 41 88 00 02 blta- cr2,0 <start>
2586 + 90: 41 84 00 01 bltl- cr1,90 <start\+0x90>
2587 + 94: 41 8c 00 03 bltla- cr3,0 <start>
2588 + 98: 40 82 00 00 bne- 98 <start\+0x98>
2589 + 9c: 40 8a 00 02 bnea- cr2,0 <start>
2590 + a0: 40 86 00 01 bnel- cr1,a0 <start\+0xa0>
2591 + a4: 40 8e 00 03 bnela- cr3,0 <start>
2592 + a8: 40 85 00 00 ble- cr1,a8 <start\+0xa8>
2593 + ac: 40 95 00 02 blea- cr5,0 <start>
2594 + b0: 40 8d 00 01 blel- cr3,b0 <start\+0xb0>
2595 + b4: 40 9d 00 03 blela- cr7,0 <start>
2596 + b8: 40 84 00 00 bge- cr1,b8 <start\+0xb8>
2597 + bc: 40 94 00 02 bgea- cr5,0 <start>
2598 + c0: 40 8c 00 01 bgel- cr3,c0 <start\+0xc0>
2599 + c4: 40 9c 00 03 bgela- cr7,0 <start>
2600 + c8: 40 93 00 00 bns- cr4,c8 <start\+0xc8>
2601 + cc: 40 9b 00 02 bnsa- cr6,0 <start>
2602 + d0: 40 97 00 01 bnsl- cr5,d0 <start\+0xd0>
2603 + d4: 40 9f 00 03 bnsla- cr7,0 <start>
2604 + d8: 41 93 00 00 bso- cr4,d8 <start\+0xd8>
2605 + dc: 41 9b 00 02 bsoa- cr6,0 <start>
2606 + e0: 41 97 00 01 bsol- cr5,e0 <start\+0xe0>
2607 + e4: 41 9f 00 03 bsola- cr7,0 <start>
2608 + e8: 4c 85 32 02 crand 4\*cr1\+lt,4\*cr1\+gt,4\*cr1\+eq
2609 + ec: 4c 64 29 02 crandc so,4\*cr1\+lt,4\*cr1\+gt
2610 + f0: 4c e0 0a 42 creqv 4\*cr1\+so,lt,gt
2611 + f4: 4c 22 19 c2 crnand gt,eq,so
2612 + f8: 4c 01 10 42 crnor lt,gt,eq
2613 + fc: 4c a6 3b 82 cror 4\*cr1\+gt,4\*cr1\+eq,4\*cr1\+so
2614 + 100: 4c 43 23 42 crorc eq,so,4\*cr1\+lt
2615 + 104: 4c c7 01 82 crxor 4\*cr1\+eq,4\*cr1\+so,lt
2616 + 108: 7d 6a 62 39 eqv. r10,r11,r12
2617 + 10c: 7d 6a 62 38 eqv r10,r11,r12
2618 + 110: fe a0 fa 11 fabs. f21,f31
2619 + 114: fe a0 fa 10 fabs f21,f31
2620 + 118: fd 8a 58 40 fcmpo cr3,f10,f11
2621 + 11c: fd 84 28 00 fcmpu cr3,f4,f5
2622 + 120: fc 60 20 91 fmr. f3,f4
2623 + 124: fc 60 20 90 fmr f3,f4
2624 + 128: fe 80 f1 11 fnabs. f20,f30
2625 + 12c: fe 80 f1 10 fnabs f20,f30
2626 + 130: fc 60 20 51 fneg. f3,f4
2627 + 134: fc 60 20 50 fneg f3,f4
2628 + 138: fc c0 38 18 frsp f6,f7
2629 + 13c: fd 00 48 19 frsp. f8,f9
2630 + 140: 89 21 00 00 lbz r9,0\(r1\)
2631 + 144: 8d 41 00 01 lbzu r10,1\(r1\)
2632 + 148: 7e 95 b0 ee lbzux r20,r21,r22
2633 + 14c: 7c 64 28 ae lbzx r3,r4,r5
2634 + 150: ca a1 00 08 lfd f21,8\(r1\)
2635 + 154: ce c1 00 10 lfdu f22,16\(r1\)
2636 + 158: 7e 95 b4 ee lfdux f20,r21,r22
2637 + 15c: 7d ae 7c ae lfdx f13,r14,r15
2638 + 160: c2 61 00 00 lfs f19,0\(r1\)
2639 + 164: c6 81 00 04 lfsu f20,4\(r1\)
2640 + 168: 7d 4b 64 6e lfsux f10,r11,r12
2641 + 16c: 7d 4b 64 2e lfsx f10,r11,r12
2642 + 170: a9 e1 00 06 lha r15,6\(r1\)
2643 + 174: ae 01 00 08 lhau r16,8\(r1\)
2644 + 178: 7d 2a 5a ee lhaux r9,r10,r11
2645 + 17c: 7d 2a 5a ae lhax r9,r10,r11
2646 + 180: 7c 64 2e 2c lhbrx r3,r4,r5
2647 + 184: a1 a1 00 00 lhz r13,0\(r1\)
2648 + 188: a5 c1 00 02 lhzu r14,2\(r1\)
2649 + 18c: 7e 96 c2 6e lhzux r20,r22,r24
2650 + 190: 7e f8 ca 2e lhzx r23,r24,r25
2651 + 194: 4c 04 00 00 mcrf cr0,cr1
2652 + 198: fd 90 00 80 mcrfs cr3,cr4
2653 + 19c: 7d 80 04 00 mcrxr cr3
2654 + 1a0: 7c 60 00 26 mfcr r3
2655 + 1a4: 7c 69 02 a6 mfctr r3
2656 + 1a8: 7c b3 02 a6 mfdar r5
2657 + 1ac: 7c 92 02 a6 mfdsisr r4
2658 + 1b0: ff c0 04 8e mffs f30
2659 + 1b4: ff e0 04 8f mffs. f31
2660 + 1b8: 7c 48 02 a6 mflr r2
2661 + 1bc: 7e 60 00 a6 mfmsr r19
2662 + 1c0: 7c 78 00 26 mfocrf r3,128
2663 + 1c4: 7c 25 02 a6 mfrtcl r1
2664 + 1c8: 7c 04 02 a6 mfrtcu r0
2665 + 1cc: 7c d9 02 a6 mfsdr1 r6
2666 + 1d0: 7c 60 22 a6 mfspr r3,128
2667 + 1d4: 7c fa 02 a6 mfsrr0 r7
2668 + 1d8: 7d 1b 02 a6 mfsrr1 r8
2669 + 1dc: 7f c1 02 a6 mfxer r30
2670 + 1e0: 7f fe fb 79 mr. r30,r31
2671 + 1e4: 7f fe fb 78 mr r30,r31
2672 + 1e8: 7c 6f f1 20 mtcr r3
2673 + 1ec: 7c 68 01 20 mtcrf 128,r3
2674 + 1f0: 7e 69 03 a6 mtctr r19
2675 + 1f4: 7e b3 03 a6 mtdar r21
2676 + 1f8: 7f 16 03 a6 mtdec r24
2677 + 1fc: 7e 92 03 a6 mtdsisr r20
2678 + 200: fc 60 00 8d mtfsb0. so
2679 + 204: fc 60 00 8c mtfsb0 so
2680 + 208: fc 60 00 4d mtfsb1. so
2681 + 20c: fc 60 00 4c mtfsb1 so
2682 + 210: fc 0c 55 8e mtfsf 6,f10
2683 + 214: fc 0c 5d 8f mtfsf. 6,f11
2684 + 218: ff 00 01 0c mtfsfi 6,0
2685 + 21c: ff 00 f1 0d mtfsfi. 6,15
2686 + 220: 7e 48 03 a6 mtlr r18
2687 + 224: 7d 40 01 24 mtmsr r10
2688 + 228: 7c 78 01 20 mtocrf 128,r3
2689 + 22c: 7e f5 03 a6 mtrtcl r23
2690 + 230: 7e d4 03 a6 mtrtcu r22
2691 + 234: 7f 39 03 a6 mtsdr1 r25
2692 + 238: 7c 60 23 a6 mtspr 128,r3
2693 + 23c: 7f 5a 03 a6 mtsrr0 r26
2694 + 240: 7f 7b 03 a6 mtsrr1 r27
2695 + 244: 7e 21 03 a6 mtxer r17
2696 + 248: 7f bc f3 b9 nand. r28,r29,r30
2697 + 24c: 7f bc f3 b8 nand r28,r29,r30
2698 + 250: 7c 64 00 d1 neg. r3,r4
2699 + 254: 7c 64 00 d0 neg r3,r4
2700 + 258: 7e 11 04 d0 nego r16,r17
2701 + 25c: 7e 53 04 d1 nego. r18,r19
2702 + 260: 7e b4 b0 f9 nor. r20,r21,r22
2703 + 264: 7e b4 b0 f8 nor r20,r21,r22
2704 + 268: 7e b4 a8 f9 not. r20,r21
2705 + 26c: 7e b4 a8 f8 not r20,r21
2706 + 270: 7c 40 23 78 or r0,r2,r4
2707 + 274: 7d cc 83 79 or. r12,r14,r16
2708 + 278: 7e 0f 8b 38 orc r15,r16,r17
2709 + 27c: 7e 72 a3 39 orc. r18,r19,r20
2710 + 280: 4c 00 00 64 rfi
2711 + 284: 99 61 00 02 stb r11,2\(r1\)
2712 + 288: 9d 81 00 03 stbu r12,3\(r1\)
2713 + 28c: 7d ae 79 ee stbux r13,r14,r15
2714 + 290: 7c 64 29 ae stbx r3,r4,r5
2715 + 294: db 21 00 20 stfd f25,32\(r1\)
2716 + 298: df 41 00 28 stfdu f26,40\(r1\)
2717 + 29c: 7c 01 15 ee stfdux f0,r1,r2
2718 + 2a0: 7f be fd ae stfdx f29,r30,r31
2719 + 2a4: d2 e1 00 14 stfs f23,20\(r1\)
2720 + 2a8: d7 01 00 18 stfsu f24,24\(r1\)
2721 + 2ac: 7f 5b e5 6e stfsux f26,r27,r28
2722 + 2b0: 7e f8 cd 2e stfsx f23,r24,r25
2723 + 2b4: b2 21 00 0a sth r17,10\(r1\)
2724 + 2b8: 7c c7 47 2c sthbrx r6,r7,r8
2725 + 2bc: b6 41 00 0c sthu r18,12\(r1\)
2726 + 2c0: 7e b6 bb 6e sthux r21,r22,r23
2727 + 2c4: 7d 8d 73 2e sthx r12,r13,r14
2728 + 2c8: 7f dd fa 79 xor. r29,r30,r31
2729 + 2cc: 7f dd fa 78 xor r29,r30,r31
2730 diff -Naur binutils-2.19.1.orig/gas/testsuite/gas/ppc/common.s binutils-2.19.1/gas/testsuite/gas/ppc/common.s
2731 --- binutils-2.19.1.orig/gas/testsuite/gas/ppc/common.s 1969-12-31 16:00:00.000000000 -0800
2732 +++ binutils-2.19.1/gas/testsuite/gas/ppc/common.s 2009-03-02 05:37:44.000000000 -0800
2733 @@ -0,0 +1,182 @@
2734 + .section ".text"
2735 +start:
2736 + and. 3,4,5
2737 + and 3,4,5
2738 + andc 13,14,15
2739 + andc. 16,17,18
2740 + ba label_abs
2741 + bc 0,1,foo
2742 + bca 4,5,foo_abs
2743 + bcl 2,3,foo
2744 + bcla 10,7,foo_abs
2745 + bctr
2746 + bctrl
2747 + bdza foo_abs
2748 + bdz foo
2749 + bdzla foo_abs
2750 + bdzl foo
2751 + beq 0,foo
2752 + beqa 2,foo_abs
2753 + beql 1,foo
2754 + beqla 3,foo_abs
2755 + bge 0,foo
2756 + bgea 4,foo_abs
2757 + bgel 2,foo
2758 + bgela 6,foo_abs
2759 + bgt 4,foo
2760 + bgta 6,foo_abs
2761 + bgtl 5,foo
2762 + bgtla 7,foo_abs
2763 + b label
2764 + bla label_abs
2765 + ble 0,foo
2766 + blea 4,foo
2767 + blel 2,foo
2768 + blela 6,foo_abs
2769 + bl label
2770 + blt 0,foo
2771 + blta 2,foo_abs
2772 + bltl 1,foo
2773 + bltla 3,foo_abs
2774 + bne 0,foo
2775 + bnea 2,foo
2776 + bnel 1,foo
2777 + bnela 3,foo_abs
2778 + bng 1,foo
2779 + bnga 5,foo_abs
2780 + bngl 3,foo
2781 + bngla 7,foo_abs
2782 + bnl 1,foo
2783 + bnla 5,foo_abs
2784 + bnll 3,foo
2785 + bnlla 7,foo_abs
2786 + bns 4,foo
2787 + bnsa 6,foo_abs
2788 + bnsl 5,foo
2789 + bnsla 7,foo_abs
2790 + bso 4,foo
2791 + bsoa 6,foo_abs
2792 + bsol 5,foo
2793 + bsola 7,foo_abs
2794 + crand 4,5,6
2795 + crandc 3,4,5
2796 + creqv 7,0,1
2797 + crnand 1,2,3
2798 + crnor 0,1,2
2799 + cror 5,6,7
2800 + crorc 2,3,4
2801 + crxor 6,7,0
2802 + eqv. 10,11,12
2803 + eqv 10,11,12
2804 + fabs. 21,31
2805 + fabs 21,31
2806 + fcmpo 3,10,11
2807 + fcmpu 3,4,5
2808 + fmr. 3,4
2809 + fmr 3,4
2810 + fnabs. 20,30
2811 + fnabs 20,30
2812 + fneg. 3,4
2813 + fneg 3,4
2814 + frsp 6,7
2815 + frsp. 8,9
2816 + lbz 9,0(1)
2817 + lbzu 10,1(1)
2818 + lbzux 20,21,22
2819 + lbzx 3,4,5
2820 + lfd 21,8(1)
2821 + lfdu 22,16(1)
2822 + lfdux 20,21,22
2823 + lfdx 13,14,15
2824 + lfs 19,0(1)
2825 + lfsu 20,4(1)
2826 + lfsux 10,11,12
2827 + lfsx 10,11,12
2828 + lha 15,6(1)
2829 + lhau 16,8(1)
2830 + lhaux 9,10,11
2831 + lhax 9,10,11
2832 + lhbrx 3,4,5
2833 + lhz 13,0(1)
2834 + lhzu 14,2(1)
2835 + lhzux 20,22,24
2836 + lhzx 23,24,25
2837 + mcrf 0,1
2838 + mcrfs 3,4
2839 + mcrxr 3
2840 + mfcr 3
2841 + mfctr 3
2842 + mfdar 5
2843 + mfdsisr 4
2844 + mffs 30
2845 + mffs. 31
2846 + mflr 2
2847 + mfmsr 19
2848 + mfocrf 3,0x80
2849 + mfrtcl 1
2850 + mfrtcu 0
2851 + mfsdr1 6
2852 + mfspr 3,0x80
2853 + mfsrr0 7
2854 + mfsrr1 8
2855 + mfxer 30
2856 + mr. 30,31
2857 + mr 30,31
2858 + mtcr 3
2859 + mtcrf 0x80,3
2860 + mtctr 19
2861 + mtdar 21
2862 + mtdec 24
2863 + mtdsisr 20
2864 + mtfsb0. 3
2865 + mtfsb0 3
2866 + mtfsb1. 3
2867 + mtfsb1 3
2868 + mtfsf 6,10
2869 + mtfsf. 6,11
2870 + mtfsfi 6,0
2871 + mtfsfi. 6,15
2872 + mtlr 18
2873 + mtmsr 10
2874 + mtocrf 0x80,3
2875 + mtrtcl 23
2876 + mtrtcu 22
2877 + mtsdr1 25
2878 + mtspr 0x80,3
2879 + mtsrr0 26
2880 + mtsrr1 27
2881 + mtxer 17
2882 + nand. 28,29,30
2883 + nand 28,29,30
2884 + neg. 3,4
2885 + neg 3,4
2886 + nego 16,17
2887 + nego. 18,19
2888 + nor. 20,21,22
2889 + nor 20,21,22
2890 + not. 20,21
2891 + not 20,21
2892 + or 0,2,4
2893 + or. 12,14,16
2894 + orc 15,16,17
2895 + orc. 18,19,20
2896 + rfi
2897 + stb 11,2(1)
2898 + stbu 12,3(1)
2899 + stbux 13,14,15
2900 + stbx 3,4,5
2901 + stfd 25,32(1)
2902 + stfdu 26,40(1)
2903 + stfdux 0,1,2
2904 + stfdx 29,30,31
2905 + stfs 23,20(1)
2906 + stfsu 24,24(1)
2907 + stfsux 26,27,28
2908 + stfsx 23,24,25
2909 + sth 17,10(1)
2910 + sthbrx 6,7,8
2911 + sthu 18,12(1)
2912 + sthux 21,22,23
2913 + sthx 12,13,14
2914 + xor. 29,30,31
2915 + xor 29,30,31
2916 diff -Naur binutils-2.19.1.orig/gas/testsuite/gas/ppc/e500mc.d binutils-2.19.1/gas/testsuite/gas/ppc/e500mc.d
2917 --- binutils-2.19.1.orig/gas/testsuite/gas/ppc/e500mc.d 2008-04-14 04:01:38.000000000 -0700
2918 +++ binutils-2.19.1/gas/testsuite/gas/ppc/e500mc.d 2009-03-02 05:59:36.000000000 -0800
2919 @@ -6,7 +6,7 @@
2920
2921 Disassembly of section \.text:
2922
2923 -0+0000000 <start>:
2924 +0+00 <start>:
2925 0: 4c 00 00 4e rfdi
2926 4: 4c 00 00 cc rfgi
2927 8: 4c 1f f9 8c dnh 0,1023
2928 @@ -14,38 +14,43 @@
2929 10: 7c 09 57 be icbiep r9,r10
2930 14: 7c 00 69 dc msgclr r13
2931 18: 7c 00 71 9c msgsnd r14
2932 - 1c: 7c 00 00 7c wait
2933 - 20: 7f 9c e3 78 mdors
2934 - 24: 7c 00 02 1c ehpriv
2935 - 28: 7c 18 cb c6 dsn r24,r25
2936 - 2c: 7c 22 18 be lbepx r1,r2,r3
2937 - 30: 7c 85 32 3e lhepx r4,r5,r6
2938 - 34: 7c e8 48 3e lwepx r7,r8,r9
2939 - 38: 7d 4b 60 3a ldepx r10,r11,r12
2940 - 3c: 7d ae 7c be lfdepx r13,r14,r15
2941 - 40: 7e 11 91 be stbepx r16,r17,r18
2942 - 44: 7e 74 ab 3e sthepx r19,r20,r21
2943 - 48: 7e d7 c1 3e stwepx r22,r23,r24
2944 - 4c: 7f 3a d9 3a stdepx r25,r26,r27
2945 - 50: 7f 9d f5 be stfdepx r28,r29,r30
2946 - 54: 7c 01 14 06 lbdx r0,r1,r2
2947 - 58: 7d 8d 74 46 lhdx r12,r13,r14
2948 - 5c: 7c 64 2c 86 lwdx r3,r4,r5
2949 - 60: 7f 5b e6 46 lfddx f26,r27,r28
2950 - 64: 7d f0 8c c6 lddx r15,r16,r17
2951 - 68: 7c c7 45 06 stbdx r6,r7,r8
2952 - 6c: 7e 53 a5 46 sthdx r18,r19,r20
2953 - 70: 7d 2a 5d 86 stwdx r9,r10,r11
2954 - 74: 7f be ff 46 stfddx f29,r30,r31
2955 - 78: 7e b6 bd c6 stddx r21,r22,r23
2956 - 7c: 7c 20 0d ec dcbal r0,r1
2957 - 80: 7c 26 3f ec dcbzl r6,r7
2958 - 84: 7c 1f 00 7e dcbstep r31,r0
2959 - 88: 7c 01 10 fe dcbfep r1,r2
2960 - 8c: 7c 64 29 fe dcbtstep r3,r4,r5
2961 - 90: 7c c7 42 7e dcbtep r6,r7,r8
2962 - 94: 7c 0b 67 fe dcbzep r11,r12
2963 - 98: 7c 00 06 26 tlbilx 0,0,r0
2964 - 9c: 7c 20 06 26 tlbilx 1,0,r0
2965 - a0: 7c 62 1e 26 tlbilx 3,r2,r3
2966 - a4: 7c 64 2e 26 tlbilx 3,r4,r5
2967 + 1c: 7c 00 00 7c wait
2968 + 20: 7c 00 00 7c wait
2969 + 24: 7c 20 00 7c waitrsv
2970 + 28: 7c 20 00 7c waitrsv
2971 + 2c: 7c 40 00 7c waitimpl
2972 + 30: 7c 40 00 7c waitimpl
2973 + 34: 7f 9c e3 78 mdors
2974 + 38: 7c 00 02 1c ehpriv
2975 + 3c: 7c 18 cb c6 dsn r24,r25
2976 + 40: 7c 22 18 be lbepx r1,r2,r3
2977 + 44: 7c 85 32 3e lhepx r4,r5,r6
2978 + 48: 7c e8 48 3e lwepx r7,r8,r9
2979 + 4c: 7d 4b 60 3a ldepx r10,r11,r12
2980 + 50: 7d ae 7c be lfdepx f13,r14,r15
2981 + 54: 7e 11 91 be stbepx r16,r17,r18
2982 + 58: 7e 74 ab 3e sthepx r19,r20,r21
2983 + 5c: 7e d7 c1 3e stwepx r22,r23,r24
2984 + 60: 7f 3a d9 3a stdepx r25,r26,r27
2985 + 64: 7f 9d f5 be stfdepx f28,r29,r30
2986 + 68: 7c 01 14 06 lbdx r0,r1,r2
2987 + 6c: 7d 8d 74 46 lhdx r12,r13,r14
2988 + 70: 7c 64 2c 86 lwdx r3,r4,r5
2989 + 74: 7f 5b e6 46 lfddx f26,r27,r28
2990 + 78: 7d f0 8c c6 lddx r15,r16,r17
2991 + 7c: 7c c7 45 06 stbdx r6,r7,r8
2992 + 80: 7e 53 a5 46 sthdx r18,r19,r20
2993 + 84: 7d 2a 5d 86 stwdx r9,r10,r11
2994 + 88: 7f be ff 46 stfddx f29,r30,r31
2995 + 8c: 7e b6 bd c6 stddx r21,r22,r23
2996 + 90: 7c 20 0d ec dcbal r0,r1
2997 + 94: 7c 26 3f ec dcbzl r6,r7
2998 + 98: 7c 1f 00 7e dcbstep r31,r0
2999 + 9c: 7c 01 10 fe dcbfep r1,r2
3000 + a0: 7c 64 29 fe dcbtstep r3,r4,r5
3001 + a4: 7c c7 42 7e dcbtep r6,r7,r8
3002 + a8: 7c 0b 67 fe dcbzep r11,r12
3003 + ac: 7c 00 06 26 tlbilx 0,0,r0
3004 + b0: 7c 20 06 26 tlbilx 1,0,r0
3005 + b4: 7c 62 1e 26 tlbilx 3,r2,r3
3006 + b8: 7c 64 2e 26 tlbilx 3,r4,r5
3007 diff -Naur binutils-2.19.1.orig/gas/testsuite/gas/ppc/e500mc.s binutils-2.19.1/gas/testsuite/gas/ppc/e500mc.s
3008 --- binutils-2.19.1.orig/gas/testsuite/gas/ppc/e500mc.s 2008-04-14 04:01:38.000000000 -0700
3009 +++ binutils-2.19.1/gas/testsuite/gas/ppc/e500mc.s 2009-03-02 05:59:36.000000000 -0800
3010 @@ -9,6 +9,11 @@
3011 msgclr 13
3012 msgsnd 14
3013 wait
3014 + wait 0
3015 + waitrsv
3016 + wait 1
3017 + waitimpl
3018 + wait 2
3019 mdors
3020 ehpriv
3021 dsn 24, 25
3022 diff -Naur binutils-2.19.1.orig/gas/testsuite/gas/ppc/power4_32.d binutils-2.19.1/gas/testsuite/gas/ppc/power4_32.d
3023 --- binutils-2.19.1.orig/gas/testsuite/gas/ppc/power4_32.d 1969-12-31 16:00:00.000000000 -0800
3024 +++ binutils-2.19.1/gas/testsuite/gas/ppc/power4_32.d 2009-03-02 05:54:22.000000000 -0800
3025 @@ -0,0 +1,46 @@
3026 +#objdump: -d -Mpower4
3027 +#as: -a32 -mpower4
3028 +#name: Power4 instructions
3029 +
3030 +.*: +file format elf32-powerpc.*
3031 +
3032 +Disassembly of section \.text:
3033 +
3034 +0+00 <start>:
3035 + 0: 80 c7 00 00 lwz r6,0\(r7\)
3036 + 4: 80 c7 00 10 lwz r6,16\(r7\)
3037 + 8: 80 c7 ff f0 lwz r6,-16\(r7\)
3038 + c: 80 c7 80 00 lwz r6,-32768\(r7\)
3039 + 10: 80 c7 7f f0 lwz r6,32752\(r7\)
3040 + 14: 90 c7 00 00 stw r6,0\(r7\)
3041 + 18: 90 c7 00 10 stw r6,16\(r7\)
3042 + 1c: 90 c7 ff f0 stw r6,-16\(r7\)
3043 + 20: 90 c7 80 00 stw r6,-32768\(r7\)
3044 + 24: 90 c7 7f f0 stw r6,32752\(r7\)
3045 + 28: 00 00 02 00 attn
3046 + 2c: 7c 6f f1 20 mtcr r3
3047 + 30: 7c 6f f1 20 mtcr r3
3048 + 34: 7c 68 11 20 mtcrf 129,r3
3049 + 38: 7c 70 11 20 mtocrf 1,r3
3050 + 3c: 7c 70 21 20 mtocrf 2,r3
3051 + 40: 7c 70 41 20 mtocrf 4,r3
3052 + 44: 7c 70 81 20 mtocrf 8,r3
3053 + 48: 7c 71 01 20 mtocrf 16,r3
3054 + 4c: 7c 72 01 20 mtocrf 32,r3
3055 + 50: 7c 74 01 20 mtocrf 64,r3
3056 + 54: 7c 78 01 20 mtocrf 128,r3
3057 + 58: 7c 60 00 26 mfcr r3
3058 + 5c: 7c 70 10 26 mfocrf r3,1
3059 + 60: 7c 70 20 26 mfocrf r3,2
3060 + 64: 7c 70 40 26 mfocrf r3,4
3061 + 68: 7c 70 80 26 mfocrf r3,8
3062 + 6c: 7c 71 00 26 mfocrf r3,16
3063 + 70: 7c 72 00 26 mfocrf r3,32
3064 + 74: 7c 74 00 26 mfocrf r3,64
3065 + 78: 7c 78 00 26 mfocrf r3,128
3066 + 7c: 7c 01 17 ec dcbz r1,r2
3067 + 80: 7c 23 27 ec dcbzl r3,r4
3068 + 84: 7c 05 37 ec dcbz r5,r6
3069 + 88: 7c 05 32 2c dcbt r5,r6
3070 + 8c: 7c 05 32 2c dcbt r5,r6
3071 + 90: 7d 05 32 2c dcbt r5,r6,8
3072 diff -Naur binutils-2.19.1.orig/gas/testsuite/gas/ppc/power4_32.s binutils-2.19.1/gas/testsuite/gas/ppc/power4_32.s
3073 --- binutils-2.19.1.orig/gas/testsuite/gas/ppc/power4_32.s 1969-12-31 16:00:00.000000000 -0800
3074 +++ binutils-2.19.1/gas/testsuite/gas/ppc/power4_32.s 2009-03-02 05:54:22.000000000 -0800
3075 @@ -0,0 +1,39 @@
3076 + .section ".text"
3077 +start:
3078 + lwz 6,0(7)
3079 + lwz 6,16(7)
3080 + lwz 6,-16(7)
3081 + lwz 6,-32768(7)
3082 + lwz 6,32752(7)
3083 + stw 6,0(7)
3084 + stw 6,16(7)
3085 + stw 6,-16(7)
3086 + stw 6,-32768(7)
3087 + stw 6,32752(7)
3088 + attn
3089 + mtcr 3
3090 + mtcrf 0xff,3
3091 + mtcrf 0x81,3
3092 + mtcrf 0x01,3
3093 + mtcrf 0x02,3
3094 + mtcrf 0x04,3
3095 + mtcrf 0x08,3
3096 + mtcrf 0x10,3
3097 + mtcrf 0x20,3
3098 + mtcrf 0x40,3
3099 + mtcrf 0x80,3
3100 + mfcr 3
3101 + mfcr 3,0x01
3102 + mfcr 3,0x02
3103 + mfcr 3,0x04
3104 + mfcr 3,0x08
3105 + mfcr 3,0x10
3106 + mfcr 3,0x20
3107 + mfcr 3,0x40
3108 + mfcr 3,0x80
3109 + dcbz 1, 2
3110 + dcbzl 3, 4
3111 + dcbz 5, 6
3112 + dcbt 5,6
3113 + dcbt 5,6,0
3114 + dcbt 5,6,8
3115 diff -Naur binutils-2.19.1.orig/gas/testsuite/gas/ppc/power6.d binutils-2.19.1/gas/testsuite/gas/ppc/power6.d
3116 --- binutils-2.19.1.orig/gas/testsuite/gas/ppc/power6.d 2008-07-31 19:44:12.000000000 -0700
3117 +++ binutils-2.19.1/gas/testsuite/gas/ppc/power6.d 2009-03-02 05:59:36.000000000 -0800
3118 @@ -28,4 +28,44 @@
3119 48: 7e 08 3a ac dstt r8,r7,0
3120 4c: 7c 65 32 ec dstst r5,r6,3
3121 50: 7e 44 2a ec dststt r4,r5,2
3122 -
3123 + 54: 00 00 02 00 attn
3124 + 58: 7c 6f f1 20 mtcr r3
3125 + 5c: 7c 6f f1 20 mtcr r3
3126 + 60: 7c 68 11 20 mtcrf 129,r3
3127 + 64: 7c 70 11 20 mtocrf 1,r3
3128 + 68: 7c 70 21 20 mtocrf 2,r3
3129 + 6c: 7c 70 41 20 mtocrf 4,r3
3130 + 70: 7c 70 81 20 mtocrf 8,r3
3131 + 74: 7c 71 01 20 mtocrf 16,r3
3132 + 78: 7c 72 01 20 mtocrf 32,r3
3133 + 7c: 7c 74 01 20 mtocrf 64,r3
3134 + 80: 7c 78 01 20 mtocrf 128,r3
3135 + 84: 7c 60 00 26 mfcr r3
3136 + 88: 7c 70 10 26 mfocrf r3,1
3137 + 8c: 7c 70 20 26 mfocrf r3,2
3138 + 90: 7c 70 40 26 mfocrf r3,4
3139 + 94: 7c 70 80 26 mfocrf r3,8
3140 + 98: 7c 71 00 26 mfocrf r3,16
3141 + 9c: 7c 72 00 26 mfocrf r3,32
3142 + a0: 7c 74 00 26 mfocrf r3,64
3143 + a4: 7c 78 00 26 mfocrf r3,128
3144 + a8: 7c 01 17 ec dcbz r1,r2
3145 + ac: 7c 23 27 ec dcbzl r3,r4
3146 + b0: 7c 05 37 ec dcbz r5,r6
3147 + b4: fc 0c 55 8e mtfsf 6,f10
3148 + b8: fc 0c 5d 8f mtfsf. 6,f11
3149 + bc: fc 0c 55 8e mtfsf 6,f10
3150 + c0: fc 0c 5d 8f mtfsf. 6,f11
3151 + c4: fc 0d 55 8e mtfsf 6,f10,0,1
3152 + c8: fc 0d 5d 8f mtfsf. 6,f11,0,1
3153 + cc: fe 0c 55 8e mtfsf 6,f10,1,0
3154 + d0: fe 0c 5d 8f mtfsf. 6,f11,1,0
3155 + d4: ff 00 01 0c mtfsfi 6,0
3156 + d8: ff 00 f1 0d mtfsfi. 6,15
3157 + dc: ff 00 01 0c mtfsfi 6,0
3158 + e0: ff 00 f1 0d mtfsfi. 6,15
3159 + e4: ff 01 01 0c mtfsfi 6,0,1
3160 + e8: ff 01 f1 0d mtfsfi. 6,15,1
3161 + ec: 7d 6a 02 74 cbcdtd r10,r11
3162 + f0: 7d 6a 02 34 cdtbcd r10,r11
3163 + f4: 7d 4b 60 94 addg6s r10,r11,r12
3164 diff -Naur binutils-2.19.1.orig/gas/testsuite/gas/ppc/power6.s binutils-2.19.1/gas/testsuite/gas/ppc/power6.s
3165 --- binutils-2.19.1.orig/gas/testsuite/gas/ppc/power6.s 2008-07-31 19:44:12.000000000 -0700
3166 +++ binutils-2.19.1/gas/testsuite/gas/ppc/power6.s 2009-03-02 05:59:36.000000000 -0800
3167 @@ -23,3 +23,44 @@
3168 dstt 8,7,0
3169 dstst 5,6,3
3170 dststt 4,5,2
3171 + attn
3172 + mtcr 3
3173 + mtcrf 0xff,3
3174 + mtcrf 0x81,3
3175 + mtcrf 0x01,3
3176 + mtcrf 0x02,3
3177 + mtcrf 0x04,3
3178 + mtcrf 0x08,3
3179 + mtcrf 0x10,3
3180 + mtcrf 0x20,3
3181 + mtcrf 0x40,3
3182 + mtcrf 0x80,3
3183 + mfcr 3
3184 + mfcr 3,0x01
3185 + mfcr 3,0x02
3186 + mfcr 3,0x04
3187 + mfcr 3,0x08
3188 + mfcr 3,0x10
3189 + mfcr 3,0x20
3190 + mfcr 3,0x40
3191 + mfcr 3,0x80
3192 + dcbz 1, 2
3193 + dcbzl 3, 4
3194 + dcbz 5, 6
3195 + mtfsf 6,10
3196 + mtfsf. 6,11
3197 + mtfsf 6,10,0,0
3198 + mtfsf. 6,11,0,0
3199 + mtfsf 6,10,0,1
3200 + mtfsf. 6,11,0,1
3201 + mtfsf 6,10,1,0
3202 + mtfsf. 6,11,1,0
3203 + mtfsfi 6,0
3204 + mtfsfi. 6,15
3205 + mtfsfi 6,0,0
3206 + mtfsfi. 6,15,0
3207 + mtfsfi 6,0,1
3208 + mtfsfi. 6,15,1
3209 + cbcdtd 10,11
3210 + cdtbcd 10,11
3211 + addg6s 10,11,12
3212 diff -Naur binutils-2.19.1.orig/gas/testsuite/gas/ppc/power7.d binutils-2.19.1/gas/testsuite/gas/ppc/power7.d
3213 --- binutils-2.19.1.orig/gas/testsuite/gas/ppc/power7.d 2008-08-01 21:38:51.000000000 -0700
3214 +++ binutils-2.19.1/gas/testsuite/gas/ppc/power7.d 2009-03-02 05:59:36.000000000 -0800
3215 @@ -1,8 +1,8 @@
3216 -#as: -a32 -mpower7
3217 +#as: -mpower7
3218 #objdump: -dr -Mpower7
3219 #name: POWER7 tests (includes DFP, Altivec and VSX)
3220
3221 -.*: +file format elf32-powerpc.*
3222 +.*: +file format elf(32)?(64)?-powerpc.*
3223
3224 Disassembly of section \.text:
3225
3226 @@ -33,25 +33,81 @@
3227 5c: f1 6c 67 87 xvmovdp vs43,vs44
3228 60: f0 64 2f 80 xvcpsgndp vs3,vs4,vs5
3229 64: f1 6c 6f 87 xvcpsgndp vs43,vs44,vs45
3230 - 68: 4c 00 03 24 doze
3231 - 6c: 4c 00 03 64 nap
3232 - 70: 4c 00 03 a4 sleep
3233 - 74: 4c 00 03 e4 rvwinkle
3234 - 78: 7c 83 01 34 prtyw r3,r4
3235 - 7c: 7d cd 01 74 prtyd r13,r14
3236 - 80: 7d 5c 02 a6 mfcfar r10
3237 - 84: 7d 7c 03 a6 mtcfar r11
3238 - 88: 7c 83 2b f8 cmpb r3,r4,r5
3239 - 8c: 7c c0 3c be mffgpr f6,r7
3240 - 90: 7d 00 4d be mftgpr r8,f9
3241 - 94: 7d 4b 66 2a lwzcix r10,r11,r12
3242 - 98: 7d ae 7e 2e lfdpx f13,r14,r15
3243 - 9c: ee 11 90 04 dadd f16,f17,f18
3244 - a0: fe 96 c0 04 daddq f20,f22,f24
3245 - a4: 7c 60 06 6c dss 3
3246 - a8: 7e 00 06 6c dssall
3247 - ac: 7c 25 22 ac dst r5,r4,1
3248 - b0: 7e 08 3a ac dstt r8,r7,0
3249 - b4: 7c 65 32 ec dstst r5,r6,3
3250 - b8: 7e 44 2a ec dststt r4,r5,2
3251 - bc: 4e 80 00 20 blr
3252 + 68: 7c 00 00 7c wait
3253 + 6c: 7c 00 00 7c wait
3254 + 70: 7c 20 00 7c waitrsv
3255 + 74: 7c 20 00 7c waitrsv
3256 + 78: 7c 40 00 7c waitimpl
3257 + 7c: 7c 40 00 7c waitimpl
3258 + 80: 4c 00 03 24 doze
3259 + 84: 4c 00 03 64 nap
3260 + 88: 4c 00 03 a4 sleep
3261 + 8c: 4c 00 03 e4 rvwinkle
3262 + 90: 7c 83 01 34 prtyw r3,r4
3263 + 94: 7d cd 01 74 prtyd r13,r14
3264 + 98: 7d 5c 02 a6 mfcfar r10
3265 + 9c: 7d 7c 03 a6 mtcfar r11
3266 + a0: 7c 83 2b f8 cmpb r3,r4,r5
3267 + a4: 7d 4b 66 2a lwzcix r10,r11,r12
3268 + a8: ee 11 90 04 dadd f16,f17,f18
3269 + ac: fe 96 c0 04 daddq f20,f22,f24
3270 + b0: 7c 60 06 6c dss 3
3271 + b4: 7e 00 06 6c dssall
3272 + b8: 7c 25 22 ac dst r5,r4,1
3273 + bc: 7e 08 3a ac dstt r8,r7,0
3274 + c0: 7c 65 32 ec dstst r5,r6,3
3275 + c4: 7e 44 2a ec dststt r4,r5,2
3276 + c8: 7d 4b 63 56 divwe r10,r11,r12
3277 + cc: 7d 6c 6b 57 divwe\. r11,r12,r13
3278 + d0: 7d 8d 77 56 divweo r12,r13,r14
3279 + d4: 7d ae 7f 57 divweo\. r13,r14,r15
3280 + d8: 7d 4b 63 16 divweu r10,r11,r12
3281 + dc: 7d 6c 6b 17 divweu\. r11,r12,r13
3282 + e0: 7d 8d 77 16 divweuo r12,r13,r14
3283 + e4: 7d ae 7f 17 divweuo\. r13,r14,r15
3284 + e8: 7e 27 d9 f8 bpermd r7,r17,r27
3285 + ec: 7e 8a 02 f4 popcntw r10,r20
3286 + f0: 7e 8a 03 f4 popcntd r10,r20
3287 + f4: 7e 95 b4 28 ldbrx r20,r21,r22
3288 + f8: 7e 95 b5 28 stdbrx r20,r21,r22
3289 + fc: 7d 40 56 ee lfiwzx f10,0,r10
3290 + 100: 7d 49 56 ee lfiwzx f10,r9,r10
3291 + 104: ec 80 2e 9c fcfids f4,f5
3292 + 108: ec 80 2e 9d fcfids\. f4,f5
3293 + 10c: ec 80 2f 9c fcfidus f4,f5
3294 + 110: ec 80 2f 9d fcfidus\. f4,f5
3295 + 114: fc 80 29 1c fctiwu f4,f5
3296 + 118: fc 80 29 1d fctiwu\. f4,f5
3297 + 11c: fc 80 29 1e fctiwuz f4,f5
3298 + 120: fc 80 29 1f fctiwuz\. f4,f5
3299 + 124: fc 80 2f 5c fctidu f4,f5
3300 + 128: fc 80 2f 5d fctidu\. f4,f5
3301 + 12c: fc 80 2f 5e fctiduz f4,f5
3302 + 130: fc 80 2f 5f fctiduz\. f4,f5
3303 + 134: fc 80 2f 9c fcfidu f4,f5
3304 + 138: fc 80 2f 9d fcfidu\. f4,f5
3305 + 13c: fc 0a 59 00 ftdiv cr0,f10,f11
3306 + 140: ff 8a 59 00 ftdiv cr7,f10,f11
3307 + 144: fc 00 51 40 ftsqrt cr0,f10
3308 + 148: ff 80 51 40 ftsqrt cr7,f10
3309 + 14c: 7e 08 4a 2c dcbtt r8,r9
3310 + 150: 7e 08 49 ec dcbtstt r8,r9
3311 + 154: ed 40 66 44 dcffix f10,f12
3312 + 158: ee 80 b6 45 dcffix\. f20,f22
3313 + 15c: 7d 4b 60 68 lbarx r10,r11,r12
3314 + 160: 7d 4b 60 68 lbarx r10,r11,r12
3315 + 164: 7d 4b 60 69 lbarx r10,r11,r12,1
3316 + 168: 7e 95 b0 e8 lharx r20,r21,r22
3317 + 16c: 7e 95 b0 e8 lharx r20,r21,r22
3318 + 170: 7e 95 b0 e9 lharx r20,r21,r22,1
3319 + 174: 7d 4b 65 6d stbcx\. r10,r11,r12
3320 + 178: 7d 4b 65 ad sthcx\. r10,r11,r12
3321 + 17c: fd c0 78 30 fre f14,f15
3322 + 180: fd c0 78 31 fre\. f14,f15
3323 + 184: ed c0 78 30 fres f14,f15
3324 + 188: ed c0 78 31 fres\. f14,f15
3325 + 18c: fd c0 78 34 frsqrte f14,f15
3326 + 190: fd c0 78 35 frsqrte\. f14,f15
3327 + 194: ed c0 78 34 frsqrtes f14,f15
3328 + 198: ed c0 78 35 frsqrtes\. f14,f15
3329 + 19c: 7c 43 27 1e isel r2,r3,r4,28
3330 diff -Naur binutils-2.19.1.orig/gas/testsuite/gas/ppc/power7.s binutils-2.19.1/gas/testsuite/gas/ppc/power7.s
3331 --- binutils-2.19.1.orig/gas/testsuite/gas/ppc/power7.s 2008-08-01 21:38:51.000000000 -0700
3332 +++ binutils-2.19.1/gas/testsuite/gas/ppc/power7.s 2009-03-02 05:59:36.000000000 -0800
3333 @@ -1,9 +1,4 @@
3334 - .file "power7.c"
3335 .section ".text"
3336 - .align 2
3337 - .p2align 4,,15
3338 - .globl power7
3339 - .type power7, @function
3340 power7:
3341 lxvd2x 3,4,5
3342 lxvd2ux 3,4,5
3343 @@ -31,6 +26,12 @@
3344 xvcpsgndp 43,44,44
3345 xvcpsgndp 3,4,5
3346 xvcpsgndp 43,44,45
3347 + wait
3348 + wait 0
3349 + waitrsv
3350 + wait 1
3351 + waitimpl
3352 + wait 2
3353 doze
3354 nap
3355 sleep
3356 @@ -40,10 +41,7 @@
3357 mfcfar 10
3358 mtcfar 11
3359 cmpb 3,4,5
3360 - mffgpr 6,7
3361 - mftgpr 8,9
3362 lwzcix 10,11,12
3363 - lfdpx 13,14,15
3364 dadd 16,17,18
3365 daddq 20,22,24
3366 dss 3
3367 @@ -52,7 +50,57 @@
3368 dstt 8,7,0
3369 dstst 5,6,3
3370 dststt 4,5,2
3371 - blr
3372 - .size power7,.-power7
3373 - .ident "GCC: (GNU) 4.1.2 20070115 (prerelease) (SUSE Linux)"
3374 - .section .note.GNU-stack,"",@progbits
3375 + divwe 10,11,12
3376 + divwe. 11,12,13
3377 + divweo 12,13,14
3378 + divweo. 13,14,15
3379 + divweu 10,11,12
3380 + divweu. 11,12,13
3381 + divweuo 12,13,14
3382 + divweuo. 13,14,15
3383 + bpermd 7,17,27
3384 + popcntw 10,20
3385 + popcntd 10,20
3386 + ldbrx 20,21,22
3387 + stdbrx 20,21,22
3388 + lfiwzx 10,0,10
3389 + lfiwzx 10,9,10
3390 + fcfids 4,5
3391 + fcfids. 4,5
3392 + fcfidus 4,5
3393 + fcfidus. 4,5
3394 + fctiwu 4,5
3395 + fctiwu. 4,5
3396 + fctiwuz 4,5
3397 + fctiwuz. 4,5
3398 + fctidu 4,5
3399 + fctidu. 4,5
3400 + fctiduz 4,5
3401 + fctiduz. 4,5
3402 + fcfidu 4,5
3403 + fcfidu. 4,5
3404 + ftdiv 0,10,11
3405 + ftdiv 7,10,11
3406 + ftsqrt 0,10
3407 + ftsqrt 7,10
3408 + dcbtt 8,9
3409 + dcbtstt 8,9
3410 + dcffix 10,12
3411 + dcffix. 20,22
3412 + lbarx 10,11,12
3413 + lbarx 10,11,12,0
3414 + lbarx 10,11,12,1
3415 + lharx 20,21,22
3416 + lharx 20,21,22,0
3417 + lharx 20,21,22,1
3418 + stbcx. 10,11,12
3419 + sthcx. 10,11,12
3420 + fre 14,15
3421 + fre. 14,15
3422 + fres 14,15
3423 + fres. 14,15
3424 + frsqrte 14,15
3425 + frsqrte. 14,15
3426 + frsqrtes 14,15
3427 + frsqrtes. 14,15
3428 + isel 2,3,4,28
3429 diff -Naur binutils-2.19.1.orig/gas/testsuite/gas/ppc/ppc.exp binutils-2.19.1/gas/testsuite/gas/ppc/ppc.exp
3430 --- binutils-2.19.1.orig/gas/testsuite/gas/ppc/ppc.exp 2008-08-01 21:38:51.000000000 -0700
3431 +++ binutils-2.19.1/gas/testsuite/gas/ppc/ppc.exp 2009-03-02 05:59:36.000000000 -0800
3432 @@ -45,7 +45,10 @@
3433 run_dump_test "ppc750ps"
3434 run_dump_test "e500mc"
3435 run_dump_test "cell"
3436 + run_dump_test "common"
3437 + run_dump_test "power4_32"
3438 run_dump_test "power6"
3439 run_dump_test "power7"
3440 + run_dump_test "vsx"
3441 }
3442 }
3443 diff -Naur binutils-2.19.1.orig/gas/testsuite/gas/ppc/vsx.d binutils-2.19.1/gas/testsuite/gas/ppc/vsx.d
3444 --- binutils-2.19.1.orig/gas/testsuite/gas/ppc/vsx.d 1969-12-31 16:00:00.000000000 -0800
3445 +++ binutils-2.19.1/gas/testsuite/gas/ppc/vsx.d 2009-03-02 05:59:36.000000000 -0800
3446 @@ -0,0 +1,174 @@
3447 +#as: -mvsx
3448 +#objdump: -d -Mvsx
3449 +#name: VSX tests
3450 +
3451 +.*: +file format elf(32)?(64)?-powerpc.*
3452 +
3453 +
3454 +Disassembly of section \.text:
3455 +
3456 +0+00 <start>:
3457 + 0: 7d 0a a4 99 lxsdx vs40,r10,r20
3458 + 4: 7d 0a a4 d9 lxsdux vs40,r10,r20
3459 + 8: 7d 0a a6 99 lxvd2x vs40,r10,r20
3460 + c: 7d 0a a6 d9 lxvd2ux vs40,r10,r20
3461 + 10: 7d 0a a2 99 lxvdsx vs40,r10,r20
3462 + 14: 7d 0a a6 19 lxvw4x vs40,r10,r20
3463 + 18: 7d 0a a6 59 lxvw4ux vs40,r10,r20
3464 + 1c: 7d 0a a5 99 stxsdx vs40,r10,r20
3465 + 20: 7d 0a a5 d9 stxsdux vs40,r10,r20
3466 + 24: 7d 0a a7 99 stxvd2x vs40,r10,r20
3467 + 28: 7d 0a a7 d9 stxvd2ux vs40,r10,r20
3468 + 2c: 7d 0a a7 19 stxvw4x vs40,r10,r20
3469 + 30: 7d 0a a7 59 stxvw4ux vs40,r10,r20
3470 + 34: f1 00 e5 67 xsabsdp vs40,vs60
3471 + 38: f1 12 e1 07 xsadddp vs40,vs50,vs60
3472 + 3c: f0 92 e1 5e xscmpodp cr1,vs50,vs60
3473 + 40: f0 92 e1 1e xscmpudp cr1,vs50,vs60
3474 + 44: f1 12 e5 87 xscpsgndp vs40,vs50,vs60
3475 + 48: f1 00 e4 27 xscvdpsp vs40,vs60
3476 + 4c: f1 00 e5 63 xscvdpsxds vs40,vs60
3477 + 50: f1 00 e1 63 xscvdpsxws vs40,vs60
3478 + 54: f1 00 e5 23 xscvdpuxds vs40,vs60
3479 + 58: f1 00 e1 23 xscvdpuxws vs40,vs60
3480 + 5c: f1 00 e5 27 xscvspdp vs40,vs60
3481 + 60: f1 00 e5 e3 xscvsxddp vs40,vs60
3482 + 64: f1 00 e5 a3 xscvuxddp vs40,vs60
3483 + 68: f1 12 e1 c7 xsdivdp vs40,vs50,vs60
3484 + 6c: f1 12 e1 0f xsmaddadp vs40,vs50,vs60
3485 + 70: f1 12 e1 4f xsmaddmdp vs40,vs50,vs60
3486 + 74: f1 12 e5 07 xsmaxdp vs40,vs50,vs60
3487 + 78: f1 12 e5 47 xsmindp vs40,vs50,vs60
3488 + 7c: f1 12 e1 8f xsmsubadp vs40,vs50,vs60
3489 + 80: f1 12 e1 cf xsmsubmdp vs40,vs50,vs60
3490 + 84: f1 12 e1 87 xsmuldp vs40,vs50,vs60
3491 + 88: f1 00 e5 a7 xsnabsdp vs40,vs60
3492 + 8c: f1 00 e5 e7 xsnegdp vs40,vs60
3493 + 90: f1 12 e5 0f xsnmaddadp vs40,vs50,vs60
3494 + 94: f1 12 e5 4f xsnmaddmdp vs40,vs50,vs60
3495 + 98: f1 12 e5 8f xsnmsubadp vs40,vs50,vs60
3496 + 9c: f1 12 e5 cf xsnmsubmdp vs40,vs50,vs60
3497 + a0: f1 00 e1 27 xsrdpi vs40,vs60
3498 + a4: f1 00 e1 af xsrdpic vs40,vs60
3499 + a8: f1 00 e1 e7 xsrdpim vs40,vs60
3500 + ac: f1 00 e1 a7 xsrdpip vs40,vs60
3501 + b0: f1 00 e1 67 xsrdpiz vs40,vs60
3502 + b4: f1 00 e1 6b xsredp vs40,vs60
3503 + b8: f1 00 e1 2b xsrsqrtedp vs40,vs60
3504 + bc: f1 00 e1 2f xssqrtdp vs40,vs60
3505 + c0: f1 12 e1 47 xssubdp vs40,vs50,vs60
3506 + c4: f0 92 e1 ee xstdivdp cr1,vs50,vs60
3507 + c8: f0 80 e1 aa xstsqrtdp cr1,vs60
3508 + cc: f1 00 e7 67 xvabsdp vs40,vs60
3509 + d0: f1 00 e6 67 xvabssp vs40,vs60
3510 + d4: f1 12 e3 07 xvadddp vs40,vs50,vs60
3511 + d8: f1 12 e2 07 xvaddsp vs40,vs50,vs60
3512 + dc: f1 12 e3 1f xvcmpeqdp vs40,vs50,vs60
3513 + e0: f1 12 e7 1f xvcmpeqdp. vs40,vs50,vs60
3514 + e4: f1 12 e2 1f xvcmpeqsp vs40,vs50,vs60
3515 + e8: f1 12 e6 1f xvcmpeqsp. vs40,vs50,vs60
3516 + ec: f1 12 e3 9f xvcmpgedp vs40,vs50,vs60
3517 + f0: f1 12 e7 9f xvcmpgedp. vs40,vs50,vs60
3518 + f4: f1 12 e2 9f xvcmpgesp vs40,vs50,vs60
3519 + f8: f1 12 e6 9f xvcmpgesp. vs40,vs50,vs60
3520 + fc: f1 12 e3 5f xvcmpgtdp vs40,vs50,vs60
3521 + 100: f1 12 e7 5f xvcmpgtdp. vs40,vs50,vs60
3522 + 104: f1 12 e2 5f xvcmpgtsp vs40,vs50,vs60
3523 + 108: f1 12 e6 5f xvcmpgtsp. vs40,vs50,vs60
3524 + 10c: f1 12 e7 87 xvcpsgndp vs40,vs50,vs60
3525 + 110: f1 1c e7 87 xvmovdp vs40,vs60
3526 + 114: f1 1c e7 87 xvmovdp vs40,vs60
3527 + 118: f1 12 e6 87 xvcpsgnsp vs40,vs50,vs60
3528 + 11c: f1 1c e6 87 xvmovsp vs40,vs60
3529 + 120: f1 1c e6 87 xvmovsp vs40,vs60
3530 + 124: f1 00 e6 27 xvcvdpsp vs40,vs60
3531 + 128: f1 00 e7 63 xvcvdpsxds vs40,vs60
3532 + 12c: f1 00 e3 63 xvcvdpsxws vs40,vs60
3533 + 130: f1 00 e7 23 xvcvdpuxds vs40,vs60
3534 + 134: f1 00 e3 23 xvcvdpuxws vs40,vs60
3535 + 138: f1 00 e7 27 xvcvspdp vs40,vs60
3536 + 13c: f1 00 e6 63 xvcvspsxds vs40,vs60
3537 + 140: f1 00 e2 63 xvcvspsxws vs40,vs60
3538 + 144: f1 00 e6 23 xvcvspuxds vs40,vs60
3539 + 148: f1 00 e2 23 xvcvspuxws vs40,vs60
3540 + 14c: f1 00 e7 e3 xvcvsxddp vs40,vs60
3541 + 150: f1 00 e6 e3 xvcvsxdsp vs40,vs60
3542 + 154: f1 00 e3 e3 xvcvsxwdp vs40,vs60
3543 + 158: f1 00 e2 e3 xvcvsxwsp vs40,vs60
3544 + 15c: f1 00 e7 a3 xvcvuxddp vs40,vs60
3545 + 160: f1 00 e6 a3 xvcvuxdsp vs40,vs60
3546 + 164: f1 00 e3 a3 xvcvuxwdp vs40,vs60
3547 + 168: f1 00 e2 a3 xvcvuxwsp vs40,vs60
3548 + 16c: f1 12 e3 c7 xvdivdp vs40,vs50,vs60
3549 + 170: f1 12 e2 c7 xvdivsp vs40,vs50,vs60
3550 + 174: f1 12 e3 0f xvmaddadp vs40,vs50,vs60
3551 + 178: f1 12 e3 4f xvmaddmdp vs40,vs50,vs60
3552 + 17c: f1 12 e2 0f xvmaddasp vs40,vs50,vs60
3553 + 180: f1 12 e2 4f xvmaddmsp vs40,vs50,vs60
3554 + 184: f1 12 e7 07 xvmaxdp vs40,vs50,vs60
3555 + 188: f1 12 e6 07 xvmaxsp vs40,vs50,vs60
3556 + 18c: f1 12 e7 47 xvmindp vs40,vs50,vs60
3557 + 190: f1 12 e6 47 xvminsp vs40,vs50,vs60
3558 + 194: f1 12 e3 8f xvmsubadp vs40,vs50,vs60
3559 + 198: f1 12 e3 cf xvmsubmdp vs40,vs50,vs60
3560 + 19c: f1 12 e2 8f xvmsubasp vs40,vs50,vs60
3561 + 1a0: f1 12 e2 cf xvmsubmsp vs40,vs50,vs60
3562 + 1a4: f1 12 e3 87 xvmuldp vs40,vs50,vs60
3563 + 1a8: f1 12 e2 87 xvmulsp vs40,vs50,vs60
3564 + 1ac: f1 00 e7 a7 xvnabsdp vs40,vs60
3565 + 1b0: f1 00 e6 a7 xvnabssp vs40,vs60
3566 + 1b4: f1 00 e7 e7 xvnegdp vs40,vs60
3567 + 1b8: f1 00 e6 e7 xvnegsp vs40,vs60
3568 + 1bc: f1 12 e7 0f xvnmaddadp vs40,vs50,vs60
3569 + 1c0: f1 12 e7 4f xvnmaddmdp vs40,vs50,vs60
3570 + 1c4: f1 12 e6 0f xvnmaddasp vs40,vs50,vs60
3571 + 1c8: f1 12 e6 4f xvnmaddmsp vs40,vs50,vs60
3572 + 1cc: f1 12 e7 8f xvnmsubadp vs40,vs50,vs60
3573 + 1d0: f1 12 e7 cf xvnmsubmdp vs40,vs50,vs60
3574 + 1d4: f1 12 e6 8f xvnmsubasp vs40,vs50,vs60
3575 + 1d8: f1 12 e6 cf xvnmsubmsp vs40,vs50,vs60
3576 + 1dc: f1 00 e3 27 xvrdpi vs40,vs60
3577 + 1e0: f1 00 e3 af xvrdpic vs40,vs60
3578 + 1e4: f1 00 e3 e7 xvrdpim vs40,vs60
3579 + 1e8: f1 00 e3 a7 xvrdpip vs40,vs60
3580 + 1ec: f1 00 e3 67 xvrdpiz vs40,vs60
3581 + 1f0: f1 00 e3 6b xvredp vs40,vs60
3582 + 1f4: f1 00 e2 6b xvresp vs40,vs60
3583 + 1f8: f1 00 e2 27 xvrspi vs40,vs60
3584 + 1fc: f1 00 e2 af xvrspic vs40,vs60
3585 + 200: f1 00 e2 e7 xvrspim vs40,vs60
3586 + 204: f1 00 e2 a7 xvrspip vs40,vs60
3587 + 208: f1 00 e2 67 xvrspiz vs40,vs60
3588 + 20c: f1 00 e3 2b xvrsqrtedp vs40,vs60
3589 + 210: f1 00 e2 2b xvrsqrtesp vs40,vs60
3590 + 214: f1 00 e3 2f xvsqrtdp vs40,vs60
3591 + 218: f1 00 e2 2f xvsqrtsp vs40,vs60
3592 + 21c: f1 12 e3 47 xvsubdp vs40,vs50,vs60
3593 + 220: f1 12 e2 47 xvsubsp vs40,vs50,vs60
3594 + 224: f0 92 e3 ee xvtdivdp cr1,vs50,vs60
3595 + 228: f0 92 e2 ee xvtdivsp cr1,vs50,vs60
3596 + 22c: f0 80 e3 aa xvtsqrtdp cr1,vs60
3597 + 230: f0 80 e2 aa xvtsqrtsp cr1,vs60
3598 + 234: f1 12 e4 17 xxland vs40,vs50,vs60
3599 + 238: f1 12 e4 57 xxlandc vs40,vs50,vs60
3600 + 23c: f1 12 e5 17 xxlnor vs40,vs50,vs60
3601 + 240: f1 12 e4 97 xxlor vs40,vs50,vs60
3602 + 244: f1 12 e4 d7 xxlxor vs40,vs50,vs60
3603 + 248: f1 12 e0 97 xxmrghw vs40,vs50,vs60
3604 + 24c: f1 12 e1 97 xxmrglw vs40,vs50,vs60
3605 + 250: f1 12 e0 57 xxmrghd vs40,vs50,vs60
3606 + 254: f1 12 e1 57 xxpermdi vs40,vs50,vs60,1
3607 + 258: f1 12 e2 57 xxpermdi vs40,vs50,vs60,2
3608 + 25c: f1 12 e3 57 xxmrgld vs40,vs50,vs60
3609 + 260: f1 12 90 57 xxspltd vs40,vs50,0
3610 + 264: f1 12 90 57 xxspltd vs40,vs50,0
3611 + 268: f1 12 93 57 xxspltd vs40,vs50,1
3612 + 26c: f1 12 93 57 xxspltd vs40,vs50,1
3613 + 270: f1 12 e0 57 xxmrghd vs40,vs50,vs60
3614 + 274: f1 12 e0 57 xxmrghd vs40,vs50,vs60
3615 + 278: f1 12 e3 57 xxmrgld vs40,vs50,vs60
3616 + 27c: f1 12 92 57 xxswapd vs40,vs50
3617 + 280: f1 12 92 57 xxswapd vs40,vs50
3618 + 284: f1 12 e7 bf xxsel vs40,vs50,vs60,vs62
3619 + 288: f1 12 e2 17 xxsldwi vs40,vs50,vs60,2
3620 + 28c: f1 02 e2 93 xxspltw vs40,vs60,2
3621 diff -Naur binutils-2.19.1.orig/gas/testsuite/gas/ppc/vsx.s binutils-2.19.1/gas/testsuite/gas/ppc/vsx.s
3622 --- binutils-2.19.1.orig/gas/testsuite/gas/ppc/vsx.s 1969-12-31 16:00:00.000000000 -0800
3623 +++ binutils-2.19.1/gas/testsuite/gas/ppc/vsx.s 2009-03-02 05:59:36.000000000 -0800
3624 @@ -0,0 +1,166 @@
3625 + .section ".text"
3626 +start:
3627 + lxsdx 40,10,20
3628 + lxsdux 40,10,20
3629 + lxvd2x 40,10,20
3630 + lxvd2ux 40,10,20
3631 + lxvdsx 40,10,20
3632 + lxvw4x 40,10,20
3633 + lxvw4ux 40,10,20
3634 + stxsdx 40,10,20
3635 + stxsdux 40,10,20
3636 + stxvd2x 40,10,20
3637 + stxvd2ux 40,10,20
3638 + stxvw4x 40,10,20
3639 + stxvw4ux 40,10,20
3640 + xsabsdp 40,60
3641 + xsadddp 40,50,60
3642 + xscmpodp 1,50,60
3643 + xscmpudp 1,50,60
3644 + xscpsgndp 40,50,60
3645 + xscvdpsp 40,60
3646 + xscvdpsxds 40,60
3647 + xscvdpsxws 40,60
3648 + xscvdpuxds 40,60
3649 + xscvdpuxws 40,60
3650 + xscvspdp 40,60
3651 + xscvsxddp 40,60
3652 + xscvuxddp 40,60
3653 + xsdivdp 40,50,60
3654 + xsmaddadp 40,50,60
3655 + xsmaddmdp 40,50,60
3656 + xsmaxdp 40,50,60
3657 + xsmindp 40,50,60
3658 + xsmsubadp 40,50,60
3659 + xsmsubmdp 40,50,60
3660 + xsmuldp 40,50,60
3661 + xsnabsdp 40,60
3662 + xsnegdp 40,60
3663 + xsnmaddadp 40,50,60
3664 + xsnmaddmdp 40,50,60
3665 + xsnmsubadp 40,50,60
3666 + xsnmsubmdp 40,50,60
3667 + xsrdpi 40,60
3668 + xsrdpic 40,60
3669 + xsrdpim 40,60
3670 + xsrdpip 40,60
3671 + xsrdpiz 40,60
3672 + xsredp 40,60
3673 + xsrsqrtedp 40,60
3674 + xssqrtdp 40,60
3675 + xssubdp 40,50,60
3676 + xstdivdp 1,50,60
3677 + xstsqrtdp 1,60
3678 + xvabsdp 40,60
3679 + xvabssp 40,60
3680 + xvadddp 40,50,60
3681 + xvaddsp 40,50,60
3682 + xvcmpeqdp 40,50,60
3683 + xvcmpeqdp. 40,50,60
3684 + xvcmpeqsp 40,50,60
3685 + xvcmpeqsp. 40,50,60
3686 + xvcmpgedp 40,50,60
3687 + xvcmpgedp. 40,50,60
3688 + xvcmpgesp 40,50,60
3689 + xvcmpgesp. 40,50,60
3690 + xvcmpgtdp 40,50,60
3691 + xvcmpgtdp. 40,50,60
3692 + xvcmpgtsp 40,50,60
3693 + xvcmpgtsp. 40,50,60
3694 + xvcpsgndp 40,50,60
3695 + xvmovdp 40,60
3696 + xvcpsgndp 40,60,60
3697 + xvcpsgnsp 40,50,60
3698 + xvmovsp 40,60
3699 + xvcpsgnsp 40,60,60
3700 + xvcvdpsp 40,60
3701 + xvcvdpsxds 40,60
3702 + xvcvdpsxws 40,60
3703 + xvcvdpuxds 40,60
3704 + xvcvdpuxws 40,60
3705 + xvcvspdp 40,60
3706 + xvcvspsxds 40,60
3707 + xvcvspsxws 40,60
3708 + xvcvspuxds 40,60
3709 + xvcvspuxws 40,60
3710 + xvcvsxddp 40,60
3711 + xvcvsxdsp 40,60
3712 + xvcvsxwdp 40,60
3713 + xvcvsxwsp 40,60
3714 + xvcvuxddp 40,60
3715 + xvcvuxdsp 40,60
3716 + xvcvuxwdp 40,60
3717 + xvcvuxwsp 40,60
3718 + xvdivdp 40,50,60
3719 + xvdivsp 40,50,60
3720 + xvmaddadp 40,50,60
3721 + xvmaddmdp 40,50,60
3722 + xvmaddasp 40,50,60
3723 + xvmaddmsp 40,50,60
3724 + xvmaxdp 40,50,60
3725 + xvmaxsp 40,50,60
3726 + xvmindp 40,50,60
3727 + xvminsp 40,50,60
3728 + xvmsubadp 40,50,60
3729 + xvmsubmdp 40,50,60
3730 + xvmsubasp 40,50,60
3731 + xvmsubmsp 40,50,60
3732 + xvmuldp 40,50,60
3733 + xvmulsp 40,50,60
3734 + xvnabsdp 40,60
3735 + xvnabssp 40,60
3736 + xvnegdp 40,60
3737 + xvnegsp 40,60
3738 + xvnmaddadp 40,50,60
3739 + xvnmaddmdp 40,50,60
3740 + xvnmaddasp 40,50,60
3741 + xvnmaddmsp 40,50,60
3742 + xvnmsubadp 40,50,60
3743 + xvnmsubmdp 40,50,60
3744 + xvnmsubasp 40,50,60
3745 + xvnmsubmsp 40,50,60
3746 + xvrdpi 40,60
3747 + xvrdpic 40,60
3748 + xvrdpim 40,60
3749 + xvrdpip 40,60
3750 + xvrdpiz 40,60
3751 + xvredp 40,60
3752 + xvresp 40,60
3753 + xvrspi 40,60
3754 + xvrspic 40,60
3755 + xvrspim 40,60
3756 + xvrspip 40,60
3757 + xvrspiz 40,60
3758 + xvrsqrtedp 40,60
3759 + xvrsqrtesp 40,60
3760 + xvsqrtdp 40,60
3761 + xvsqrtsp 40,60
3762 + xvsubdp 40,50,60
3763 + xvsubsp 40,50,60
3764 + xvtdivdp 1,50,60
3765 + xvtdivsp 1,50,60
3766 + xvtsqrtdp 1,60
3767 + xvtsqrtsp 1,60
3768 + xxland 40,50,60
3769 + xxlandc 40,50,60
3770 + xxlnor 40,50,60
3771 + xxlor 40,50,60
3772 + xxlxor 40,50,60
3773 + xxmrghw 40,50,60
3774 + xxmrglw 40,50,60
3775 + xxpermdi 40,50,60,0b00
3776 + xxpermdi 40,50,60,0b01
3777 + xxpermdi 40,50,60,0b10
3778 + xxpermdi 40,50,60,0b11
3779 + xxspltd 40,50,0
3780 + xxpermdi 40,50,50,0b00
3781 + xxspltd 40,50,1
3782 + xxpermdi 40,50,50,0b11
3783 + xxmrghd 40,50,60
3784 + xxpermdi 40,50,60,0b00
3785 + xxmrgld 40,50,60
3786 + xxpermdi 40,50,50,0b10
3787 + xxswapd 40,50
3788 + xxsel 40,50,60,62
3789 + xxsldwi 40,50,60,2
3790 + xxspltw 40,60,2
3791 diff -Naur binutils-2.19.1.orig/include/elf/ChangeLog binutils-2.19.1/include/elf/ChangeLog
3792 --- binutils-2.19.1.orig/include/elf/ChangeLog 2008-08-20 16:28:58.000000000 -0700
3793 +++ binutils-2.19.1/include/elf/ChangeLog 2009-03-02 05:41:07.000000000 -0800
3794 @@ -1,3 +1,11 @@
3795 +2009-03-02 Alan Modra <amodra@bigpond.net.au>
3796 +
3797 + 2008-11-14 Nathan Sidwell <nathan@codesourcery.com>
3798 + * internal.h (struct elf_segment_map): Add header_size field.
3799 +
3800 + 2008-10-10 Nathan Froyd <froydnj@codesourcery.com>
3801 + * ppc.h: Add Tag_GNU_Power_ABI_Struct_Return.
3802 +
3803 2008-08-20 Bob Wilson <bob.wilson@acm.org>
3804
3805 * xtensa.h (R_XTENSA_TLSDESC_FN, R_XTENSA_TLSDESC_ARG)
3806 diff -Naur binutils-2.19.1.orig/include/elf/internal.h binutils-2.19.1/include/elf/internal.h
3807 --- binutils-2.19.1.orig/include/elf/internal.h 2008-03-12 22:27:41.000000000 -0700
3808 +++ binutils-2.19.1/include/elf/internal.h 2009-03-02 05:41:07.000000000 -0800
3809 @@ -266,6 +266,8 @@
3810 bfd_vma p_align;
3811 /* Segment size in file and memory */
3812 bfd_vma p_size;
3813 + /* Required size of filehdr + phdrs, if non-zero */
3814 + bfd_vma header_size;
3815 /* Whether the p_flags field is valid; if not, the flags are based
3816 on the section flags. */
3817 unsigned int p_flags_valid : 1;
3818 diff -Naur binutils-2.19.1.orig/include/elf/ppc.h binutils-2.19.1/include/elf/ppc.h
3819 --- binutils-2.19.1.orig/include/elf/ppc.h 2008-07-26 06:10:47.000000000 -0700
3820 +++ binutils-2.19.1/include/elf/ppc.h 2009-03-02 05:35:25.000000000 -0800
3821 @@ -186,6 +186,11 @@
3822 registers, 3 for SPE registers; 0 for not tagged or not using any
3823 ABIs affected by the differences. */
3824 Tag_GNU_Power_ABI_Vector = 8,
3825 +
3826 + /* Value 1 for ABIs using r3/r4 for returning structures <= 8 bytes,
3827 + 2 for ABIs using memory; 0 for not tagged or not using any ABIs
3828 + affected by the differences. */
3829 + Tag_GNU_Power_ABI_Struct_Return = 12
3830 };
3831
3832 #endif /* _ELF_PPC_H */
3833 diff -Naur binutils-2.19.1.orig/include/opcode/ChangeLog binutils-2.19.1/include/opcode/ChangeLog
3834 --- binutils-2.19.1.orig/include/opcode/ChangeLog 2008-08-28 07:07:48.000000000 -0700
3835 +++ binutils-2.19.1/include/opcode/ChangeLog 2009-03-02 05:59:36.000000000 -0800
3836 @@ -1,3 +1,12 @@
3837 +2009-03-02 Alan Modra <amodra@bigpond.net.au>
3838 +
3839 + 2009-02-26 Peter Bergner <bergner@vnet.ibm.com>
3840 + * ppc.h (PPC_OPCODE_POWER7): New.
3841 +
3842 + 2009-01-09 Peter Bergner <bergner@vnet.ibm.com>
3843 + * ppc.h (struct powerpc_opcode): New field "deprecated".
3844 + (PPC_OPCODE_NOPOWER4): Delete.
3845 +
3846 2008-08-28 H.J. Lu <hongjiu.lu@intel.com>
3847
3848 * ia64.h (ia64_resource_specifier): Add IA64_RS_CR_IIB. Update
3849 diff -Naur binutils-2.19.1.orig/include/opcode/ppc.h binutils-2.19.1/include/opcode/ppc.h
3850 --- binutils-2.19.1.orig/include/opcode/ppc.h 2008-08-01 21:38:51.000000000 -0700
3851 +++ binutils-2.19.1/include/opcode/ppc.h 2009-03-02 05:59:36.000000000 -0800
3852 @@ -46,6 +46,11 @@
3853 are listed below. */
3854 ppc_cpu_t flags;
3855
3856 + /* One bit flags for the opcode. These are used to indicate which
3857 + specific processors no longer support the instructions. The defined
3858 + values are listed below. */
3859 + ppc_cpu_t deprecated;
3860 +
3861 /* An array of operand codes. Each code is an index into the
3862 operand table. They appear in the order which the operands must
3863 appear in assembly code, and are terminated by a zero. */
3864 @@ -109,8 +114,8 @@
3865 /* Opcode is only supported by Power4 architecture. */
3866 #define PPC_OPCODE_POWER4 0x4000
3867
3868 -/* Opcode isn't supported by Power4 architecture. */
3869 -#define PPC_OPCODE_NOPOWER4 0x8000
3870 +/* Opcode is only supported by Power7 architecture. */
3871 +#define PPC_OPCODE_POWER7 0x8000
3872
3873 /* Opcode is only supported by POWERPC Classic architecture. */
3874 #define PPC_OPCODE_CLASSIC 0x10000
3875 diff -Naur binutils-2.19.1.orig/ld/ChangeLog binutils-2.19.1/ld/ChangeLog
3876 --- binutils-2.19.1.orig/ld/ChangeLog 2009-02-02 02:31:31.000000000 -0800
3877 +++ binutils-2.19.1/ld/ChangeLog 2009-03-02 05:56:19.000000000 -0800
3878 @@ -1,3 +1,65 @@
3879 +2009-03-02 Alan Modra <amodra@bigpond.net.au>
3880 +
3881 + 2009-02-16 Alan Modra <amodra@bigpond.net.au>
3882 + * ldlang.c (push_stat_ptr, pop_stat_ptr): New functions.
3883 + (stat_save, stat_save_ptr): New variables.
3884 + (lang_insert_orphan): Use push_stat_ptr and pop_stat_ptr.
3885 + (load_symbols): Likewise. Delete dead "bad_load" code.
3886 + (open_input_bfds): Warn on script containing output sections.
3887 + (lang_enter_output_section_statement): Use push_stat_ptr.
3888 + (lang_enter_group): Likewise.
3889 + (lang_leave_output_section_statement): Use pop_stat_ptr.
3890 + (lang_leave_group): Likewise.
3891 + * ldlang.h (push_stat_ptr, pop_stat_ptr): Declare.
3892 + * ldctor.c (ldctor_build_sets): Use push_stat_ptr and pop_stat_ptr.
3893 + * emultempl/beos.em (gld_${EMULATION_NAME}_set_symbols): Likewise.
3894 + * emultempl/pe.em (gld_${EMULATION_NAME}_set_symbols): Likewise.
3895 + * emultempl/pep.em (gld_${EMULATION_NAME}_set_symbols): Likewise.
3896 + * emultempl/xtensaelf.em (ld_xtensa_insert_page_offsets): Likewise.
3897 +
3898 + 2008-10-04 Alan Modra <amodra@bigpond.net.au>
3899 + PR 6931
3900 + * ldemul.c (ldemul_place_orphan): Add "constraint" param.
3901 + * ldemul.h (ldemul_place_orphan): Update prototype.
3902 + (struct ld_emulation_xfer_struct <place_orphan>): Likewise add param.
3903 + * ldlang.c (unique_section_p): Make static.
3904 + (lang_output_section_statement_lookup): Optimise creation of SPECIAL
3905 + sections.
3906 + (lang_insert_orphan): Add "constraint" param. Pass to
3907 + lang_enter_output_section_statement.
3908 + (init_os): Don't use an existing bfd section for SPECIAL sections.
3909 + (lang_place_orphans): Don't rename unique output sections, instead
3910 + mark their output section statements SPECIAL.
3911 + * ldlang.h (lang_insert_orphan): Update prototype.
3912 + (unique_section_p): Delete.
3913 + * emultempl/beos.em (place_orphan): Add "constraint" param.
3914 + * emultempl/elf32.em (place_orphan): Likewise. Don't match existing
3915 + output sections if set.
3916 + * emultempl/pe.em (place_orphan): Likewise.
3917 + * emultempl/pep.em (place_orphan): Likewise.
3918 + * emultempl/mmo.em (mmo_place_orphan): Update.
3919 + * emultempl/spuelf.em (spu_place_special_section): Update.
3920 +
3921 + 2008-10-03 Alan Modra <amodra@bigpond.net.au>
3922 + PR 6931
3923 + * ldemul.c (ldemul_place_orphan): Add "name" param.
3924 + * ldemul.h (ldemul_place_orphan): Update prototype.
3925 + (struct ld_emulation_xfer_struct <place_orphan>): Likewise.
3926 + * ldlang.c (lang_place_orphans): Generate unique section names here..
3927 + * emultempl/elf32.em (place_orphan): ..rather than here. Don't
3928 + directly use an existing output section statement that has no
3929 + bfd section.
3930 + * emultempl/pe.em (place_orphan): Likewise.
3931 + * emultempl/pep.em (place_orphan): Likewise.
3932 + * emultempl/beos.em (place_orphan): Adjust.
3933 + * emultempl/spuelf.em (spu_place_special_section): Adjust
3934 + place_orphan call.
3935 + * emultempl/genelf.em (gld${EMULATION_NAME}_after_open): New function.
3936 + (LDEMUL_AFTER_OPEN): Define.
3937 +
3938 + 2008-09-25 Alan Modra <amodra@bigpond.net.au>
3939 + * ldexp.c (fold_binary): Evaluate rhs when lhs not valid.
3940 +
3941 2009-02-02 Tristan Gingold <gingold@adacore.com>
3942
3943 * deffilep.c: Add autogenerated file.
3944 diff -Naur binutils-2.19.1.orig/ld/emultempl/beos.em binutils-2.19.1/ld/emultempl/beos.em
3945 --- binutils-2.19.1.orig/ld/emultempl/beos.em 2008-09-08 17:10:16.000000000 -0700
3946 +++ binutils-2.19.1/ld/emultempl/beos.em 2009-03-02 05:56:19.000000000 -0800
3947 @@ -8,7 +8,7 @@
3948 fragment <<EOF
3949 /* This file is part of GLD, the Gnu Linker.
3950 Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
3951 - 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
3952 + 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
3953
3954 This file is part of the GNU Binutils.
3955
3956 @@ -330,7 +330,6 @@
3957 /* Run through and invent symbols for all the
3958 names and insert the defaults. */
3959 int j;
3960 - lang_statement_list_type *save;
3961
3962 if (!init[IMAGEBASEOFF].inited)
3963 {
3964 @@ -347,9 +346,7 @@
3965 return;
3966
3967 /* Glue the assignments into the abs section */
3968 - save = stat_ptr;
3969 -
3970 - stat_ptr = &(abs_output_section->children);
3971 + push_stat_ptr (&abs_output_section->children);
3972
3973 for (j = 0; init[j].ptr; j++)
3974 {
3975 @@ -367,7 +364,7 @@
3976 else abort();
3977 }
3978 /* Restore the pointer. */
3979 - stat_ptr = save;
3980 + pop_stat_ptr ();
3981
3982 if (pe.FileAlignment >
3983 pe.SectionAlignment)
3984 @@ -609,8 +606,6 @@
3985 static void
3986 gld_${EMULATION_NAME}_before_allocation (void)
3987 {
3988 - extern lang_statement_list_type *stat_ptr;
3989 -
3990 #ifdef TARGET_IS_ppcpe
3991 /* Here we rummage through the found bfds to collect toc information */
3992 {
3993 @@ -665,9 +660,10 @@
3994 which are not mentioned in the linker script. */
3995
3996 static bfd_boolean
3997 -gld${EMULATION_NAME}_place_orphan (asection *s)
3998 +gld${EMULATION_NAME}_place_orphan (asection *s,
3999 + const char *secname,
4000 + int constraint)
4001 {
4002 - const char *secname;
4003 char *output_secname, *ps;
4004 lang_output_section_statement_type *os;
4005 lang_statement_union_type *l;
4006 @@ -682,8 +678,6 @@
4007 if (link_info.relocatable)
4008 return FALSE;
4009
4010 - secname = bfd_get_section_name (s->owner, s);
4011 -
4012 /* Everything from the '\$' on gets deleted so don't allow '\$' as the
4013 first character. */
4014 if (*secname == '\$')
4015 @@ -697,7 +691,7 @@
4016 output_secname = xstrdup (secname);
4017 ps = strchr (output_secname + 1, '\$');
4018 *ps = 0;
4019 - os = lang_output_section_statement_lookup (output_secname, 0, TRUE);
4020 + os = lang_output_section_statement_lookup (output_secname, constraint, TRUE);
4021
4022 /* Find the '\$' wild statement for this section. We currently require the
4023 linker script to explicitly mention "*(.foo\$)".
4024 diff -Naur binutils-2.19.1.orig/ld/emultempl/elf32.em binutils-2.19.1/ld/emultempl/elf32.em
4025 --- binutils-2.19.1.orig/ld/emultempl/elf32.em 2008-09-06 21:02:31.000000000 -0700
4026 +++ binutils-2.19.1/ld/emultempl/elf32.em 2009-03-02 05:34:03.000000000 -0800
4027 @@ -62,7 +62,8 @@
4028 static void gld${EMULATION_NAME}_before_parse (void);
4029 static void gld${EMULATION_NAME}_after_open (void);
4030 static void gld${EMULATION_NAME}_before_allocation (void);
4031 -static bfd_boolean gld${EMULATION_NAME}_place_orphan (asection *s);
4032 +static bfd_boolean gld${EMULATION_NAME}_place_orphan
4033 + (asection *, const char *, int);
4034 static void gld${EMULATION_NAME}_finish (void);
4035
4036 EOF
4037 @@ -1635,7 +1636,9 @@
4038 sections in the right segment. */
4039
4040 static bfd_boolean
4041 -gld${EMULATION_NAME}_place_orphan (asection *s)
4042 +gld${EMULATION_NAME}_place_orphan (asection *s,
4043 + const char *secname,
4044 + int constraint)
4045 {
4046 static struct orphan_save hold[] =
4047 {
4048 @@ -1673,15 +1676,12 @@
4049 };
4050 static int orphan_init_done = 0;
4051 struct orphan_save *place;
4052 - const char *secname;
4053 lang_output_section_statement_type *after;
4054 lang_output_section_statement_type *os;
4055 int isdyn = 0;
4056 int iself = s->owner->xvec->flavour == bfd_target_elf_flavour;
4057 unsigned int sh_type = iself ? elf_section_type (s) : SHT_NULL;
4058
4059 - secname = bfd_get_section_name (s->owner, s);
4060 -
4061 if (! link_info.relocatable
4062 && link_info.combreloc
4063 && (s->flags & SEC_ALLOC))
4064 @@ -1707,28 +1707,23 @@
4065 }
4066 }
4067
4068 - if (isdyn || (!config.unique_orphan_sections && !unique_section_p (s)))
4069 - {
4070 - /* Look through the script to see where to place this section. */
4071 - os = lang_output_section_find (secname);
4072 -
4073 - if (os != NULL
4074 - && (os->bfd_section == NULL
4075 - || os->bfd_section->flags == 0
4076 - || (_bfd_elf_match_sections_by_type (link_info.output_bfd,
4077 - os->bfd_section,
4078 - s->owner, s)
4079 - && ((s->flags ^ os->bfd_section->flags)
4080 - & (SEC_LOAD | SEC_ALLOC)) == 0)))
4081 - {
4082 - /* We already have an output section statement with this
4083 - name, and its bfd section, if any, has compatible flags.
4084 - If the section already exists but does not have any flags
4085 - set, then it has been created by the linker, probably as a
4086 - result of a --section-start command line switch. */
4087 - lang_add_section (&os->children, s, os);
4088 - return TRUE;
4089 - }
4090 + /* Look through the script to see where to place this section. */
4091 + if (constraint == 0
4092 + && (os = lang_output_section_find (secname)) != NULL
4093 + && os->bfd_section != NULL
4094 + && (os->bfd_section->flags == 0
4095 + || (_bfd_elf_match_sections_by_type (link_info.output_bfd,
4096 + os->bfd_section, s->owner, s)
4097 + && ((s->flags ^ os->bfd_section->flags)
4098 + & (SEC_LOAD | SEC_ALLOC)) == 0)))
4099 + {
4100 + /* We already have an output section statement with this
4101 + name, and its bfd section has compatible flags.
4102 + If the section already exists but does not have any flags
4103 + set, then it has been created by the linker, probably as a
4104 + result of a --section-start command line switch. */
4105 + lang_add_section (&os->children, s, os);
4106 + return TRUE;
4107 }
4108
4109 if (!orphan_init_done)
4110 @@ -1748,7 +1743,7 @@
4111 sections into the .text section to get them out of the way. */
4112 if (link_info.executable
4113 && ! link_info.relocatable
4114 - && CONST_STRNEQ (secname, ".gnu.warning.")
4115 + && CONST_STRNEQ (s->name, ".gnu.warning.")
4116 && hold[orphan_text].os != NULL)
4117 {
4118 lang_add_section (&hold[orphan_text].os->children, s,
4119 @@ -1803,19 +1798,7 @@
4120 after = &lang_output_section_statement.head->output_section_statement;
4121 }
4122
4123 - /* Choose a unique name for the section. This will be needed if the
4124 - same section name appears in the input file with different
4125 - loadable or allocatable characteristics. */
4126 - if (bfd_get_section_by_name (link_info.output_bfd, secname) != NULL)
4127 - {
4128 - static int count = 1;
4129 - secname = bfd_get_unique_section_name (link_info.output_bfd,
4130 - secname, &count);
4131 - if (secname == NULL)
4132 - einfo ("%F%P: place_orphan failed: %E\n");
4133 - }
4134 -
4135 - lang_insert_orphan (s, secname, after, place, NULL, NULL);
4136 + lang_insert_orphan (s, secname, constraint, after, place, NULL, NULL);
4137
4138 return TRUE;
4139 }
4140 diff -Naur binutils-2.19.1.orig/ld/emultempl/genelf.em binutils-2.19.1/ld/emultempl/genelf.em
4141 --- binutils-2.19.1.orig/ld/emultempl/genelf.em 2007-07-19 12:56:10.000000000 -0700
4142 +++ binutils-2.19.1/ld/emultempl/genelf.em 2009-03-02 05:32:55.000000000 -0800
4143 @@ -34,7 +34,27 @@
4144 gld${EMULATION_NAME}_map_segments (FALSE);
4145 finish_default ();
4146 }
4147 +
4148 +static void
4149 +gld${EMULATION_NAME}_after_open (void)
4150 +{
4151 + bfd *ibfd;
4152 + asection *sec;
4153 + asymbol **syms;
4154 +
4155 + if (link_info.relocatable)
4156 + for (ibfd = link_info.input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
4157 + if ((syms = bfd_get_outsymbols (ibfd)) != NULL
4158 + && bfd_get_flavour (ibfd) == bfd_target_elf_flavour)
4159 + for (sec = ibfd->sections; sec != NULL; sec = sec->next)
4160 + if ((sec->flags & (SEC_GROUP | SEC_LINKER_CREATED)) == SEC_GROUP)
4161 + {
4162 + struct bfd_elf_section_data *sec_data = elf_section_data (sec);
4163 + elf_group_id (sec) = syms[sec_data->this_hdr.sh_info - 1];
4164 + }
4165 +}
4166 EOF
4167 # Put these extra routines in ld_${EMULATION_NAME}_emulation
4168 #
4169 LDEMUL_FINISH=gld${EMULATION_NAME}_finish
4170 +LDEMUL_AFTER_OPEN=gld${EMULATION_NAME}_after_open
4171 diff -Naur binutils-2.19.1.orig/ld/emultempl/mmo.em binutils-2.19.1/ld/emultempl/mmo.em
4172 --- binutils-2.19.1.orig/ld/emultempl/mmo.em 2008-02-14 19:35:53.000000000 -0800
4173 +++ binutils-2.19.1/ld/emultempl/mmo.em 2009-03-02 05:34:03.000000000 -0800
4174 @@ -47,7 +47,9 @@
4175 from elf32.em. */
4176
4177 static bfd_boolean
4178 -mmo_place_orphan (asection *s)
4179 +mmo_place_orphan (asection *s,
4180 + const char *secname,
4181 + int constraint ATTRIBUTE_UNUSED)
4182 {
4183 static struct orphan_save hold_text =
4184 {
4185 @@ -56,7 +58,6 @@
4186 0, 0, 0, 0
4187 };
4188 struct orphan_save *place;
4189 - const char *secname;
4190 lang_output_section_statement_type *after;
4191 lang_output_section_statement_type *os;
4192
4193 @@ -66,7 +67,6 @@
4194 return FALSE;
4195
4196 /* Only care for sections we're going to load. */
4197 - secname = s->name;
4198 os = lang_output_section_find (secname);
4199
4200 /* We have an output section by this name. Place the section inside it
4201 @@ -93,7 +93,7 @@
4202
4203 /* If there's an output section by this name, we'll use it, regardless
4204 of section flags, in contrast to what's done in elf32.em. */
4205 - os = lang_insert_orphan (s, secname, after, place, NULL, NULL);
4206 + os = lang_insert_orphan (s, secname, 0, after, place, NULL, NULL);
4207
4208 /* We need an output section for .text as a root, so if there was none
4209 (might happen with a peculiar linker script such as in "map
4210 diff -Naur binutils-2.19.1.orig/ld/emultempl/pe.em binutils-2.19.1/ld/emultempl/pe.em
4211 --- binutils-2.19.1.orig/ld/emultempl/pe.em 2008-09-09 02:49:56.000000000 -0700
4212 +++ binutils-2.19.1/ld/emultempl/pe.em 2009-03-02 05:56:19.000000000 -0800
4213 @@ -10,7 +10,7 @@
4214 (echo;echo;echo;echo;echo)>e${EMULATION_NAME}.c # there, now line numbers match ;-)
4215 fragment <<EOF
4216 /* Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
4217 - 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
4218 + 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
4219
4220 This file is part of the GNU Binutils.
4221
4222 @@ -697,7 +697,6 @@
4223 /* Run through and invent symbols for all the
4224 names and insert the defaults. */
4225 int j;
4226 - lang_statement_list_type *save;
4227
4228 if (!init[IMAGEBASEOFF].inited)
4229 {
4230 @@ -720,9 +719,7 @@
4231 return;
4232
4233 /* Glue the assignments into the abs section. */
4234 - save = stat_ptr;
4235 -
4236 - stat_ptr = &(abs_output_section->children);
4237 + push_stat_ptr (&abs_output_section->children);
4238
4239 for (j = 0; init[j].ptr; j++)
4240 {
4241 @@ -744,7 +741,7 @@
4242 image_base_statement = rv;
4243 }
4244 /* Restore the pointer. */
4245 - stat_ptr = save;
4246 + pop_stat_ptr ();
4247
4248 if (pe.FileAlignment >
4249 pe.SectionAlignment)
4250 @@ -1613,40 +1610,37 @@
4251 sort_sections. */
4252
4253 static bfd_boolean
4254 -gld_${EMULATION_NAME}_place_orphan (asection *s)
4255 +gld_${EMULATION_NAME}_place_orphan (asection *s,
4256 + const char *secname,
4257 + int constraint)
4258 {
4259 - const char *secname;
4260 - const char *orig_secname;
4261 + const char *orig_secname = secname;
4262 char *dollar = NULL;
4263 lang_output_section_statement_type *os;
4264 lang_statement_list_type add_child;
4265
4266 - secname = bfd_get_section_name (s->owner, s);
4267 -
4268 /* Look through the script to see where to place this section. */
4269 - orig_secname = secname;
4270 if (!link_info.relocatable
4271 && (dollar = strchr (secname, '$')) != NULL)
4272 {
4273 - size_t len = dollar - orig_secname;
4274 + size_t len = dollar - secname;
4275 char *newname = xmalloc (len + 1);
4276 - memcpy (newname, orig_secname, len);
4277 + memcpy (newname, secname, len);
4278 newname[len] = '\0';
4279 secname = newname;
4280 }
4281
4282 - os = lang_output_section_find (secname);
4283 -
4284 lang_list_init (&add_child);
4285
4286 - if (os != NULL
4287 - && (os->bfd_section == NULL
4288 - || os->bfd_section->flags == 0
4289 + if (constraint == 0
4290 + && (os = lang_output_section_find (secname)) != NULL
4291 + && os->bfd_section != NULL
4292 + && (os->bfd_section->flags == 0
4293 || ((s->flags ^ os->bfd_section->flags)
4294 & (SEC_LOAD | SEC_ALLOC)) == 0))
4295 {
4296 /* We already have an output section statement with this
4297 - name, and its bfd section, if any, has compatible flags.
4298 + name, and its bfd section has compatible flags.
4299 If the section already exists but does not have any flags set,
4300 then it has been created by the linker, probably as a result of
4301 a --section-start command line switch. */
4302 @@ -1723,21 +1717,10 @@
4303 ->output_section_statement);
4304 }
4305
4306 - /* Choose a unique name for the section. This will be needed if the
4307 - same section name appears in the input file with different
4308 - loadable or allocatable characteristics. */
4309 - if (bfd_get_section_by_name (link_info.output_bfd, secname) != NULL)
4310 - {
4311 - static int count = 1;
4312 - secname = bfd_get_unique_section_name (link_info.output_bfd,
4313 - secname, &count);
4314 - if (secname == NULL)
4315 - einfo ("%F%P: place_orphan failed: %E\n");
4316 - }
4317 -
4318 /* All sections in an executable must be aligned to a page boundary. */
4319 address = exp_unop (ALIGN_K, exp_nameop (NAME, "__section_alignment__"));
4320 - os = lang_insert_orphan (s, secname, after, place, address, &add_child);
4321 + os = lang_insert_orphan (s, secname, constraint, after, place, address,
4322 + &add_child);
4323 }
4324
4325 {
4326 diff -Naur binutils-2.19.1.orig/ld/emultempl/pep.em binutils-2.19.1/ld/emultempl/pep.em
4327 --- binutils-2.19.1.orig/ld/emultempl/pep.em 2008-09-09 02:49:56.000000000 -0700
4328 +++ binutils-2.19.1/ld/emultempl/pep.em 2009-03-02 05:56:19.000000000 -0800
4329 @@ -9,7 +9,7 @@
4330 rm -f e${EMULATION_NAME}.c
4331 (echo;echo;echo;echo;echo)>e${EMULATION_NAME}.c # there, now line numbers match ;-)
4332 fragment <<EOF
4333 -/* Copyright 2006, 2007, 2008 Free Software Foundation, Inc.
4334 +/* Copyright 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
4335 Written by Kai Tietz, OneVision Software GmbH&CoKg.
4336
4337 This file is part of the GNU Binutils.
4338 @@ -657,7 +657,6 @@
4339 /* Run through and invent symbols for all the
4340 names and insert the defaults. */
4341 int j;
4342 - lang_statement_list_type *save;
4343
4344 if (!init[IMAGEBASEOFF].inited)
4345 {
4346 @@ -680,9 +679,7 @@
4347 return;
4348
4349 /* Glue the assignments into the abs section. */
4350 - save = stat_ptr;
4351 -
4352 - stat_ptr = &(abs_output_section->children);
4353 + push_stat_ptr (&abs_output_section->children);
4354
4355 for (j = 0; init[j].ptr; j++)
4356 {
4357 @@ -704,7 +701,7 @@
4358 image_base_statement = rv;
4359 }
4360 /* Restore the pointer. */
4361 - stat_ptr = save;
4362 + pop_stat_ptr ();
4363
4364 if (pep.FileAlignment > pep.SectionAlignment)
4365 {
4366 @@ -1372,40 +1369,37 @@
4367 sort_sections. */
4368
4369 static bfd_boolean
4370 -gld_${EMULATION_NAME}_place_orphan (asection *s)
4371 +gld_${EMULATION_NAME}_place_orphan (asection *s,
4372 + const char *secname,
4373 + int constraint)
4374 {
4375 - const char *secname;
4376 - const char *orig_secname;
4377 + const char *orig_secname = secname;
4378 char *dollar = NULL;
4379 lang_output_section_statement_type *os;
4380 lang_statement_list_type add_child;
4381
4382 - secname = bfd_get_section_name (s->owner, s);
4383 -
4384 /* Look through the script to see where to place this section. */
4385 - orig_secname = secname;
4386 if (!link_info.relocatable
4387 && (dollar = strchr (secname, '$')) != NULL)
4388 {
4389 - size_t len = dollar - orig_secname;
4390 + size_t len = dollar - secname;
4391 char *newname = xmalloc (len + 1);
4392 - memcpy (newname, orig_secname, len);
4393 + memcpy (newname, secname, len);
4394 newname[len] = '\0';
4395 secname = newname;
4396 }
4397
4398 - os = lang_output_section_find (secname);
4399 -
4400 lang_list_init (&add_child);
4401
4402 - if (os != NULL
4403 - && (os->bfd_section == NULL
4404 - || os->bfd_section->flags == 0
4405 + if (constraint == 0
4406 + && (os = lang_output_section_find (secname)) != NULL
4407 + && os->bfd_section != NULL
4408 + && (os->bfd_section->flags == 0
4409 || ((s->flags ^ os->bfd_section->flags)
4410 & (SEC_LOAD | SEC_ALLOC)) == 0))
4411 {
4412 /* We already have an output section statement with this
4413 - name, and its bfd section, if any, has compatible flags.
4414 + name, and its bfd section has compatible flags.
4415 If the section already exists but does not have any flags set,
4416 then it has been created by the linker, probably as a result of
4417 a --section-start command line switch. */
4418 @@ -1482,21 +1476,10 @@
4419 ->output_section_statement);
4420 }
4421
4422 - /* Choose a unique name for the section. This will be needed if the
4423 - same section name appears in the input file with different
4424 - loadable or allocatable characteristics. */
4425 - if (bfd_get_section_by_name (link_info.output_bfd, secname) != NULL)
4426 - {
4427 - static int count = 1;
4428 - secname = bfd_get_unique_section_name (link_info.output_bfd,
4429 - secname, &count);
4430 - if (secname == NULL)
4431 - einfo ("%F%P: place_orphan failed: %E\n");
4432 - }
4433 -
4434 /* All sections in an executable must be aligned to a page boundary. */
4435 address = exp_unop (ALIGN_K, exp_nameop (NAME, "__section_alignment__"));
4436 - os = lang_insert_orphan (s, secname, after, place, address, &add_child);
4437 + os = lang_insert_orphan (s, secname, constraint, after, place, address,
4438 + &add_child);
4439 }
4440
4441 {
4442 diff -Naur binutils-2.19.1.orig/ld/emultempl/spuelf.em binutils-2.19.1/ld/emultempl/spuelf.em
4443 --- binutils-2.19.1.orig/ld/emultempl/spuelf.em 2008-08-02 09:25:44.000000000 -0700
4444 +++ binutils-2.19.1/ld/emultempl/spuelf.em 2009-03-02 05:34:03.000000000 -0800
4445 @@ -114,12 +114,7 @@
4446
4447 os = lang_output_section_find (o != NULL ? o->name : output_name);
4448 if (os == NULL)
4449 - {
4450 - const char *save = s->name;
4451 - s->name = output_name;
4452 - gld${EMULATION_NAME}_place_orphan (s);
4453 - s->name = save;
4454 - }
4455 + gld${EMULATION_NAME}_place_orphan (s, output_name, 0);
4456 else if (o != NULL && os->children.head != NULL)
4457 {
4458 lang_statement_list_type add;
4459 diff -Naur binutils-2.19.1.orig/ld/emultempl/xtensaelf.em binutils-2.19.1/ld/emultempl/xtensaelf.em
4460 --- binutils-2.19.1.orig/ld/emultempl/xtensaelf.em 2008-02-14 19:35:53.000000000 -0800
4461 +++ binutils-2.19.1/ld/emultempl/xtensaelf.em 2009-03-02 05:56:19.000000000 -0800
4462 @@ -1,5 +1,5 @@
4463 # This shell script emits a C file. -*- C -*-
4464 -# Copyright 2003, 2004, 2005, 2006, 2007, 2008
4465 +# Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009
4466 # Free Software Foundation, Inc.
4467 #
4468 # This file is part of the GNU Binutils.
4469 @@ -1951,20 +1951,17 @@
4470 lang_assignment_statement_type *assign_stmt;
4471 lang_statement_union_type *assign_union;
4472 lang_statement_list_type tmplist;
4473 - lang_statement_list_type *old_stat_ptr = stat_ptr;
4474
4475 /* There is hidden state in "lang_add_assignment". It
4476 appends the new assignment statement to the stat_ptr
4477 list. Thus, we swap it before and after the call. */
4478
4479 - tmplist.head = NULL;
4480 - tmplist.tail = &tmplist.head;
4481 -
4482 - stat_ptr = &tmplist;
4483 + lang_list_init (&tmplist);
4484 + push_stat_ptr (&tmplist);
4485 /* Warning: side effect; statement appended to stat_ptr. */
4486 assign_stmt = lang_add_assignment (assign_op);
4487 assign_union = (lang_statement_union_type *) assign_stmt;
4488 - stat_ptr = old_stat_ptr;
4489 + pop_stat_ptr ();
4490
4491 assign_union->header.next = l;
4492 *(*stack_p)->iterloc.loc = assign_union;
4493 diff -Naur binutils-2.19.1.orig/ld/ldctor.c binutils-2.19.1/ld/ldctor.c
4494 --- binutils-2.19.1.orig/ld/ldctor.c 2008-02-14 19:35:53.000000000 -0800
4495 +++ binutils-2.19.1/ld/ldctor.c 2009-03-02 05:56:19.000000000 -0800
4496 @@ -1,6 +1,7 @@
4497 /* ldctor.c -- constructor support routines
4498 Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
4499 - 2002, 2003, 2004, 2006, 2007, 2008 Free Software Foundation, Inc.
4500 + 2002, 2003, 2004, 2006, 2007, 2008, 2009
4501 + Free Software Foundation, Inc.
4502 By Steve Chamberlain <sac@cygnus.com>
4503
4504 This file is part of the GNU Binutils.
4505 @@ -198,7 +199,6 @@
4506 ldctor_build_sets (void)
4507 {
4508 static bfd_boolean called;
4509 - lang_statement_list_type *old;
4510 bfd_boolean header_printed;
4511 struct set_info *p;
4512
4513 @@ -244,10 +244,8 @@
4514 }
4515 }
4516
4517 - old = stat_ptr;
4518 - stat_ptr = &constructor_list;
4519 -
4520 - lang_list_init (stat_ptr);
4521 + lang_list_init (&constructor_list);
4522 + push_stat_ptr (&constructor_list);
4523
4524 header_printed = FALSE;
4525 for (p = sets; p != NULL; p = p->next)
4526 @@ -372,5 +370,5 @@
4527 lang_add_data (size, exp_intop (0));
4528 }
4529
4530 - stat_ptr = old;
4531 + pop_stat_ptr ();
4532 }
4533 diff -Naur binutils-2.19.1.orig/ld/ldemul.c binutils-2.19.1/ld/ldemul.c
4534 --- binutils-2.19.1.orig/ld/ldemul.c 2008-02-14 19:35:53.000000000 -0800
4535 +++ binutils-2.19.1/ld/ldemul.c 2009-03-02 05:34:02.000000000 -0800
4536 @@ -120,10 +120,10 @@
4537 }
4538
4539 bfd_boolean
4540 -ldemul_place_orphan (asection *s)
4541 +ldemul_place_orphan (asection *s, const char *name, int constraint)
4542 {
4543 if (ld_emulation->place_orphan)
4544 - return (*ld_emulation->place_orphan) (s);
4545 + return (*ld_emulation->place_orphan) (s, name, constraint);
4546 return FALSE;
4547 }
4548
4549 diff -Naur binutils-2.19.1.orig/ld/ldemul.h binutils-2.19.1/ld/ldemul.h
4550 --- binutils-2.19.1.orig/ld/ldemul.h 2007-07-06 07:09:41.000000000 -0700
4551 +++ binutils-2.19.1/ld/ldemul.h 2009-03-02 05:34:02.000000000 -0800
4552 @@ -59,7 +59,7 @@
4553 extern void ldemul_create_output_section_statements
4554 (void);
4555 extern bfd_boolean ldemul_place_orphan
4556 - (asection *);
4557 + (asection *, const char *, int);
4558 extern bfd_boolean ldemul_parse_args
4559 (int, char **);
4560 extern void ldemul_add_options
4561 @@ -152,7 +152,7 @@
4562 the default action should be taken. This field may be NULL, in
4563 which case the default action will always be taken. */
4564 bfd_boolean (*place_orphan)
4565 - (asection *);
4566 + (asection *, const char *, int);
4567
4568 /* Run after assigning parsing with the args, but before
4569 reading the script. Used to initialize symbols used in the script. */
4570 diff -Naur binutils-2.19.1.orig/ld/ldexp.c binutils-2.19.1/ld/ldexp.c
4571 --- binutils-2.19.1.orig/ld/ldexp.c 2008-08-21 06:10:54.000000000 -0700
4572 +++ binutils-2.19.1/ld/ldexp.c 2009-03-02 05:29:32.000000000 -0800
4573 @@ -282,6 +282,7 @@
4574 static void
4575 fold_binary (etree_type *tree)
4576 {
4577 + etree_value_type lhs;
4578 exp_fold_tree_1 (tree->binary.lhs);
4579
4580 /* The SEGMENT_START operator is special because its first
4581 @@ -304,169 +305,167 @@
4582 expld.result.section = expld.section;
4583 break;
4584 }
4585 + return;
4586 }
4587 - else if (expld.result.valid_p)
4588 - {
4589 - etree_value_type lhs = expld.result;
4590
4591 - exp_fold_tree_1 (tree->binary.rhs);
4592 - if (expld.result.valid_p)
4593 - {
4594 - /* If the values are from different sections, or this is an
4595 - absolute expression, make both the source arguments
4596 - absolute. However, adding or subtracting an absolute
4597 - value from a relative value is meaningful, and is an
4598 - exception. */
4599 - if (expld.section != bfd_abs_section_ptr
4600 - && lhs.section == bfd_abs_section_ptr
4601 - && tree->type.node_code == '+')
4602 - {
4603 - /* Keep the section of the rhs term. */
4604 - expld.result.value = lhs.value + expld.result.value;
4605 - return;
4606 - }
4607 - else if (expld.section != bfd_abs_section_ptr
4608 - && expld.result.section == bfd_abs_section_ptr
4609 - && (tree->type.node_code == '+'
4610 - || tree->type.node_code == '-'))
4611 - {
4612 - /* Keep the section of the lhs term. */
4613 - expld.result.section = lhs.section;
4614 - }
4615 - else if (expld.result.section != lhs.section
4616 - || expld.section == bfd_abs_section_ptr)
4617 - {
4618 - make_abs ();
4619 - lhs.value += lhs.section->vma;
4620 - }
4621 -
4622 - switch (tree->type.node_code)
4623 - {
4624 - case '%':
4625 - if (expld.result.value != 0)
4626 - expld.result.value = ((bfd_signed_vma) lhs.value
4627 - % (bfd_signed_vma) expld.result.value);
4628 - else if (expld.phase != lang_mark_phase_enum)
4629 - einfo (_("%F%S %% by zero\n"));
4630 - break;
4631 + lhs = expld.result;
4632 + exp_fold_tree_1 (tree->binary.rhs);
4633 + expld.result.valid_p &= lhs.valid_p;
4634
4635 - case '/':
4636 - if (expld.result.value != 0)
4637 - expld.result.value = ((bfd_signed_vma) lhs.value
4638 - / (bfd_signed_vma) expld.result.value);
4639 - else if (expld.phase != lang_mark_phase_enum)
4640 - einfo (_("%F%S / by zero\n"));
4641 - break;
4642 + if (expld.result.valid_p)
4643 + {
4644 + /* If the values are from different sections, or this is an
4645 + absolute expression, make both the source arguments
4646 + absolute. However, adding or subtracting an absolute
4647 + value from a relative value is meaningful, and is an
4648 + exception. */
4649 + if (expld.section != bfd_abs_section_ptr
4650 + && lhs.section == bfd_abs_section_ptr
4651 + && tree->type.node_code == '+')
4652 + {
4653 + /* Keep the section of the rhs term. */
4654 + expld.result.value = lhs.value + expld.result.value;
4655 + return;
4656 + }
4657 + else if (expld.section != bfd_abs_section_ptr
4658 + && expld.result.section == bfd_abs_section_ptr
4659 + && (tree->type.node_code == '+'
4660 + || tree->type.node_code == '-'))
4661 + {
4662 + /* Keep the section of the lhs term. */
4663 + expld.result.section = lhs.section;
4664 + }
4665 + else if (expld.result.section != lhs.section
4666 + || expld.section == bfd_abs_section_ptr)
4667 + {
4668 + make_abs ();
4669 + lhs.value += lhs.section->vma;
4670 + }
4671 +
4672 + switch (tree->type.node_code)
4673 + {
4674 + case '%':
4675 + if (expld.result.value != 0)
4676 + expld.result.value = ((bfd_signed_vma) lhs.value
4677 + % (bfd_signed_vma) expld.result.value);
4678 + else if (expld.phase != lang_mark_phase_enum)
4679 + einfo (_("%F%S %% by zero\n"));
4680 + break;
4681 +
4682 + case '/':
4683 + if (expld.result.value != 0)
4684 + expld.result.value = ((bfd_signed_vma) lhs.value
4685 + / (bfd_signed_vma) expld.result.value);
4686 + else if (expld.phase != lang_mark_phase_enum)
4687 + einfo (_("%F%S / by zero\n"));
4688 + break;
4689
4690 #define BOP(x, y) \
4691 case x: \
4692 expld.result.value = lhs.value y expld.result.value; \
4693 break;
4694
4695 - BOP ('+', +);
4696 - BOP ('*', *);
4697 - BOP ('-', -);
4698 - BOP (LSHIFT, <<);
4699 - BOP (RSHIFT, >>);
4700 - BOP (EQ, ==);
4701 - BOP (NE, !=);
4702 - BOP ('<', <);
4703 - BOP ('>', >);
4704 - BOP (LE, <=);
4705 - BOP (GE, >=);
4706 - BOP ('&', &);
4707 - BOP ('^', ^);
4708 - BOP ('|', |);
4709 - BOP (ANDAND, &&);
4710 - BOP (OROR, ||);
4711 -
4712 - case MAX_K:
4713 - if (lhs.value > expld.result.value)
4714 - expld.result.value = lhs.value;
4715 - break;
4716 -
4717 - case MIN_K:
4718 - if (lhs.value < expld.result.value)
4719 - expld.result.value = lhs.value;
4720 - break;
4721 -
4722 - case ALIGN_K:
4723 - expld.result.value = align_n (lhs.value, expld.result.value);
4724 - break;
4725 -
4726 - case DATA_SEGMENT_ALIGN:
4727 - expld.dataseg.relro = exp_dataseg_relro_start;
4728 - if (expld.phase != lang_first_phase_enum
4729 - && expld.section == bfd_abs_section_ptr
4730 - && (expld.dataseg.phase == exp_dataseg_none
4731 - || expld.dataseg.phase == exp_dataseg_adjust
4732 - || expld.dataseg.phase == exp_dataseg_relro_adjust
4733 - || expld.phase == lang_final_phase_enum))
4734 + BOP ('+', +);
4735 + BOP ('*', *);
4736 + BOP ('-', -);
4737 + BOP (LSHIFT, <<);
4738 + BOP (RSHIFT, >>);
4739 + BOP (EQ, ==);
4740 + BOP (NE, !=);
4741 + BOP ('<', <);
4742 + BOP ('>', >);
4743 + BOP (LE, <=);
4744 + BOP (GE, >=);
4745 + BOP ('&', &);
4746 + BOP ('^', ^);
4747 + BOP ('|', |);
4748 + BOP (ANDAND, &&);
4749 + BOP (OROR, ||);
4750 +
4751 + case MAX_K:
4752 + if (lhs.value > expld.result.value)
4753 + expld.result.value = lhs.value;
4754 + break;
4755 +
4756 + case MIN_K:
4757 + if (lhs.value < expld.result.value)
4758 + expld.result.value = lhs.value;
4759 + break;
4760 +
4761 + case ALIGN_K:
4762 + expld.result.value = align_n (lhs.value, expld.result.value);
4763 + break;
4764 +
4765 + case DATA_SEGMENT_ALIGN:
4766 + expld.dataseg.relro = exp_dataseg_relro_start;
4767 + if (expld.phase != lang_first_phase_enum
4768 + && expld.section == bfd_abs_section_ptr
4769 + && (expld.dataseg.phase == exp_dataseg_none
4770 + || expld.dataseg.phase == exp_dataseg_adjust
4771 + || expld.dataseg.phase == exp_dataseg_relro_adjust
4772 + || expld.phase == lang_final_phase_enum))
4773 + {
4774 + bfd_vma maxpage = lhs.value;
4775 + bfd_vma commonpage = expld.result.value;
4776 +
4777 + expld.result.value = align_n (expld.dot, maxpage);
4778 + if (expld.dataseg.phase == exp_dataseg_relro_adjust)
4779 + expld.result.value = expld.dataseg.base;
4780 + else if (expld.dataseg.phase != exp_dataseg_adjust)
4781 {
4782 - bfd_vma maxpage = lhs.value;
4783 - bfd_vma commonpage = expld.result.value;
4784 -
4785 - expld.result.value = align_n (expld.dot, maxpage);
4786 - if (expld.dataseg.phase == exp_dataseg_relro_adjust)
4787 - expld.result.value = expld.dataseg.base;
4788 - else if (expld.dataseg.phase != exp_dataseg_adjust)
4789 + expld.result.value += expld.dot & (maxpage - 1);
4790 + if (expld.phase == lang_allocating_phase_enum)
4791 {
4792 - expld.result.value += expld.dot & (maxpage - 1);
4793 - if (expld.phase == lang_allocating_phase_enum)
4794 - {
4795 - expld.dataseg.phase = exp_dataseg_align_seen;
4796 - expld.dataseg.min_base = expld.dot;
4797 - expld.dataseg.base = expld.result.value;
4798 - expld.dataseg.pagesize = commonpage;
4799 - expld.dataseg.maxpagesize = maxpage;
4800 - expld.dataseg.relro_end = 0;
4801 - }
4802 + expld.dataseg.phase = exp_dataseg_align_seen;
4803 + expld.dataseg.min_base = expld.dot;
4804 + expld.dataseg.base = expld.result.value;
4805 + expld.dataseg.pagesize = commonpage;
4806 + expld.dataseg.maxpagesize = maxpage;
4807 + expld.dataseg.relro_end = 0;
4808 }
4809 - else if (commonpage < maxpage)
4810 - expld.result.value += ((expld.dot + commonpage - 1)
4811 - & (maxpage - commonpage));
4812 }
4813 - else
4814 - expld.result.valid_p = FALSE;
4815 - break;
4816 + else if (commonpage < maxpage)
4817 + expld.result.value += ((expld.dot + commonpage - 1)
4818 + & (maxpage - commonpage));
4819 + }
4820 + else
4821 + expld.result.valid_p = FALSE;
4822 + break;
4823
4824 - case DATA_SEGMENT_RELRO_END:
4825 - expld.dataseg.relro = exp_dataseg_relro_end;
4826 - if (expld.phase != lang_first_phase_enum
4827 - && (expld.dataseg.phase == exp_dataseg_align_seen
4828 - || expld.dataseg.phase == exp_dataseg_adjust
4829 - || expld.dataseg.phase == exp_dataseg_relro_adjust
4830 - || expld.phase == lang_final_phase_enum))
4831 + case DATA_SEGMENT_RELRO_END:
4832 + expld.dataseg.relro = exp_dataseg_relro_end;
4833 + if (expld.phase != lang_first_phase_enum
4834 + && (expld.dataseg.phase == exp_dataseg_align_seen
4835 + || expld.dataseg.phase == exp_dataseg_adjust
4836 + || expld.dataseg.phase == exp_dataseg_relro_adjust
4837 + || expld.phase == lang_final_phase_enum))
4838 + {
4839 + if (expld.dataseg.phase == exp_dataseg_align_seen
4840 + || expld.dataseg.phase == exp_dataseg_relro_adjust)
4841 + expld.dataseg.relro_end = lhs.value + expld.result.value;
4842 +
4843 + if (expld.dataseg.phase == exp_dataseg_relro_adjust
4844 + && (expld.dataseg.relro_end
4845 + & (expld.dataseg.pagesize - 1)))
4846 {
4847 - if (expld.dataseg.phase == exp_dataseg_align_seen
4848 - || expld.dataseg.phase == exp_dataseg_relro_adjust)
4849 - expld.dataseg.relro_end = lhs.value + expld.result.value;
4850 -
4851 - if (expld.dataseg.phase == exp_dataseg_relro_adjust
4852 - && (expld.dataseg.relro_end
4853 - & (expld.dataseg.pagesize - 1)))
4854 - {
4855 - expld.dataseg.relro_end += expld.dataseg.pagesize - 1;
4856 - expld.dataseg.relro_end &= ~(expld.dataseg.pagesize - 1);
4857 - expld.result.value = (expld.dataseg.relro_end
4858 - - expld.result.value);
4859 - }
4860 - else
4861 - expld.result.value = lhs.value;
4862 -
4863 - if (expld.dataseg.phase == exp_dataseg_align_seen)
4864 - expld.dataseg.phase = exp_dataseg_relro_seen;
4865 + expld.dataseg.relro_end += expld.dataseg.pagesize - 1;
4866 + expld.dataseg.relro_end &= ~(expld.dataseg.pagesize - 1);
4867 + expld.result.value = (expld.dataseg.relro_end
4868 + - expld.result.value);
4869 }
4870 else
4871 - expld.result.valid_p = FALSE;
4872 - break;
4873 + expld.result.value = lhs.value;
4874
4875 - default:
4876 - FAIL ();
4877 + if (expld.dataseg.phase == exp_dataseg_align_seen)
4878 + expld.dataseg.phase = exp_dataseg_relro_seen;
4879 }
4880 + else
4881 + expld.result.valid_p = FALSE;
4882 + break;
4883 +
4884 + default:
4885 + FAIL ();
4886 }
4887 - else
4888 - expld.result.valid_p = FALSE;
4889 }
4890 }
4891
4892 diff -Naur binutils-2.19.1.orig/ld/ldlang.c binutils-2.19.1/ld/ldlang.c
4893 --- binutils-2.19.1.orig/ld/ldlang.c 2008-09-06 21:02:30.000000000 -0700
4894 +++ binutils-2.19.1/ld/ldlang.c 2009-03-02 05:56:19.000000000 -0800
4895 @@ -1,6 +1,6 @@
4896 /* Linker command language support.
4897 Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
4898 - 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
4899 + 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
4900 Free Software Foundation, Inc.
4901
4902 This file is part of the GNU Binutils.
4903 @@ -64,6 +64,8 @@
4904 static const char *output_target;
4905 static lang_statement_list_type statement_list;
4906 static struct bfd_hash_table lang_definedness_table;
4907 +static lang_statement_list_type *stat_save[10];
4908 +static lang_statement_list_type **stat_save_ptr = &stat_save[0];
4909
4910 /* Forward declarations. */
4911 static void exp_init_os (etree_type *);
4912 @@ -193,7 +195,7 @@
4913 return match;
4914 }
4915
4916 -bfd_boolean
4917 +static bfd_boolean
4918 unique_section_p (const asection *sec)
4919 {
4920 struct unique_sections *unam;
4921 @@ -925,6 +927,23 @@
4922 list->tail = &list->head;
4923 }
4924
4925 +void
4926 +push_stat_ptr (lang_statement_list_type *new_ptr)
4927 +{
4928 + if (stat_save_ptr >= stat_save + sizeof (stat_save) / sizeof (stat_save[0]))
4929 + abort ();
4930 + *stat_save_ptr++ = stat_ptr;
4931 + stat_ptr = new_ptr;
4932 +}
4933 +
4934 +void
4935 +pop_stat_ptr (void)
4936 +{
4937 + if (stat_save_ptr <= stat_save)
4938 + abort ();
4939 + stat_ptr = *--stat_save_ptr;
4940 +}
4941 +
4942 /* Build a new statement node for the parse tree. */
4943
4944 static lang_statement_union_type *
4945 @@ -1278,19 +1297,25 @@
4946 struct out_section_hash_entry *last_ent;
4947 unsigned long hash = entry->root.hash;
4948
4949 - do
4950 - {
4951 - if (entry->s.output_section_statement.constraint >= 0
4952 - && (constraint == 0
4953 - || (constraint == entry->s.output_section_statement.constraint
4954 - && constraint != SPECIAL)))
4955 - return &entry->s.output_section_statement;
4956 - last_ent = entry;
4957 - entry = (struct out_section_hash_entry *) entry->root.next;
4958 - }
4959 - while (entry != NULL
4960 - && entry->root.hash == hash
4961 - && strcmp (name, entry->s.output_section_statement.name) == 0);
4962 + if (create && constraint == SPECIAL)
4963 + /* Not traversing to the end reverses the order of the second
4964 + and subsequent SPECIAL sections in the hash table chain,
4965 + but that shouldn't matter. */
4966 + last_ent = entry;
4967 + else
4968 + do
4969 + {
4970 + if (entry->s.output_section_statement.constraint >= 0
4971 + && (constraint == 0
4972 + || (constraint
4973 + == entry->s.output_section_statement.constraint)))
4974 + return &entry->s.output_section_statement;
4975 + last_ent = entry;
4976 + entry = (struct out_section_hash_entry *) entry->root.next;
4977 + }
4978 + while (entry != NULL
4979 + && entry->root.hash == hash
4980 + && strcmp (name, entry->s.output_section_statement.name) == 0);
4981
4982 if (!create)
4983 return NULL;
4984 @@ -1556,28 +1581,24 @@
4985 lang_output_section_statement_type *
4986 lang_insert_orphan (asection *s,
4987 const char *secname,
4988 + int constraint,
4989 lang_output_section_statement_type *after,
4990 struct orphan_save *place,
4991 etree_type *address,
4992 lang_statement_list_type *add_child)
4993 {
4994 - lang_statement_list_type *old;
4995 lang_statement_list_type add;
4996 const char *ps;
4997 lang_output_section_statement_type *os;
4998 lang_output_section_statement_type **os_tail;
4999
5000 - /* Start building a list of statements for this section.
5001 - First save the current statement pointer. */
5002 - old = stat_ptr;
5003 -
5004 /* If we have found an appropriate place for the output section
5005 statements for this orphan, add them to our own private list,
5006 inserting them later into the global statement list. */
5007 if (after != NULL)
5008 {
5009 - stat_ptr = &add;
5010 - lang_list_init (stat_ptr);
5011 + lang_list_init (&add);
5012 + push_stat_ptr (&add);
5013 }
5014
5015 ps = NULL;
5016 @@ -1611,7 +1632,7 @@
5017 os_tail = ((lang_output_section_statement_type **)
5018 lang_output_section_statement.tail);
5019 os = lang_enter_output_section_statement (secname, address, 0, NULL, NULL,
5020 - NULL, 0);
5021 + NULL, constraint);
5022
5023 if (add_child == NULL)
5024 add_child = &os->children;
5025 @@ -1623,11 +1644,6 @@
5026 {
5027 char *symname;
5028
5029 - /* lang_leave_ouput_section_statement resets stat_ptr.
5030 - Put stat_ptr back where we want it. */
5031 - if (after != NULL)
5032 - stat_ptr = &add;
5033 -
5034 symname = (char *) xmalloc (ps - secname + sizeof "__stop_" + 1);
5035 symname[0] = bfd_get_symbol_leading_char (link_info.output_bfd);
5036 sprintf (symname + (symname[0] != 0), "__stop_%s", secname);
5037 @@ -1638,7 +1654,7 @@
5038
5039 /* Restore the global list pointer. */
5040 if (after != NULL)
5041 - stat_ptr = old;
5042 + pop_stat_ptr ();
5043
5044 if (after != NULL && os->bfd_section != NULL)
5045 {
5046 @@ -1724,8 +1740,8 @@
5047
5048 /* Fix the global list pointer if we happened to tack our
5049 new list at the tail. */
5050 - if (*old->tail == add.head)
5051 - old->tail = add.tail;
5052 + if (*stat_ptr->tail == add.head)
5053 + stat_ptr->tail = add.tail;
5054
5055 /* Save the end of this list. */
5056 place->stmt = add.tail;
5057 @@ -1914,10 +1930,11 @@
5058 if (strcmp (s->name, DISCARD_SECTION_NAME) == 0)
5059 einfo (_("%P%F: Illegal use of `%s' section\n"), DISCARD_SECTION_NAME);
5060
5061 - s->bfd_section = bfd_get_section_by_name (link_info.output_bfd, s->name);
5062 + if (s->constraint != SPECIAL)
5063 + s->bfd_section = bfd_get_section_by_name (link_info.output_bfd, s->name);
5064 if (s->bfd_section == NULL)
5065 - s->bfd_section = bfd_make_section_with_flags (link_info.output_bfd,
5066 - s->name, flags);
5067 + s->bfd_section = bfd_make_section_anyway_with_flags (link_info.output_bfd,
5068 + s->name, flags);
5069 if (s->bfd_section == NULL)
5070 {
5071 einfo (_("%P%F: output format %s cannot represent section called %s\n"),
5072 @@ -2455,8 +2472,6 @@
5073 && ! bfd_check_format_matches (entry->the_bfd, bfd_object, &matching))
5074 {
5075 bfd_error_type err;
5076 - lang_statement_list_type *hold;
5077 - bfd_boolean bad_load = TRUE;
5078 bfd_boolean save_ldlang_sysrooted_script;
5079 bfd_boolean save_as_needed, save_add_needed;
5080
5081 @@ -2479,8 +2494,6 @@
5082 else if (err != bfd_error_file_not_recognized
5083 || place == NULL)
5084 einfo (_("%F%B: file not recognized: %E\n"), entry->the_bfd);
5085 - else
5086 - bad_load = FALSE;
5087
5088 bfd_close (entry->the_bfd);
5089 entry->the_bfd = NULL;
5090 @@ -2488,8 +2501,7 @@
5091 /* Try to interpret the file as a linker script. */
5092 ldfile_open_command_file (entry->filename);
5093
5094 - hold = stat_ptr;
5095 - stat_ptr = place;
5096 + push_stat_ptr (place);
5097 save_ldlang_sysrooted_script = ldlang_sysrooted_script;
5098 ldlang_sysrooted_script = entry->sysrooted;
5099 save_as_needed = as_needed;
5100 @@ -2508,9 +2520,9 @@
5101 ldlang_sysrooted_script = save_ldlang_sysrooted_script;
5102 as_needed = save_as_needed;
5103 add_needed = save_add_needed;
5104 - stat_ptr = hold;
5105 + pop_stat_ptr ();
5106
5107 - return ! bad_load;
5108 + return TRUE;
5109 }
5110
5111 if (ldemul_recognized_file (entry))
5112 @@ -2982,6 +2994,7 @@
5113 case lang_input_statement_enum:
5114 if (s->input_statement.real)
5115 {
5116 + lang_statement_union_type **os_tail;
5117 lang_statement_list_type add;
5118
5119 s->input_statement.target = current_target;
5120 @@ -2997,6 +3010,7 @@
5121 bfd_archive))
5122 s->input_statement.loaded = FALSE;
5123
5124 + os_tail = lang_output_section_statement.tail;
5125 lang_list_init (&add);
5126
5127 if (! load_symbols (&s->input_statement, &add))
5128 @@ -3004,8 +3018,25 @@
5129
5130 if (add.head != NULL)
5131 {
5132 - *add.tail = s->header.next;
5133 - s->header.next = add.head;
5134 + /* If this was a script with output sections then
5135 + tack any added statements on to the end of the
5136 + list. This avoids having to reorder the output
5137 + section statement list. Very likely the user
5138 + forgot -T, and whatever we do here will not meet
5139 + naive user expectations. */
5140 + if (os_tail != lang_output_section_statement.tail)
5141 + {
5142 + einfo (_("%P: warning: %s contains output sections;"
5143 + " did you forget -T?\n"),
5144 + s->input_statement.filename);
5145 + *stat_ptr->tail = add.head;
5146 + stat_ptr->tail = add.tail;
5147 + }
5148 + else
5149 + {
5150 + *add.tail = s->header.next;
5151 + s->header.next = add.head;
5152 + }
5153 }
5154 }
5155 break;
5156 @@ -5652,14 +5683,22 @@
5157 default_common_section);
5158 }
5159 }
5160 - else if (ldemul_place_orphan (s))
5161 - ;
5162 else
5163 {
5164 - lang_output_section_statement_type *os;
5165 + const char *name = s->name;
5166 + int constraint = 0;
5167
5168 - os = lang_output_section_statement_lookup (s->name, 0, TRUE);
5169 - lang_add_section (&os->children, s, os);
5170 + if (config.unique_orphan_sections || unique_section_p (s))
5171 + constraint = SPECIAL;
5172 +
5173 + if (!ldemul_place_orphan (s, name, constraint))
5174 + {
5175 + lang_output_section_statement_type *os;
5176 + os = lang_output_section_statement_lookup (name,
5177 + constraint,
5178 + TRUE);
5179 + lang_add_section (&os->children, s, os);
5180 + }
5181 }
5182 }
5183 }
5184 @@ -5821,7 +5860,7 @@
5185 os->block_value = 1;
5186
5187 /* Make next things chain into subchain of this. */
5188 - stat_ptr = &os->children;
5189 + push_stat_ptr (&os->children);
5190
5191 os->subsection_alignment =
5192 topower (exp_get_value_int (subalign, -1, "subsection alignment"));
5193 @@ -6430,7 +6469,7 @@
5194 current_section->addr_tree != NULL);
5195 current_section->fill = fill;
5196 current_section->phdrs = phdrs;
5197 - stat_ptr = &statement_list;
5198 + pop_stat_ptr ();
5199 }
5200
5201 /* Create an absolute symbol with the given name with the value of the
5202 @@ -6547,7 +6586,7 @@
5203
5204 g = new_stat (lang_group_statement, stat_ptr);
5205 lang_list_init (&g->children);
5206 - stat_ptr = &g->children;
5207 + push_stat_ptr (&g->children);
5208 }
5209
5210 /* Leave a group. This just resets stat_ptr to start writing to the
5211 @@ -6558,7 +6597,7 @@
5212 void
5213 lang_leave_group (void)
5214 {
5215 - stat_ptr = &statement_list;
5216 + pop_stat_ptr ();
5217 }
5218
5219 /* Add a new program header. This is called for each entry in a PHDRS
5220 diff -Naur binutils-2.19.1.orig/ld/ldlang.h binutils-2.19.1/ld/ldlang.h
5221 --- binutils-2.19.1.orig/ld/ldlang.h 2008-09-06 21:02:30.000000000 -0700
5222 +++ binutils-2.19.1/ld/ldlang.h 2009-03-02 05:56:19.000000000 -0800
5223 @@ -1,6 +1,6 @@
5224 /* ldlang.h - linker command language support
5225 Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
5226 - 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
5227 + 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
5228 Free Software Foundation, Inc.
5229
5230 This file is part of the GNU Binutils.
5231 @@ -536,7 +536,7 @@
5232 (const asection *, lang_output_section_statement_type **,
5233 lang_match_sec_type_func);
5234 extern lang_output_section_statement_type *lang_insert_orphan
5235 - (asection *, const char *, lang_output_section_statement_type *,
5236 + (asection *, const char *, int, lang_output_section_statement_type *,
5237 struct orphan_save *, etree_type *, lang_statement_list_type *);
5238 extern lang_input_statement_type *lang_add_input_file
5239 (const char *, lang_input_file_enum_type, const char *);
5240 @@ -550,6 +550,10 @@
5241 (const char *, const char *, const char *, int);
5242 extern void lang_list_init
5243 (lang_statement_list_type *);
5244 +extern void push_stat_ptr
5245 + (lang_statement_list_type *);
5246 +extern void pop_stat_ptr
5247 + (void);
5248 extern void lang_add_data
5249 (int type, union etree_union *);
5250 extern void lang_add_reloc
5251 @@ -604,8 +608,6 @@
5252 extern void lang_append_dynamic_list (struct bfd_elf_version_expr *);
5253 extern void lang_append_dynamic_list_cpp_typeinfo (void);
5254 extern void lang_append_dynamic_list_cpp_new (void);
5255 -bfd_boolean unique_section_p
5256 - (const asection *);
5257 extern void lang_add_unique
5258 (const char *);
5259 extern const char *lang_get_output_target
5260 diff -Naur binutils-2.19.1.orig/ld/testsuite/ChangeLog binutils-2.19.1/ld/testsuite/ChangeLog
5261 --- binutils-2.19.1.orig/ld/testsuite/ChangeLog 2009-01-14 01:04:14.000000000 -0800
5262 +++ binutils-2.19.1/ld/testsuite/ChangeLog 2009-03-02 05:53:31.000000000 -0800
5263 @@ -1,3 +1,26 @@
5264 +2009-03-02 Alan Modra <amodra@bigpond.net.au>
5265 +
5266 + 2009-02-01 Jan Kratochvil <jan.kratochvil@redhat.com>
5267 + * ld-elf/eh-group2.s: New `.cfi_lsda' referencing `.gcc_except_table'.
5268 + * ld-elf/eh-group.exp: New test and conditional defininiton of `ELF64'.
5269 +
5270 + 2009-01-26 Nathan Sidwell <nathan@codesourcery.com>
5271 + * ld-powerpc/powerpc.exp: Add vxworks relax testcase.
5272 + * ld-powerpc/vxworks-relax.s, ld-powerpc/vxworks-relax.rd: New.
5273 + * ld-powerpc/vxworks1.ld: Add .pad and .far input sections.
5274 + * ld-powerpc/vxworks1.rd: Correct regexp for undefined symbols.
5275 +
5276 + 2009-01-11 Jan Kratochvil <jan.kratochvil@redhat.com>
5277 + * ld-elf/linkoncerdiff.d, ld-elf/linkoncerdiff1.s,
5278 + ld-elf/linkoncerdiff2.s: New.
5279 +
5280 + 2008-10-10 Nathan Froyd <froydnj@codesourcery.com>
5281 + * ld-powerpc/attr-gnu-12-1.s: New file.
5282 + * ld-powerpc/attr-gnu-12-2.s: New file.
5283 + * ld-powerpc/attr-gnu-12-11.d: New file.
5284 + * ld-powerpc/attr-gnu-12-21.d: New file.
5285 + * ld-powerpc/powerpc.exp: Run new dump tests.
5286 +
5287 2009-01-14 Joseph Myers <joseph@codesourcery.com>
5288
5289 * ld-arm/thumb2-bl-undefweak.d, ld-arm/thumb2-bl-undefweak.s: New.
5290 diff -Naur binutils-2.19.1.orig/ld/testsuite/ld-elf/eh-group2.s binutils-2.19.1/ld/testsuite/ld-elf/eh-group2.s
5291 --- binutils-2.19.1.orig/ld/testsuite/ld-elf/eh-group2.s 2008-10-02 03:10:26.000000000 -0700
5292 +++ binutils-2.19.1/ld/testsuite/ld-elf/eh-group2.s 2009-03-02 05:53:31.000000000 -0800
5293 @@ -1,4 +1,15 @@
5294 .section sect, "axG", %progbits, sectgroup, comdat
5295 .cfi_startproc
5296 +# Test intention is that LSDA must be provided by the discarded FDE.
5297 +# DW_EH_PE_udata8 = 4
5298 +# DW_EH_PE_udata4 = 3
5299 + .ifdef ELF64
5300 + .cfi_lsda 4, lsda
5301 + .else
5302 + .cfi_lsda 3, lsda
5303 + .endif
5304 .skip 16
5305 .cfi_endproc
5306 +
5307 + .section .gcc_except_table, "a", %progbits
5308 +lsda:
5309 diff -Naur binutils-2.19.1.orig/ld/testsuite/ld-elf/eh-group.exp binutils-2.19.1/ld/testsuite/ld-elf/eh-group.exp
5310 --- binutils-2.19.1.orig/ld/testsuite/ld-elf/eh-group.exp 2008-10-02 03:10:26.000000000 -0700
5311 +++ binutils-2.19.1/ld/testsuite/ld-elf/eh-group.exp 2009-03-02 05:53:31.000000000 -0800
5312 @@ -35,12 +35,28 @@
5313 return
5314 }
5315
5316 -set build_tests_ld {
5317 - {"Build eh-group1.o"
5318 - "-r" ""
5319 - {eh-group1.s eh-group2.s} {} "eh-group.o"}
5320 +# alpha-linux-gnu does not support 64-bit relocations:
5321 +# relocation truncated to fit: REFLONG against `.gcc_except_table'
5322 +# arm-eabi does not support 64-bit relocations:
5323 +# bad relocation fixup type (1)
5324 +set testname "Guess the target size from eh-group1size.o"
5325 +if [ld_assemble $as "$srcdir/$subdir/eh-group1.s" "tmpdir/eh-group1size.o"] {
5326 + pass $testname
5327 +} else {
5328 + fail $testname
5329 }
5330
5331 +set as_options ""
5332 +if [is_elf64 "tmpdir/eh-group1size.o"] {
5333 + set as_options "$as_options --defsym ELF64=1"
5334 +}
5335 +
5336 +set build_tests_ld [list \
5337 + [list "Build eh-group1.o" \
5338 + "-r" "$as_options" \
5339 + {eh-group1.s eh-group2.s} {} "eh-group.o"] \
5340 +]
5341 +
5342 run_ld_link_tests $build_tests_ld
5343
5344 set testname "Link eh-group.o to eh-group"
5345 diff -Naur binutils-2.19.1.orig/ld/testsuite/ld-elf/linkoncerdiff1.s binutils-2.19.1/ld/testsuite/ld-elf/linkoncerdiff1.s
5346 --- binutils-2.19.1.orig/ld/testsuite/ld-elf/linkoncerdiff1.s 1969-12-31 16:00:00.000000000 -0800
5347 +++ binutils-2.19.1/ld/testsuite/ld-elf/linkoncerdiff1.s 2009-03-02 05:48:42.000000000 -0800
5348 @@ -0,0 +1,7 @@
5349 + .section .gnu.linkonce.t.foo, "a", %progbits
5350 + .globl symfoo
5351 +symfoo:
5352 +
5353 + .section .gnu.linkonce.t.bar, "a", %progbits
5354 + .globl symbar
5355 +symbar:
5356 diff -Naur binutils-2.19.1.orig/ld/testsuite/ld-elf/linkoncerdiff2.s binutils-2.19.1/ld/testsuite/ld-elf/linkoncerdiff2.s
5357 --- binutils-2.19.1.orig/ld/testsuite/ld-elf/linkoncerdiff2.s 1969-12-31 16:00:00.000000000 -0800
5358 +++ binutils-2.19.1/ld/testsuite/ld-elf/linkoncerdiff2.s 2009-03-02 05:48:42.000000000 -0800
5359 @@ -0,0 +1,22 @@
5360 + .section .gnu.linkonce.t.foo, "a", %progbits
5361 +1:
5362 + .globl symfoo
5363 +symfoo:
5364 + .long 0
5365 +
5366 + .section .gnu.linkonce.t.bar, "a", %progbits
5367 +2:
5368 + .globl symbar
5369 +symbar:
5370 + .long 0
5371 +
5372 + .section .gnu.linkonce.r.foo, "a", %progbits
5373 + .long 1b
5374 + .long symfoo
5375 +/* ld currently incorrectly silently discards this relocation. Just such
5376 + relocations are never produced by g++-3.4 so this suppressed error message
5377 + is not a problem:
5378 + #error: `.gnu.linkonce.t.bar' referenced in section `.gnu.linkonce.r.foo' of tmpdir/dump1.o: defined in discarded section `.gnu.linkonce.t.bar' of tmpdir/dump1.o
5379 + */
5380 + .long 2b
5381 + .long symbar
5382 diff -Naur binutils-2.19.1.orig/ld/testsuite/ld-elf/linkoncerdiff.d binutils-2.19.1/ld/testsuite/ld-elf/linkoncerdiff.d
5383 --- binutils-2.19.1.orig/ld/testsuite/ld-elf/linkoncerdiff.d 1969-12-31 16:00:00.000000000 -0800
5384 +++ binutils-2.19.1/ld/testsuite/ld-elf/linkoncerdiff.d 2009-03-02 05:48:42.000000000 -0800
5385 @@ -0,0 +1,6 @@
5386 +#source: linkoncerdiff1.s
5387 +#source: linkoncerdiff2.s
5388 +#ld: -r
5389 +#readelf: -r
5390 +There are no relocations in this file.
5391 +#pass
5392 diff -Naur binutils-2.19.1.orig/ld/testsuite/ld-powerpc/attr-gnu-12-11.d binutils-2.19.1/ld/testsuite/ld-powerpc/attr-gnu-12-11.d
5393 --- binutils-2.19.1.orig/ld/testsuite/ld-powerpc/attr-gnu-12-11.d 1969-12-31 16:00:00.000000000 -0800
5394 +++ binutils-2.19.1/ld/testsuite/ld-powerpc/attr-gnu-12-11.d 2009-03-02 05:37:44.000000000 -0800
5395 @@ -0,0 +1,10 @@
5396 +#source: attr-gnu-12-1.s
5397 +#source: attr-gnu-12-1.s
5398 +#as: -a32
5399 +#ld: -r -melf32ppc
5400 +#readelf: -A
5401 +#target: powerpc*-*-*
5402 +
5403 +Attribute Section: gnu
5404 +File Attributes
5405 + Tag_GNU_Power_ABI_Struct_Return: r3/r4
5406 diff -Naur binutils-2.19.1.orig/ld/testsuite/ld-powerpc/attr-gnu-12-1.s binutils-2.19.1/ld/testsuite/ld-powerpc/attr-gnu-12-1.s
5407 --- binutils-2.19.1.orig/ld/testsuite/ld-powerpc/attr-gnu-12-1.s 1969-12-31 16:00:00.000000000 -0800
5408 +++ binutils-2.19.1/ld/testsuite/ld-powerpc/attr-gnu-12-1.s 2009-03-02 05:37:44.000000000 -0800
5409 @@ -0,0 +1 @@
5410 +.gnu_attribute 12,1
5411 diff -Naur binutils-2.19.1.orig/ld/testsuite/ld-powerpc/attr-gnu-12-21.d binutils-2.19.1/ld/testsuite/ld-powerpc/attr-gnu-12-21.d
5412 --- binutils-2.19.1.orig/ld/testsuite/ld-powerpc/attr-gnu-12-21.d 1969-12-31 16:00:00.000000000 -0800
5413 +++ binutils-2.19.1/ld/testsuite/ld-powerpc/attr-gnu-12-21.d 2009-03-02 05:37:44.000000000 -0800
5414 @@ -0,0 +1,6 @@
5415 +#source: attr-gnu-12-2.s
5416 +#source: attr-gnu-12-1.s
5417 +#as: -a32
5418 +#ld: -r -melf32ppc
5419 +#warning: Warning: .* uses r3/r4 for small structure returns, .* uses memory
5420 +#target: powerpc*-*-*
5421 diff -Naur binutils-2.19.1.orig/ld/testsuite/ld-powerpc/attr-gnu-12-2.s binutils-2.19.1/ld/testsuite/ld-powerpc/attr-gnu-12-2.s
5422 --- binutils-2.19.1.orig/ld/testsuite/ld-powerpc/attr-gnu-12-2.s 1969-12-31 16:00:00.000000000 -0800
5423 +++ binutils-2.19.1/ld/testsuite/ld-powerpc/attr-gnu-12-2.s 2009-03-02 05:37:44.000000000 -0800
5424 @@ -0,0 +1 @@
5425 +.gnu_attribute 12,2
5426 diff -Naur binutils-2.19.1.orig/ld/testsuite/ld-powerpc/powerpc.exp binutils-2.19.1/ld/testsuite/ld-powerpc/powerpc.exp
5427 --- binutils-2.19.1.orig/ld/testsuite/ld-powerpc/powerpc.exp 2008-07-26 06:10:48.000000000 -0700
5428 +++ binutils-2.19.1/ld/testsuite/ld-powerpc/powerpc.exp 2009-03-02 05:52:34.000000000 -0800
5429 @@ -49,6 +49,11 @@
5430 "-mregnames" {vxworks2.s}
5431 {{readelf --segments vxworks2-static.sd}}
5432 "vxworks2"}
5433 + {"VxWorks relax test"
5434 + "-Tvxworks1.ld --relax -q"
5435 + "-mregnames" {vxworks-relax.s}
5436 + {{readelf --relocs vxworks-relax.rd}}
5437 + "vxworks-relax"}
5438 }
5439 run_ld_link_tests $ppcvxtests
5440 run_dump_test "vxworks1-static"
5441 @@ -177,3 +182,6 @@
5442 run_dump_test "attr-gnu-8-11"
5443 run_dump_test "attr-gnu-8-23"
5444 run_dump_test "attr-gnu-8-31"
5445 +
5446 +run_dump_test "attr-gnu-12-11"
5447 +run_dump_test "attr-gnu-12-21"
5448 diff -Naur binutils-2.19.1.orig/ld/testsuite/ld-powerpc/vxworks1.ld binutils-2.19.1/ld/testsuite/ld-powerpc/vxworks1.ld
5449 --- binutils-2.19.1.orig/ld/testsuite/ld-powerpc/vxworks1.ld 2007-05-15 05:22:34.000000000 -0700
5450 +++ binutils-2.19.1/ld/testsuite/ld-powerpc/vxworks1.ld 2009-03-02 05:52:34.000000000 -0800
5451 @@ -14,7 +14,7 @@
5452 .plt : { *(.plt) }
5453
5454 . = ALIGN (0x400);
5455 - .text : { *(.text) }
5456 + .text : { *(.text) *(.pad) *(.far) }
5457
5458 . = ALIGN (0x10000);
5459 .dynamic : { *(.dynamic) }
5460 diff -Naur binutils-2.19.1.orig/ld/testsuite/ld-powerpc/vxworks1.rd binutils-2.19.1/ld/testsuite/ld-powerpc/vxworks1.rd
5461 --- binutils-2.19.1.orig/ld/testsuite/ld-powerpc/vxworks1.rd 2006-03-02 07:16:27.000000000 -0800
5462 +++ binutils-2.19.1/ld/testsuite/ld-powerpc/vxworks1.rd 2009-03-02 05:52:34.000000000 -0800
5463 @@ -1,8 +1,8 @@
5464
5465 Relocation section '\.rela\.plt' at offset .* contains 2 entries:
5466 Offset Info Type Sym\.Value Sym\. Name \+ Addend
5467 -0009040c .*15 R_PPC_JMP_SLOT 00080820 sglobal \+ 0
5468 -00090410 .*15 R_PPC_JMP_SLOT 00080840 foo \+ 0
5469 +0009040c .*15 R_PPC_JMP_SLOT 00000000 sglobal \+ 0
5470 +00090410 .*15 R_PPC_JMP_SLOT 00000000 foo \+ 0
5471
5472 Relocation section '\.rela\.text' at offset .* contains 3 entries:
5473 Offset Info Type Sym\.Value Sym\. Name \+ Addend
5474 diff -Naur binutils-2.19.1.orig/ld/testsuite/ld-powerpc/vxworks-relax.rd binutils-2.19.1/ld/testsuite/ld-powerpc/vxworks-relax.rd
5475 --- binutils-2.19.1.orig/ld/testsuite/ld-powerpc/vxworks-relax.rd 1969-12-31 16:00:00.000000000 -0800
5476 +++ binutils-2.19.1/ld/testsuite/ld-powerpc/vxworks-relax.rd 2009-03-02 05:52:34.000000000 -0800
5477 @@ -0,0 +1,9 @@
5478 +
5479 +Relocation section '.rela.text' at offset 0x4010150 contains 6 entries:
5480 + Offset Info Type Sym.Value Sym. Name \+ Addend
5481 +00080012 00000106 R_PPC_ADDR16_HA 00080000 .text \+ 4000020
5482 +00080016 00000104 R_PPC_ADDR16_LO 00080000 .text \+ 4000020
5483 +00080006 00000106 R_PPC_ADDR16_HA 00080000 .text \+ 4000020
5484 +0008000a 00000104 R_PPC_ADDR16_LO 00080000 .text \+ 4000020
5485 +0408002a 00000306 R_PPC_ADDR16_HA 00080000 _start \+ 0
5486 +0408002e 00000304 R_PPC_ADDR16_LO 00080000 _start \+ 0
5487 diff -Naur binutils-2.19.1.orig/ld/testsuite/ld-powerpc/vxworks-relax.s binutils-2.19.1/ld/testsuite/ld-powerpc/vxworks-relax.s
5488 --- binutils-2.19.1.orig/ld/testsuite/ld-powerpc/vxworks-relax.s 1969-12-31 16:00:00.000000000 -0800
5489 +++ binutils-2.19.1/ld/testsuite/ld-powerpc/vxworks-relax.s 2009-03-02 05:52:34.000000000 -0800
5490 @@ -0,0 +1,13 @@
5491 + .globl _start
5492 +_start:
5493 + bl elsewhere
5494 + lis 9,elsewhere@ha
5495 + la 0,elsewhere@l(9)
5496 +
5497 +
5498 + .section .far,"ax",@progbits
5499 +elsewhere:
5500 + bl _start
5501 +
5502 + .section .pad
5503 + .space 0x4000000
5504 diff -Naur binutils-2.19.1.orig/opcodes/ChangeLog binutils-2.19.1/opcodes/ChangeLog
5505 --- binutils-2.19.1.orig/opcodes/ChangeLog 2008-12-23 05:54:52.000000000 -0800
5506 +++ binutils-2.19.1/opcodes/ChangeLog 2009-03-03 17:08:22.000000000 -0800
5507 @@ -1,3 +1,93 @@
5508 +2009-03-03 Peter Bergner <bergner@vnet.ibm.com>
5509 +
5510 + * ppc-opc.c (powerpc_opcodes): Reorder the opcode table so that
5511 + instructions from newer processors are listed before older ones.
5512 +
5513 +2009-03-02 Alan Modra <amodra@bigpond.net.au>
5514 +
5515 + 2009-02-26 Peter Bergner <bergner@vnet.ibm.com>
5516 + * ppc-dis.c (powerpc_init_dialect): Extend -Mpower7 to disassemble
5517 + the power7 and the isel instructions.
5518 + * ppc-opc.c (insert_xc6, extract_xc6): New static functions.
5519 + (insert_dm, extract_dm): Likewise.
5520 + (XB6): Update comment to include XX2 form.
5521 + (WC, XC6, SHW, DMEX, UIM, XX2, XX3RC, XX4, XX2_MASK, XX2UIM_MASK,
5522 + XX2BF_MASK, XX3BF_MASK, XX3SHW_MASK, XX4_MASK, XWC_MASK, POWER7): New.
5523 + (RemoveXX3DM): Delete.
5524 + (powerpc_opcodes): <"lfdp", "lfdpx", "mcrxr", "mftb", "mffgpr",
5525 + "mftgpr">: Deprecate for POWER7.
5526 + <"fres", "fres.", "frsqrtes", "frsqrtes.", "fre", "fre.", "frsqrte",
5527 + "frsqrte.">: Deprecate the three operand form and enable the two
5528 + operand form for POWER7 and later.
5529 + <"wait">: Extend to accept optional parameter. Enable for POWER7.
5530 + <"waitsrv", "waitimpl">: Add extended opcodes.
5531 + <"ldbrx", "stdbrx">: Enable for POWER7.
5532 + <"cdtbcd", "cbcdtd", "addg6s">: Add POWER6 opcodes.
5533 + <"bpermd", "dcbtstt", "dcbtt", "dcffix.", "dcffix", "divde.", "divde",
5534 + "divdeo.", "divdeo", "divdeu.", "divdeu", "divdeuo.", "divdeuo",
5535 + "divwe.", "divwe", "divweo.", "divweo", "divweu.", "divweu", "divweuo.",
5536 + "divweuo", "fcfids.", "fcfids", "fcfidu.", "fcfidu", "fcfidus.",
5537 + "fcfidus", "fctidu.", "fctidu", "fctiduz.", "fctiduz", "fctiwu.",
5538 + "fctiwu", "fctiwuz.", "fctiwuz", "ftdiv", "ftsqrt", "lbarx", "lfiwzx",
5539 + "lharx", "popcntd", "popcntw", "stbcx.", "sthcx.">: Add POWER7 opcodes.
5540 + <"lxsdux", "lxsdx", "lxvdsx", "lxvw4ux", "lxvw4x", "stxsdux", "stxsdx",
5541 + "stxvw4ux", "stxvw4x", "xsabsdp", "xsadddp", "xscmpodp", "xscmpudp",
5542 + "xscpsgndp", "xscvdpsp", "xscvdpsxds", "xscvdpsxws", "xscvdpuxds",
5543 + "xscvdpuxws", "xscvspdp", "xscvsxddp", "xscvuxddp", "xsdivdp",
5544 + "xsmaddadp", "xsmaddmdp", "xsmaxdp", "xsmindp", "xsmsubadp",
5545 + "xsmsubmdp", "xsmuldp", "xsnabsdp", "xsnegdp", "xsnmaddadp",
5546 + "xsnmaddmdp", "xsnmsubadp", "xsnmsubmdp", "xsrdpi", "xsrdpic",
5547 + "xsrdpim", "xsrdpip", "xsrdpiz", "xsredp", "xsrsqrtedp", "xssqrtdp",
5548 + "xssubdp", "xstdivdp", "xstsqrtdp", "xvabsdp", "xvabssp", "xvadddp",
5549 + "xvaddsp", "xvcmpeqdp.", "xvcmpeqdp", "xvcmpeqsp.", "xvcmpeqsp",
5550 + "xvcmpgedp.", "xvcmpgedp", "xvcmpgesp.", "xvcmpgesp", "xvcmpgtdp.",
5551 + "xvcmpgtdp", "xvcmpgtsp.", "xvcmpgtsp", "xvcpsgnsp", "xvcvdpsp",
5552 + "xvcvdpsxds", "xvcvdpsxws", "xvcvdpuxds", "xvcvdpuxws", "xvcvspdp",
5553 + "xvcvspsxds", "xvcvspsxws", "xvcvspuxds", "xvcvspuxws", "xvcvsxddp",
5554 + "xvcvsxdsp", "xvcvsxwdp", "xvcvsxwsp", "xvcvuxddp", "xvcvuxdsp",
5555 + "xvcvuxwdp", "xvcvuxwsp", "xvdivdp", "xvdivsp", "xvmaddadp",
5556 + "xvmaddasp", "xvmaddmdp", "xvmaddmsp", "xvmaxdp", "xvmaxsp",
5557 + "xvmindp", "xvminsp", "xvmovsp", "xvmsubadp", "xvmsubasp", "xvmsubmdp",
5558 + "xvmsubmsp", "xvmuldp", "xvmulsp", "xvnabsdp", "xvnabssp", "xvnegdp",
5559 + "xvnegsp", "xvnmaddadp", "xvnmaddasp", "xvnmaddmdp", "xvnmaddmsp",
5560 + "xvnmsubadp", "xvnmsubasp", "xvnmsubmdp", "xvnmsubmsp", "xvrdpi",
5561 + "xvrdpic", "xvrdpim", "xvrdpip", "xvrdpiz", "xvredp", "xvresp",
5562 + "xvrspi", "xvrspic", "xvrspim", "xvrspip", "xvrspiz", "xvrsqrtedp",
5563 + "xvrsqrtesp", "xvsqrtdp", "xvsqrtsp", "xvsubdp", "xvsubsp", "xvtdivdp",
5564 + "xvtdivsp", "xvtsqrtdp", "xvtsqrtsp", "xxland", "xxlandc", "xxlnor",
5565 + "xxlor", "xxlxor", "xxmrghw", "xxmrglw", "xxsel", "xxsldwi", "xxspltd",
5566 + "xxspltw", "xxswapd">: Add VSX opcodes.
5567 +
5568 + 2009-02-19 Peter Bergner <bergner@vnet.ibm.com>
5569 + * ppc-opc.c (powerpc_opcodes) <"lfdepx", "stfdepx">: Fix the first
5570 + operand to be a float point register (FRT/FRS).
5571 +
5572 + 2009-02-05 Peter Bergner <bergner@vnet.ibm.com>
5573 + * ppc-opc.c: Update copyright year.
5574 + (powerpc_opcodes) <"dcbt", "dcbtst">: Deprecate the Embedded operand
5575 + ordering for POWER4 and later and use the correct Server ordering.
5576 +
5577 + 2009-01-14 Peter Bergner <bergner@vnet.ibm.com>
5578 + * ppc-dis.c (print_insn_powerpc): Skip insn if it is deprecated.
5579 + * ppc-opc.c (powerpc_opcodes) <mtfsf, mtfsf.>: Deprecate the two
5580 + operand form and enable the four operand form for POWER6 and later.
5581 + <mtfsfi, mtfsfi.>: Deprecate the two operand form and enable the
5582 + three operand form for POWER6 and later.
5583 +
5584 + 2009-01-09 Peter Bergner <bergner@vnet.ibm.com>
5585 + * ppc-opc.c (PPCNONE): Define.
5586 + (NOPOWER4): Delete.
5587 + (powerpc_opcodes): Initialize the new "deprecated" field.
5588 +
5589 + 2008-12-04 Ben Elliston <bje@au.ibm.com>
5590 + * ppc-dis.c (powerpc_init_dialect): Do not set PPC_OPCODE_BOOKE
5591 + for -Mbooke.
5592 + (print_ppc_disassembler_options): Update usage.
5593 + * ppc-opc.c (DE, DES, DEO, DE_MASK): Remove.
5594 + (BOOKE64): Remove.
5595 + (PPCCHLK64): Likewise.
5596 + (powerpc_opcodes): Remove all BOOKE64 instructions.
5597 +
5598 2008-11-27 Alan Modra <amodra@bigpond.net.au>
5599
5600 * ppc-opc.c (extract_sprg): Correct operand range check.
5601 diff -Naur binutils-2.19.1.orig/opcodes/ppc-dis.c binutils-2.19.1/opcodes/ppc-dis.c
5602 --- binutils-2.19.1.orig/opcodes/ppc-dis.c 2008-08-01 21:38:51.000000000 -0700
5603 +++ binutils-2.19.1/opcodes/ppc-dis.c 2009-03-02 05:59:36.000000000 -0800
5604 @@ -63,7 +63,7 @@
5605 dialect |= PPC_OPCODE_PPCPS;
5606 else if (info->disassembler_options
5607 && strstr (info->disassembler_options, "booke") != NULL)
5608 - dialect |= PPC_OPCODE_BOOKE | PPC_OPCODE_BOOKE64;
5609 + dialect |= PPC_OPCODE_BOOKE;
5610 else if ((info->mach == bfd_mach_ppc_e500mc)
5611 || (info->disassembler_options
5612 && strstr (info->disassembler_options, "e500mc") != NULL))
5613 @@ -112,8 +112,9 @@
5614
5615 if (info->disassembler_options
5616 && strstr (info->disassembler_options, "power7") != NULL)
5617 - dialect |= PPC_OPCODE_POWER4 | PPC_OPCODE_POWER5 | PPC_OPCODE_POWER6
5618 - | PPC_OPCODE_ALTIVEC | PPC_OPCODE_VSX;
5619 + dialect |= PPC_OPCODE_POWER4 | PPC_OPCODE_POWER5
5620 + | PPC_OPCODE_POWER6 | PPC_OPCODE_POWER7
5621 + | PPC_OPCODE_ISEL | PPC_OPCODE_ALTIVEC | PPC_OPCODE_VSX;
5622
5623 if (info->disassembler_options
5624 && strstr (info->disassembler_options, "vsx") != NULL)
5625 @@ -266,7 +267,8 @@
5626 continue;
5627
5628 if ((insn & opcode->mask) != opcode->opcode
5629 - || (opcode->flags & dialect) == 0)
5630 + || (opcode->flags & dialect) == 0
5631 + || (opcode->deprecated & dialect) != 0)
5632 continue;
5633
5634 /* Make two passes over the operands. First see if any of them
5635 @@ -402,7 +404,7 @@
5636 The following PPC specific disassembler options are supported for use with\n\
5637 the -M switch:\n");
5638
5639 - fprintf (stream, " booke|booke32|booke64 Disassemble the BookE instructions\n");
5640 + fprintf (stream, " booke Disassemble the BookE instructions\n");
5641 fprintf (stream, " e300 Disassemble the e300 instructions\n");
5642 fprintf (stream, " e500|e500x2 Disassemble the e500 instructions\n");
5643 fprintf (stream, " e500mc Disassemble the e500mc instructions\n");
5644 diff -Naur binutils-2.19.1.orig/opcodes/ppc-opc.c binutils-2.19.1/opcodes/ppc-opc.c
5645 --- binutils-2.19.1.orig/opcodes/ppc-opc.c 2008-12-23 05:54:52.000000000 -0800
5646 +++ binutils-2.19.1/opcodes/ppc-opc.c 2009-03-03 17:08:22.000000000 -0800
5647 @@ -1,6 +1,6 @@
5648 /* ppc-opc.c -- PowerPC opcode list
5649 Copyright 1994, 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2004,
5650 - 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
5651 + 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
5652 Written by Ian Lance Taylor, Cygnus Support
5653
5654 This file is part of the GNU opcodes library.
5655 @@ -81,6 +81,10 @@
5656 static long extract_xb6 (unsigned long, ppc_cpu_t, int *);
5657 static unsigned long insert_xb6s (unsigned long, long, ppc_cpu_t, const char **);
5658 static long extract_xb6s (unsigned long, ppc_cpu_t, int *);
5659 +static unsigned long insert_xc6 (unsigned long, long, ppc_cpu_t, const char **);
5660 +static long extract_xc6 (unsigned long, ppc_cpu_t, int *);
5661 +static unsigned long insert_dm (unsigned long, long, ppc_cpu_t, const char **);
5662 +static long extract_dm (unsigned long, ppc_cpu_t, int *);
5663 \f
5664 /* The operands table.
5665
5666 @@ -223,19 +227,9 @@
5667 #define D CT + 1
5668 { 0xffff, 0, NULL, NULL, PPC_OPERAND_PARENS | PPC_OPERAND_SIGNED },
5669
5670 - /* The DE field in a DE form instruction. This is like D, but is 12
5671 - bits only. */
5672 -#define DE D + 1
5673 - { 0xfff, 4, NULL, NULL, PPC_OPERAND_PARENS | PPC_OPERAND_SIGNED },
5674 -
5675 - /* The DES field in a DES form instruction. This is like DS, but is 14
5676 - bits only (12 stored.) */
5677 -#define DES DE + 1
5678 - { 0x3ffc, 2, NULL, NULL, PPC_OPERAND_PARENS | PPC_OPERAND_SIGNED },
5679 -
5680 /* The DQ field in a DQ form instruction. This is like D, but the
5681 lower four bits are forced to zero. */
5682 -#define DQ DES + 1
5683 +#define DQ D + 1
5684 { 0xfff0, 0, NULL, NULL,
5685 PPC_OPERAND_PARENS | PPC_OPERAND_SIGNED | PPC_OPERAND_DQ },
5686
5687 @@ -320,8 +314,9 @@
5688 #define LIA LI + 1
5689 { 0x3fffffc, 0, NULL, NULL, PPC_OPERAND_ABSOLUTE | PPC_OPERAND_SIGNED },
5690
5691 - /* The LS field in an X (sync) form instruction. */
5692 + /* The LS or WC field in an X (sync or wait) form instruction. */
5693 #define LS LIA + 1
5694 +#define WC LS
5695 { 0x3, 21, NULL, NULL, PPC_OPERAND_OPTIONAL },
5696
5697 /* The ME field in an M form instruction. */
5698 @@ -617,7 +612,7 @@
5699 #define XA6 XT6 + 1
5700 { 0x3f, -1, insert_xa6, extract_xa6, PPC_OPERAND_VSR },
5701
5702 - /* The XB field in an XX3 form instruction. This is split. */
5703 + /* The XB field in an XX2 or XX3 form instruction. This is split. */
5704 #define XB6 XA6 + 1
5705 { 0x3f, -1, insert_xb6, extract_xb6, PPC_OPERAND_VSR },
5706
5707 @@ -627,9 +622,22 @@
5708 #define XB6S XB6 + 1
5709 { 0x3f, -1, insert_xb6s, extract_xb6s, PPC_OPERAND_FAKE },
5710
5711 - /* The DM field in an XX3 form instruction. */
5712 -#define DM XB6S + 1
5713 + /* The XC field in an XX4 form instruction. This is split. */
5714 +#define XC6 XB6S + 1
5715 + { 0x3f, -1, insert_xc6, extract_xc6, PPC_OPERAND_VSR },
5716 +
5717 + /* The DM or SHW field in an XX3 form instruction. */
5718 +#define DM XC6 + 1
5719 +#define SHW DM
5720 { 0x3, 8, NULL, NULL, 0 },
5721 +
5722 + /* The DM field in an extended mnemonic XX3 form instruction. */
5723 +#define DMEX DM + 1
5724 + { 0x3, 8, insert_dm, extract_dm, 0 },
5725 +
5726 + /* The UIM field in an XX2 form instruction. */
5727 +#define UIM DMEX + 1
5728 + { 0x3, 16, NULL, NULL, 0 },
5729 };
5730
5731 const unsigned int num_powerpc_operands = (sizeof (powerpc_operands)
5732 @@ -1405,6 +1413,49 @@
5733 *invalid = 1;
5734 return 0;
5735 }
5736 +
5737 +/* The XC field in an XX4 form instruction. This is split. */
5738 +
5739 +static unsigned long
5740 +insert_xc6 (unsigned long insn,
5741 + long value,
5742 + ppc_cpu_t dialect ATTRIBUTE_UNUSED,
5743 + const char **errmsg ATTRIBUTE_UNUSED)
5744 +{
5745 + return insn | ((value & 0x1f) << 6) | ((value & 0x20) >> 2);
5746 +}
5747 +
5748 +static long
5749 +extract_xc6 (unsigned long insn,
5750 + ppc_cpu_t dialect ATTRIBUTE_UNUSED,
5751 + int *invalid ATTRIBUTE_UNUSED)
5752 +{
5753 + return ((insn << 2) & 0x20) | ((insn >> 6) & 0x1f);
5754 +}
5755 +
5756 +static unsigned long
5757 +insert_dm (unsigned long insn,
5758 + long value,
5759 + ppc_cpu_t dialect ATTRIBUTE_UNUSED,
5760 + const char **errmsg)
5761 +{
5762 + if (value != 0 && value != 1)
5763 + *errmsg = _("invalid constant");
5764 + return insn | (((value) ? 3 : 0) << 8);
5765 +}
5766 +
5767 +static long
5768 +extract_dm (unsigned long insn,
5769 + ppc_cpu_t dialect ATTRIBUTE_UNUSED,
5770 + int *invalid)
5771 +{
5772 + long value;
5773 +
5774 + value = (insn >> 8) & 3;
5775 + if (value != 0 && value != 3)
5776 + *invalid = 1;
5777 + return (value) ? 1 : 0;
5778 +}
5779 \f
5780 /* Macros used to form opcodes. */
5781
5782 @@ -1487,10 +1538,6 @@
5783 #define DSO(op, xop) (OP (op) | ((xop) & 0x3))
5784 #define DS_MASK DSO (0x3f, 3)
5785
5786 -/* A DE form instruction. */
5787 -#define DEO(op, xop) (OP (op) | ((xop) & 0xf))
5788 -#define DE_MASK DEO (0x3e, 0xf)
5789 -
5790 /* An EVSEL form instruction. */
5791 #define EVSEL(op, xop) (OP (op) | (((unsigned long)(xop)) & 0xff) << 3)
5792 #define EVSEL_MASK EVSEL(0x3f, 0xff)
5793 @@ -1550,11 +1597,17 @@
5794 /* An X form instruction. */
5795 #define X(op, xop) (OP (op) | ((((unsigned long)(xop)) & 0x3ff) << 1))
5796
5797 +/* An XX2 form instruction. */
5798 +#define XX2(op, xop) (OP (op) | ((((unsigned long)(xop)) & 0x1ff) << 2))
5799 +
5800 /* An XX3 form instruction. */
5801 #define XX3(op, xop) (OP (op) | ((((unsigned long)(xop)) & 0xff) << 3))
5802
5803 -#define XX3DM(op, xop, dm) (XX3 (op, ((unsigned long)(xop) & 0x1f)) \
5804 - | ((((unsigned long)(dm)) & 0x3) << 8))
5805 +/* An XX3 form instruction with the RC bit specified. */
5806 +#define XX3RC(op, xop, rc) (OP (op) | (((rc) & 1) << 10) | ((((unsigned long)(xop)) & 0x7f) << 3))
5807 +
5808 +/* An XX4 form instruction. */
5809 +#define XX4(op, xop) (OP (op) | ((((unsigned long)(xop)) & 0x3) << 4))
5810
5811 /* A Z form instruction. */
5812 #define Z(op, xop) (OP (op) | ((((unsigned long)(xop)) & 0x1ff) << 1))
5813 @@ -1571,11 +1624,30 @@
5814 /* The mask for an XX1 form instruction. */
5815 #define XX1_MASK X (0x3f, 0x3ff)
5816
5817 +/* The mask for an XX2 form instruction. */
5818 +#define XX2_MASK (XX2 (0x3f, 0x1ff) | (0x1f << 16))
5819 +
5820 +/* The mask for an XX2 form instruction with the UIM bits specified. */
5821 +#define XX2UIM_MASK (XX2 (0x3f, 0x1ff) | (7 << 18))
5822 +
5823 +/* The mask for an XX2 form instruction with the BF bits specified. */
5824 +#define XX2BF_MASK (XX2_MASK | (3 << 21) | (1))
5825 +
5826 /* The mask for an XX3 form instruction. */
5827 #define XX3_MASK XX3 (0x3f, 0xff)
5828
5829 -/* The mask for an XX3 form instruction with the DM bits specified. */
5830 +/* The mask for an XX3 form instruction with the BF bits specified. */
5831 +#define XX3BF_MASK (XX3 (0x3f, 0xff) | (3 << 21) | (1))
5832 +
5833 +/* The mask for an XX3 form instruction with the DM or SHW bits specified. */
5834 #define XX3DM_MASK (XX3 (0x3f, 0x1f) | (1 << 10))
5835 +#define XX3SHW_MASK XX3DM_MASK
5836 +
5837 +/* The mask for an XX4 form instruction. */
5838 +#define XX4_MASK XX4 (0x3f, 0x3)
5839 +
5840 +/* An X form wait instruction with everything filled in except the WC field. */
5841 +#define XWC_MASK (XRC (0x3f, 0x3ff, 1) | (7 << 23) | RA_MASK | RB_MASK)
5842
5843 /* The mask for a Z form instruction. */
5844 #define Z_MASK ZRC (0x3f, 0x1ff, 1)
5845 @@ -1810,13 +1882,14 @@
5846 \f
5847 /* Smaller names for the flags so each entry in the opcodes table will
5848 fit on a single line. */
5849 +#define PPCNONE 0
5850 #undef PPC
5851 #define PPC PPC_OPCODE_PPC
5852 #define PPCCOM PPC_OPCODE_PPC | PPC_OPCODE_COMMON
5853 -#define NOPOWER4 PPC_OPCODE_NOPOWER4 | PPCCOM
5854 #define POWER4 PPC_OPCODE_POWER4
5855 #define POWER5 PPC_OPCODE_POWER5
5856 #define POWER6 PPC_OPCODE_POWER6
5857 +#define POWER7 PPC_OPCODE_POWER7
5858 #define CELL PPC_OPCODE_CELL
5859 #define PPC32 PPC_OPCODE_32 | PPC_OPCODE_PPC
5860 #define PPC64 PPC_OPCODE_64 | PPC_OPCODE_PPC
5861 @@ -1841,7 +1914,6 @@
5862 #define MFDEC1 PPC_OPCODE_POWER
5863 #define MFDEC2 PPC_OPCODE_PPC | PPC_OPCODE_601 | PPC_OPCODE_BOOKE
5864 #define BOOKE PPC_OPCODE_BOOKE
5865 -#define BOOKE64 PPC_OPCODE_BOOKE64
5866 #define CLASSIC PPC_OPCODE_CLASSIC
5867 #define PPCE300 PPC_OPCODE_E300
5868 #define PPCSPE PPC_OPCODE_SPE
5869 @@ -1850,7 +1922,6 @@
5870 #define PPCBRLK PPC_OPCODE_BRLOCK
5871 #define PPCPMR PPC_OPCODE_PMR
5872 #define PPCCHLK PPC_OPCODE_CACHELCK
5873 -#define PPCCHLK64 PPC_OPCODE_CACHELCK | PPC_OPCODE_BOOKE64
5874 #define PPCRFMCI PPC_OPCODE_RFMCI
5875 #define E500MC PPC_OPCODE_E500MC
5876 \f
5877 @@ -1876,3253 +1947,3347 @@
5878 constrained otherwise by disassembler operation. */
5879
5880 const struct powerpc_opcode powerpc_opcodes[] = {
5881 -{"attn", X(0,256), X_MASK, POWER4, {0}},
5882 -{"tdlgti", OPTO(2,TOLGT), OPTO_MASK, PPC64, {RA, SI}},
5883 -{"tdllti", OPTO(2,TOLLT), OPTO_MASK, PPC64, {RA, SI}},
5884 -{"tdeqi", OPTO(2,TOEQ), OPTO_MASK, PPC64, {RA, SI}},
5885 -{"tdlgei", OPTO(2,TOLGE), OPTO_MASK, PPC64, {RA, SI}},
5886 -{"tdlnli", OPTO(2,TOLNL), OPTO_MASK, PPC64, {RA, SI}},
5887 -{"tdllei", OPTO(2,TOLLE), OPTO_MASK, PPC64, {RA, SI}},
5888 -{"tdlngi", OPTO(2,TOLNG), OPTO_MASK, PPC64, {RA, SI}},
5889 -{"tdgti", OPTO(2,TOGT), OPTO_MASK, PPC64, {RA, SI}},
5890 -{"tdgei", OPTO(2,TOGE), OPTO_MASK, PPC64, {RA, SI}},
5891 -{"tdnli", OPTO(2,TONL), OPTO_MASK, PPC64, {RA, SI}},
5892 -{"tdlti", OPTO(2,TOLT), OPTO_MASK, PPC64, {RA, SI}},
5893 -{"tdlei", OPTO(2,TOLE), OPTO_MASK, PPC64, {RA, SI}},
5894 -{"tdngi", OPTO(2,TONG), OPTO_MASK, PPC64, {RA, SI}},
5895 -{"tdnei", OPTO(2,TONE), OPTO_MASK, PPC64, {RA, SI}},
5896 -{"tdi", OP(2), OP_MASK, PPC64, {TO, RA, SI}},
5897 -
5898 -{"twlgti", OPTO(3,TOLGT), OPTO_MASK, PPCCOM, {RA, SI}},
5899 -{"tlgti", OPTO(3,TOLGT), OPTO_MASK, PWRCOM, {RA, SI}},
5900 -{"twllti", OPTO(3,TOLLT), OPTO_MASK, PPCCOM, {RA, SI}},
5901 -{"tllti", OPTO(3,TOLLT), OPTO_MASK, PWRCOM, {RA, SI}},
5902 -{"tweqi", OPTO(3,TOEQ), OPTO_MASK, PPCCOM, {RA, SI}},
5903 -{"teqi", OPTO(3,TOEQ), OPTO_MASK, PWRCOM, {RA, SI}},
5904 -{"twlgei", OPTO(3,TOLGE), OPTO_MASK, PPCCOM, {RA, SI}},
5905 -{"tlgei", OPTO(3,TOLGE), OPTO_MASK, PWRCOM, {RA, SI}},
5906 -{"twlnli", OPTO(3,TOLNL), OPTO_MASK, PPCCOM, {RA, SI}},
5907 -{"tlnli", OPTO(3,TOLNL), OPTO_MASK, PWRCOM, {RA, SI}},
5908 -{"twllei", OPTO(3,TOLLE), OPTO_MASK, PPCCOM, {RA, SI}},
5909 -{"tllei", OPTO(3,TOLLE), OPTO_MASK, PWRCOM, {RA, SI}},
5910 -{"twlngi", OPTO(3,TOLNG), OPTO_MASK, PPCCOM, {RA, SI}},
5911 -{"tlngi", OPTO(3,TOLNG), OPTO_MASK, PWRCOM, {RA, SI}},
5912 -{"twgti", OPTO(3,TOGT), OPTO_MASK, PPCCOM, {RA, SI}},
5913 -{"tgti", OPTO(3,TOGT), OPTO_MASK, PWRCOM, {RA, SI}},
5914 -{"twgei", OPTO(3,TOGE), OPTO_MASK, PPCCOM, {RA, SI}},
5915 -{"tgei", OPTO(3,TOGE), OPTO_MASK, PWRCOM, {RA, SI}},
5916 -{"twnli", OPTO(3,TONL), OPTO_MASK, PPCCOM, {RA, SI}},
5917 -{"tnli", OPTO(3,TONL), OPTO_MASK, PWRCOM, {RA, SI}},
5918 -{"twlti", OPTO(3,TOLT), OPTO_MASK, PPCCOM, {RA, SI}},
5919 -{"tlti", OPTO(3,TOLT), OPTO_MASK, PWRCOM, {RA, SI}},
5920 -{"twlei", OPTO(3,TOLE), OPTO_MASK, PPCCOM, {RA, SI}},
5921 -{"tlei", OPTO(3,TOLE), OPTO_MASK, PWRCOM, {RA, SI}},
5922 -{"twngi", OPTO(3,TONG), OPTO_MASK, PPCCOM, {RA, SI}},
5923 -{"tngi", OPTO(3,TONG), OPTO_MASK, PWRCOM, {RA, SI}},
5924 -{"twnei", OPTO(3,TONE), OPTO_MASK, PPCCOM, {RA, SI}},
5925 -{"tnei", OPTO(3,TONE), OPTO_MASK, PWRCOM, {RA, SI}},
5926 -{"twi", OP(3), OP_MASK, PPCCOM, {TO, RA, SI}},
5927 -{"ti", OP(3), OP_MASK, PWRCOM, {TO, RA, SI}},
5928 -
5929 -{"ps_cmpu0", X (4, 0), X_MASK|(3<<21), PPCPS, {BF, FRA, FRB}},
5930 -{"vaddubm", VX (4, 0), VX_MASK, PPCVEC, {VD, VA, VB}},
5931 -{"vmaxub", VX (4, 2), VX_MASK, PPCVEC, {VD, VA, VB}},
5932 -{"vrlb", VX (4, 4), VX_MASK, PPCVEC, {VD, VA, VB}},
5933 -{"vcmpequb", VXR(4, 6,0), VXR_MASK, PPCVEC, {VD, VA, VB}},
5934 -{"vmuloub", VX (4, 8), VX_MASK, PPCVEC, {VD, VA, VB}},
5935 -{"vaddfp", VX (4, 10), VX_MASK, PPCVEC, {VD, VA, VB}},
5936 -{"psq_lx", XW (4, 6,0), XW_MASK, PPCPS, {FRT,RA,RB,PSWM,PSQM}},
5937 -{"vmrghb", VX (4, 12), VX_MASK, PPCVEC, {VD, VA, VB}},
5938 -{"psq_stx", XW (4, 7,0), XW_MASK, PPCPS, {FRS,RA,RB,PSWM,PSQM}},
5939 -{"vpkuhum", VX (4, 14), VX_MASK, PPCVEC, {VD, VA, VB}},
5940 -{"mulhhwu", XRC(4, 8,0), X_MASK, PPC405|PPC440, {RT, RA, RB}},
5941 -{"mulhhwu.", XRC(4, 8,1), X_MASK, PPC405|PPC440, {RT, RA, RB}},
5942 -{"ps_sum0", A (4, 10,0), A_MASK, PPCPS, {FRT, FRA, FRC, FRB}},
5943 -{"ps_sum0.", A (4, 10,1), A_MASK, PPCPS, {FRT, FRA, FRC, FRB}},
5944 -{"ps_sum1", A (4, 11,0), A_MASK, PPCPS, {FRT, FRA, FRC, FRB}},
5945 -{"ps_sum1.", A (4, 11,1), A_MASK, PPCPS, {FRT, FRA, FRC, FRB}},
5946 -{"ps_muls0", A (4, 12,0), AFRB_MASK, PPCPS, {FRT, FRA, FRC}},
5947 -{"machhwu", XO (4, 12,0,0),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
5948 -{"ps_muls0.", A (4, 12,1), AFRB_MASK, PPCPS, {FRT, FRA, FRC}},
5949 -{"machhwu.", XO (4, 12,0,1),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
5950 -{"ps_muls1", A (4, 13,0), AFRB_MASK, PPCPS, {FRT, FRA, FRC}},
5951 -{"ps_muls1.", A (4, 13,1), AFRB_MASK, PPCPS, {FRT, FRA, FRC}},
5952 -{"ps_madds0", A (4, 14,0), A_MASK, PPCPS, {FRT, FRA, FRC, FRB}},
5953 -{"ps_madds0.", A (4, 14,1), A_MASK, PPCPS, {FRT, FRA, FRC, FRB}},
5954 -{"ps_madds1", A (4, 15,0), A_MASK, PPCPS, {FRT, FRA, FRC, FRB}},
5955 -{"ps_madds1.", A (4, 15,1), A_MASK, PPCPS, {FRT, FRA, FRC, FRB}},
5956 -{"vmhaddshs", VXA(4, 32), VXA_MASK, PPCVEC, {VD, VA, VB, VC}},
5957 -{"vmhraddshs", VXA(4, 33), VXA_MASK, PPCVEC, {VD, VA, VB, VC}},
5958 -{"vmladduhm", VXA(4, 34), VXA_MASK, PPCVEC, {VD, VA, VB, VC}},
5959 -{"ps_div", A (4, 18,0), AFRC_MASK, PPCPS, {FRT, FRA, FRB}},
5960 -{"vmsumubm", VXA(4, 36), VXA_MASK, PPCVEC, {VD, VA, VB, VC}},
5961 -{"ps_div.", A (4, 18,1), AFRC_MASK, PPCPS, {FRT, FRA, FRB}},
5962 -{"vmsummbm", VXA(4, 37), VXA_MASK, PPCVEC, {VD, VA, VB, VC}},
5963 -{"vmsumuhm", VXA(4, 38), VXA_MASK, PPCVEC, {VD, VA, VB, VC}},
5964 -{"vmsumuhs", VXA(4, 39), VXA_MASK, PPCVEC, {VD, VA, VB, VC}},
5965 -{"ps_sub", A (4, 20,0), AFRC_MASK, PPCPS, {FRT, FRA, FRB}},
5966 -{"vmsumshm", VXA(4, 40), VXA_MASK, PPCVEC, {VD, VA, VB, VC}},
5967 -{"ps_sub.", A (4, 20,1), AFRC_MASK, PPCPS, {FRT, FRA, FRB}},
5968 -{"vmsumshs", VXA(4, 41), VXA_MASK, PPCVEC, {VD, VA, VB, VC}},
5969 -{"ps_add", A (4, 21,0), AFRC_MASK, PPCPS, {FRT, FRA, FRB}},
5970 -{"vsel", VXA(4, 42), VXA_MASK, PPCVEC, {VD, VA, VB, VC}},
5971 -{"ps_add.", A (4, 21,1), AFRC_MASK, PPCPS, {FRT, FRA, FRB}},
5972 -{"vperm", VXA(4, 43), VXA_MASK, PPCVEC, {VD, VA, VB, VC}},
5973 -{"vsldoi", VXA(4, 44), VXA_MASK, PPCVEC, {VD, VA, VB, SHB}},
5974 -{"ps_sel", A (4, 23,0), A_MASK, PPCPS, {FRT, FRA, FRC, FRB}},
5975 -{"vmaddfp", VXA(4, 46), VXA_MASK, PPCVEC, {VD, VA, VC, VB}},
5976 -{"ps_sel.", A (4, 23,1), A_MASK, PPCPS, {FRT, FRA, FRC, FRB}},
5977 -{"vnmsubfp", VXA(4, 47), VXA_MASK, PPCVEC, {VD, VA, VC, VB}},
5978 -{"ps_res", A (4, 24,0), AFRAFRC_MASK, PPCPS, {FRT, FRB}},
5979 -{"ps_res.", A (4, 24,1), AFRAFRC_MASK, PPCPS, {FRT, FRB}},
5980 -{"ps_mul", A (4, 25,0), AFRB_MASK, PPCPS, {FRT, FRA, FRC}},
5981 -{"ps_mul.", A (4, 25,1), AFRB_MASK, PPCPS, {FRT, FRA, FRC}},
5982 -{"ps_rsqrte", A (4, 26,0), AFRAFRC_MASK, PPCPS, {FRT, FRB}},
5983 -{"ps_rsqrte.", A (4, 26,1), AFRAFRC_MASK, PPCPS, {FRT, FRB}},
5984 -{"ps_msub", A (4, 28,0), A_MASK, PPCPS, {FRT, FRA, FRC, FRB}},
5985 -{"ps_msub.", A (4, 28,1), A_MASK, PPCPS, {FRT, FRA, FRC, FRB}},
5986 -{"ps_madd", A (4, 29,0), A_MASK, PPCPS, {FRT, FRA, FRC, FRB}},
5987 -{"ps_madd.", A (4, 29,1), A_MASK, PPCPS, {FRT, FRA, FRC, FRB}},
5988 -{"ps_nmsub", A (4, 30,0), A_MASK, PPCPS, {FRT, FRA, FRC, FRB}},
5989 -{"ps_nmsub.", A (4, 30,1), A_MASK, PPCPS, {FRT, FRA, FRC, FRB}},
5990 -{"ps_nmadd", A (4, 31,0), A_MASK, PPCPS, {FRT, FRA, FRC, FRB}},
5991 -{"ps_nmadd.", A (4, 31,1), A_MASK, PPCPS, {FRT, FRA, FRC, FRB}},
5992 -{"ps_cmpo0", X (4, 32), X_MASK|(3<<21), PPCPS, {BF, FRA, FRB}},
5993 -{"vadduhm", VX (4, 64), VX_MASK, PPCVEC, {VD, VA, VB}},
5994 -{"vmaxuh", VX (4, 66), VX_MASK, PPCVEC, {VD, VA, VB}},
5995 -{"vrlh", VX (4, 68), VX_MASK, PPCVEC, {VD, VA, VB}},
5996 -{"vcmpequh", VXR(4, 70,0), VXR_MASK, PPCVEC, {VD, VA, VB}},
5997 -{"vmulouh", VX (4, 72), VX_MASK, PPCVEC, {VD, VA, VB}},
5998 -{"vsubfp", VX (4, 74), VX_MASK, PPCVEC, {VD, VA, VB}},
5999 -{"psq_lux", XW (4, 38,0), XW_MASK, PPCPS, {FRT,RA,RB,PSWM,PSQM}},
6000 -{"vmrghh", VX (4, 76), VX_MASK, PPCVEC, {VD, VA, VB}},
6001 -{"psq_stux", XW (4, 39,0), XW_MASK, PPCPS, {FRS,RA,RB,PSWM,PSQM}},
6002 -{"vpkuwum", VX (4, 78), VX_MASK, PPCVEC, {VD, VA, VB}},
6003 -{"ps_neg", XRC(4, 40,0), XRA_MASK, PPCPS, {FRT, FRB}},
6004 -{"mulhhw", XRC(4, 40,0), X_MASK, PPC405|PPC440, {RT, RA, RB}},
6005 -{"ps_neg.", XRC(4, 40,1), XRA_MASK, PPCPS, {FRT, FRB}},
6006 -{"mulhhw.", XRC(4, 40,1), X_MASK, PPC405|PPC440, {RT, RA, RB}},
6007 -{"machhw", XO (4, 44,0,0),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6008 -{"machhw.", XO (4, 44,0,1),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6009 -{"nmachhw", XO (4, 46,0,0),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6010 -{"nmachhw.", XO (4, 46,0,1),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6011 -{"ps_cmpu1", X (4, 64), X_MASK|(3<<21), PPCPS, {BF, FRA, FRB}},
6012 -{"vadduwm", VX (4, 128), VX_MASK, PPCVEC, {VD, VA, VB}},
6013 -{"vmaxuw", VX (4, 130), VX_MASK, PPCVEC, {VD, VA, VB}},
6014 -{"vrlw", VX (4, 132), VX_MASK, PPCVEC, {VD, VA, VB}},
6015 -{"vcmpequw", VXR(4, 134,0), VXR_MASK, PPCVEC, {VD, VA, VB}},
6016 -{"vmrghw", VX (4, 140), VX_MASK, PPCVEC, {VD, VA, VB}},
6017 -{"vpkuhus", VX (4, 142), VX_MASK, PPCVEC, {VD, VA, VB}},
6018 -{"ps_mr", XRC(4, 72,0), XRA_MASK, PPCPS, {FRT, FRB}},
6019 -{"ps_mr.", XRC(4, 72,1), XRA_MASK, PPCPS, {FRT, FRB}},
6020 -{"machhwsu", XO (4, 76,0,0),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6021 -{"machhwsu.", XO (4, 76,0,1),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6022 -{"ps_cmpo1", X (4, 96), X_MASK|(3<<21), PPCPS, {BF, FRA, FRB}},
6023 -{"vcmpeqfp", VXR(4, 198,0), VXR_MASK, PPCVEC, {VD, VA, VB}},
6024 -{"vpkuwus", VX (4, 206), VX_MASK, PPCVEC, {VD, VA, VB}},
6025 -{"machhws", XO (4, 108,0,0),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6026 -{"machhws.", XO (4, 108,0,1),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6027 -{"nmachhws", XO (4, 110,0,0),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6028 -{"nmachhws.", XO (4, 110,0,1),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6029 -{"vmaxsb", VX (4, 258), VX_MASK, PPCVEC, {VD, VA, VB}},
6030 -{"vslb", VX (4, 260), VX_MASK, PPCVEC, {VD, VA, VB}},
6031 -{"vmulosb", VX (4, 264), VX_MASK, PPCVEC, {VD, VA, VB}},
6032 -{"vrefp", VX (4, 266), VX_MASK, PPCVEC, {VD, VB}},
6033 -{"vmrglb", VX (4, 268), VX_MASK, PPCVEC, {VD, VA, VB}},
6034 -{"vpkshus", VX (4, 270), VX_MASK, PPCVEC, {VD, VA, VB}},
6035 -{"ps_nabs", XRC(4, 136,0), XRA_MASK, PPCPS, {FRT, FRB}},
6036 -{"mulchwu", XRC(4, 136,0), X_MASK, PPC405|PPC440, {RT, RA, RB}},
6037 -{"ps_nabs.", XRC(4, 136,1), XRA_MASK, PPCPS, {FRT, FRB}},
6038 -{"mulchwu.", XRC(4, 136,1), X_MASK, PPC405|PPC440, {RT, RA, RB}},
6039 -{"macchwu", XO (4, 140,0,0),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6040 -{"macchwu.", XO (4, 140,0,1),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6041 -{"vmaxsh", VX (4, 322), VX_MASK, PPCVEC, {VD, VA, VB}},
6042 -{"vslh", VX (4, 324), VX_MASK, PPCVEC, {VD, VA, VB}},
6043 -{"vmulosh", VX (4, 328), VX_MASK, PPCVEC, {VD, VA, VB}},
6044 -{"vrsqrtefp", VX (4, 330), VX_MASK, PPCVEC, {VD, VB}},
6045 -{"vmrglh", VX (4, 332), VX_MASK, PPCVEC, {VD, VA, VB}},
6046 -{"vpkswus", VX (4, 334), VX_MASK, PPCVEC, {VD, VA, VB}},
6047 -{"mulchw", XRC(4, 168,0), X_MASK, PPC405|PPC440, {RT, RA, RB}},
6048 -{"mulchw.", XRC(4, 168,1), X_MASK, PPC405|PPC440, {RT, RA, RB}},
6049 -{"macchw", XO (4, 172,0,0),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6050 -{"macchw.", XO (4, 172,0,1),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6051 -{"nmacchw", XO (4, 174,0,0),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6052 -{"nmacchw.", XO (4, 174,0,1),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6053 -{"vaddcuw", VX (4, 384), VX_MASK, PPCVEC, {VD, VA, VB}},
6054 -{"vmaxsw", VX (4, 386), VX_MASK, PPCVEC, {VD, VA, VB}},
6055 -{"vslw", VX (4, 388), VX_MASK, PPCVEC, {VD, VA, VB}},
6056 -{"vexptefp", VX (4, 394), VX_MASK, PPCVEC, {VD, VB}},
6057 -{"vmrglw", VX (4, 396), VX_MASK, PPCVEC, {VD, VA, VB}},
6058 -{"vpkshss", VX (4, 398), VX_MASK, PPCVEC, {VD, VA, VB}},
6059 -{"macchwsu", XO (4, 204,0,0),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6060 -{"macchwsu.", XO (4, 204,0,1),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6061 -{"vsl", VX (4, 452), VX_MASK, PPCVEC, {VD, VA, VB}},
6062 -{"vcmpgefp", VXR(4, 454,0), VXR_MASK, PPCVEC, {VD, VA, VB}},
6063 -{"vlogefp", VX (4, 458), VX_MASK, PPCVEC, {VD, VB}},
6064 -{"vpkswss", VX (4, 462), VX_MASK, PPCVEC, {VD, VA, VB}},
6065 -{"macchws", XO (4, 236,0,0),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6066 -{"macchws.", XO (4, 236,0,1),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6067 -{"nmacchws", XO (4, 238,0,0),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6068 -{"nmacchws.", XO (4, 238,0,1),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6069 -{"evaddw", VX (4, 512), VX_MASK, PPCSPE, {RS, RA, RB}},
6070 -{"vaddubs", VX (4, 512), VX_MASK, PPCVEC, {VD, VA, VB}},
6071 -{"evaddiw", VX (4, 514), VX_MASK, PPCSPE, {RS, RB, UIMM}},
6072 -{"vminub", VX (4, 514), VX_MASK, PPCVEC, {VD, VA, VB}},
6073 -{"evsubfw", VX (4, 516), VX_MASK, PPCSPE, {RS, RA, RB}},
6074 -{"evsubw", VX (4, 516), VX_MASK, PPCSPE, {RS, RB, RA}},
6075 -{"vsrb", VX (4, 516), VX_MASK, PPCVEC, {VD, VA, VB}},
6076 -{"evsubifw", VX (4, 518), VX_MASK, PPCSPE, {RS, UIMM, RB}},
6077 -{"evsubiw", VX (4, 518), VX_MASK, PPCSPE, {RS, RB, UIMM}},
6078 -{"vcmpgtub", VXR(4, 518,0), VXR_MASK, PPCVEC, {VD, VA, VB}},
6079 -{"evabs", VX (4, 520), VX_MASK, PPCSPE, {RS, RA}},
6080 -{"vmuleub", VX (4, 520), VX_MASK, PPCVEC, {VD, VA, VB}},
6081 -{"evneg", VX (4, 521), VX_MASK, PPCSPE, {RS, RA}},
6082 -{"evextsb", VX (4, 522), VX_MASK, PPCSPE, {RS, RA}},
6083 -{"vrfin", VX (4, 522), VX_MASK, PPCVEC, {VD, VB}},
6084 -{"evextsh", VX (4, 523), VX_MASK, PPCSPE, {RS, RA}},
6085 -{"evrndw", VX (4, 524), VX_MASK, PPCSPE, {RS, RA}},
6086 -{"vspltb", VX (4, 524), VX_MASK, PPCVEC, {VD, VB, UIMM}},
6087 -{"evcntlzw", VX (4, 525), VX_MASK, PPCSPE, {RS, RA}},
6088 -{"evcntlsw", VX (4, 526), VX_MASK, PPCSPE, {RS, RA}},
6089 -{"vupkhsb", VX (4, 526), VX_MASK, PPCVEC, {VD, VB}},
6090 -{"brinc", VX (4, 527), VX_MASK, PPCSPE, {RS, RA, RB}},
6091 -{"ps_abs", XRC(4, 264,0), XRA_MASK, PPCPS, {FRT, FRB}},
6092 -{"ps_abs.", XRC(4, 264,1), XRA_MASK, PPCPS, {FRT, FRB}},
6093 -{"evand", VX (4, 529), VX_MASK, PPCSPE, {RS, RA, RB}},
6094 -{"evandc", VX (4, 530), VX_MASK, PPCSPE, {RS, RA, RB}},
6095 -{"evxor", VX (4, 534), VX_MASK, PPCSPE, {RS, RA, RB}},
6096 -{"evmr", VX (4, 535), VX_MASK, PPCSPE, {RS, RA, BBA}},
6097 -{"evor", VX (4, 535), VX_MASK, PPCSPE, {RS, RA, RB}},
6098 -{"evnor", VX (4, 536), VX_MASK, PPCSPE, {RS, RA, RB}},
6099 -{"evnot", VX (4, 536), VX_MASK, PPCSPE, {RS, RA, BBA}},
6100 -{"get", APU(4, 268,0), APU_RA_MASK, PPC405, {RT, FSL}},
6101 -{"eveqv", VX (4, 537), VX_MASK, PPCSPE, {RS, RA, RB}},
6102 -{"evorc", VX (4, 539), VX_MASK, PPCSPE, {RS, RA, RB}},
6103 -{"evnand", VX (4, 542), VX_MASK, PPCSPE, {RS, RA, RB}},
6104 -{"evsrwu", VX (4, 544), VX_MASK, PPCSPE, {RS, RA, RB}},
6105 -{"evsrws", VX (4, 545), VX_MASK, PPCSPE, {RS, RA, RB}},
6106 -{"evsrwiu", VX (4, 546), VX_MASK, PPCSPE, {RS, RA, EVUIMM}},
6107 -{"evsrwis", VX (4, 547), VX_MASK, PPCSPE, {RS, RA, EVUIMM}},
6108 -{"evslw", VX (4, 548), VX_MASK, PPCSPE, {RS, RA, RB}},
6109 -{"evslwi", VX (4, 550), VX_MASK, PPCSPE, {RS, RA, EVUIMM}},
6110 -{"evrlw", VX (4, 552), VX_MASK, PPCSPE, {RS, RA, RB}},
6111 -{"evsplati", VX (4, 553), VX_MASK, PPCSPE, {RS, SIMM}},
6112 -{"evrlwi", VX (4, 554), VX_MASK, PPCSPE, {RS, RA, EVUIMM}},
6113 -{"evsplatfi", VX (4, 555), VX_MASK, PPCSPE, {RS, SIMM}},
6114 -{"evmergehi", VX (4, 556), VX_MASK, PPCSPE, {RS, RA, RB}},
6115 -{"evmergelo", VX (4, 557), VX_MASK, PPCSPE, {RS, RA, RB}},
6116 -{"evmergehilo", VX (4, 558), VX_MASK, PPCSPE, {RS, RA, RB}},
6117 -{"evmergelohi", VX (4, 559), VX_MASK, PPCSPE, {RS, RA, RB}},
6118 -{"evcmpgtu", VX (4, 560), VX_MASK, PPCSPE, {CRFD, RA, RB}},
6119 -{"evcmpgts", VX (4, 561), VX_MASK, PPCSPE, {CRFD, RA, RB}},
6120 -{"evcmpltu", VX (4, 562), VX_MASK, PPCSPE, {CRFD, RA, RB}},
6121 -{"evcmplts", VX (4, 563), VX_MASK, PPCSPE, {CRFD, RA, RB}},
6122 -{"evcmpeq", VX (4, 564), VX_MASK, PPCSPE, {CRFD, RA, RB}},
6123 -{"cget", APU(4, 284,0), APU_RA_MASK, PPC405, {RT, FSL}},
6124 -{"vadduhs", VX (4, 576), VX_MASK, PPCVEC, {VD, VA, VB}},
6125 -{"vminuh", VX (4, 578), VX_MASK, PPCVEC, {VD, VA, VB}},
6126 -{"vsrh", VX (4, 580), VX_MASK, PPCVEC, {VD, VA, VB}},
6127 -{"vcmpgtuh", VXR(4, 582,0), VXR_MASK, PPCVEC, {VD, VA, VB}},
6128 -{"vmuleuh", VX (4, 584), VX_MASK, PPCVEC, {VD, VA, VB}},
6129 -{"vrfiz", VX (4, 586), VX_MASK, PPCVEC, {VD, VB}},
6130 -{"vsplth", VX (4, 588), VX_MASK, PPCVEC, {VD, VB, UIMM}},
6131 -{"vupkhsh", VX (4, 590), VX_MASK, PPCVEC, {VD, VB}},
6132 -{"nget", APU(4, 300,0), APU_RA_MASK, PPC405, {RT, FSL}},
6133 -{"evsel", EVSEL(4,79), EVSEL_MASK, PPCSPE, {RS, RA, RB, CRFS}},
6134 -{"ncget", APU(4, 316,0), APU_RA_MASK, PPC405, {RT, FSL}},
6135 -{"evfsadd", VX (4, 640), VX_MASK, PPCSPE, {RS, RA, RB}},
6136 -{"vadduws", VX (4, 640), VX_MASK, PPCVEC, {VD, VA, VB}},
6137 -{"evfssub", VX (4, 641), VX_MASK, PPCSPE, {RS, RA, RB}},
6138 -{"vminuw", VX (4, 642), VX_MASK, PPCVEC, {VD, VA, VB}},
6139 -{"evfsabs", VX (4, 644), VX_MASK, PPCSPE, {RS, RA}},
6140 -{"vsrw", VX (4, 644), VX_MASK, PPCVEC, {VD, VA, VB}},
6141 -{"evfsnabs", VX (4, 645), VX_MASK, PPCSPE, {RS, RA}},
6142 -{"evfsneg", VX (4, 646), VX_MASK, PPCSPE, {RS, RA}},
6143 -{"vcmpgtuw", VXR(4, 646,0), VXR_MASK, PPCVEC, {VD, VA, VB}},
6144 -{"evfsmul", VX (4, 648), VX_MASK, PPCSPE, {RS, RA, RB}},
6145 -{"evfsdiv", VX (4, 649), VX_MASK, PPCSPE, {RS, RA, RB}},
6146 -{"vrfip", VX (4, 650), VX_MASK, PPCVEC, {VD, VB}},
6147 -{"evfscmpgt", VX (4, 652), VX_MASK, PPCSPE, {CRFD, RA, RB}},
6148 -{"vspltw", VX (4, 652), VX_MASK, PPCVEC, {VD, VB, UIMM}},
6149 -{"evfscmplt", VX (4, 653), VX_MASK, PPCSPE, {CRFD, RA, RB}},
6150 -{"evfscmpeq", VX (4, 654), VX_MASK, PPCSPE, {CRFD, RA, RB}},
6151 -{"vupklsb", VX (4, 654), VX_MASK, PPCVEC, {VD, VB}},
6152 -{"evfscfui", VX (4, 656), VX_MASK, PPCSPE, {RS, RB}},
6153 -{"evfscfsi", VX (4, 657), VX_MASK, PPCSPE, {RS, RB}},
6154 -{"evfscfuf", VX (4, 658), VX_MASK, PPCSPE, {RS, RB}},
6155 -{"evfscfsf", VX (4, 659), VX_MASK, PPCSPE, {RS, RB}},
6156 -{"evfsctui", VX (4, 660), VX_MASK, PPCSPE, {RS, RB}},
6157 -{"evfsctsi", VX (4, 661), VX_MASK, PPCSPE, {RS, RB}},
6158 -{"evfsctuf", VX (4, 662), VX_MASK, PPCSPE, {RS, RB}},
6159 -{"evfsctsf", VX (4, 663), VX_MASK, PPCSPE, {RS, RB}},
6160 -{"evfsctuiz", VX (4, 664), VX_MASK, PPCSPE, {RS, RB}},
6161 -{"put", APU(4, 332,0), APU_RT_MASK, PPC405, {RA, FSL}},
6162 -{"evfsctsiz", VX (4, 666), VX_MASK, PPCSPE, {RS, RB}},
6163 -{"evfststgt", VX (4, 668), VX_MASK, PPCSPE, {CRFD, RA, RB}},
6164 -{"evfststlt", VX (4, 669), VX_MASK, PPCSPE, {CRFD, RA, RB}},
6165 -{"evfststeq", VX (4, 670), VX_MASK, PPCSPE, {CRFD, RA, RB}},
6166 -{"cput", APU(4, 348,0), APU_RT_MASK, PPC405, {RA, FSL}},
6167 -{"efsadd", VX (4, 704), VX_MASK, PPCEFS, {RS, RA, RB}},
6168 -{"efssub", VX (4, 705), VX_MASK, PPCEFS, {RS, RA, RB}},
6169 -{"efsabs", VX (4, 708), VX_MASK, PPCEFS, {RS, RA}},
6170 -{"vsr", VX (4, 708), VX_MASK, PPCVEC, {VD, VA, VB}},
6171 -{"efsnabs", VX (4, 709), VX_MASK, PPCEFS, {RS, RA}},
6172 -{"efsneg", VX (4, 710), VX_MASK, PPCEFS, {RS, RA}},
6173 -{"vcmpgtfp", VXR(4, 710,0), VXR_MASK, PPCVEC, {VD, VA, VB}},
6174 -{"efsmul", VX (4, 712), VX_MASK, PPCEFS, {RS, RA, RB}},
6175 -{"efsdiv", VX (4, 713), VX_MASK, PPCEFS, {RS, RA, RB}},
6176 -{"vrfim", VX (4, 714), VX_MASK, PPCVEC, {VD, VB}},
6177 -{"efscmpgt", VX (4, 716), VX_MASK, PPCEFS, {CRFD, RA, RB}},
6178 -{"efscmplt", VX (4, 717), VX_MASK, PPCEFS, {CRFD, RA, RB}},
6179 -{"efscmpeq", VX (4, 718), VX_MASK, PPCEFS, {CRFD, RA, RB}},
6180 -{"vupklsh", VX (4, 718), VX_MASK, PPCVEC, {VD, VB}},
6181 -{"efscfd", VX (4, 719), VX_MASK, PPCEFS, {RS, RB}},
6182 -{"efscfui", VX (4, 720), VX_MASK, PPCEFS, {RS, RB}},
6183 -{"efscfsi", VX (4, 721), VX_MASK, PPCEFS, {RS, RB}},
6184 -{"efscfuf", VX (4, 722), VX_MASK, PPCEFS, {RS, RB}},
6185 -{"efscfsf", VX (4, 723), VX_MASK, PPCEFS, {RS, RB}},
6186 -{"efsctui", VX (4, 724), VX_MASK, PPCEFS, {RS, RB}},
6187 -{"efsctsi", VX (4, 725), VX_MASK, PPCEFS, {RS, RB}},
6188 -{"efsctuf", VX (4, 726), VX_MASK, PPCEFS, {RS, RB}},
6189 -{"efsctsf", VX (4, 727), VX_MASK, PPCEFS, {RS, RB}},
6190 -{"efsctuiz", VX (4, 728), VX_MASK, PPCEFS, {RS, RB}},
6191 -{"nput", APU(4, 364,0), APU_RT_MASK, PPC405, {RA, FSL}},
6192 -{"efsctsiz", VX (4, 730), VX_MASK, PPCEFS, {RS, RB}},
6193 -{"efststgt", VX (4, 732), VX_MASK, PPCEFS, {CRFD, RA, RB}},
6194 -{"efststlt", VX (4, 733), VX_MASK, PPCEFS, {CRFD, RA, RB}},
6195 -{"efststeq", VX (4, 734), VX_MASK, PPCEFS, {CRFD, RA, RB}},
6196 -{"efdadd", VX (4, 736), VX_MASK, PPCEFS, {RS, RA, RB}},
6197 -{"efdsub", VX (4, 737), VX_MASK, PPCEFS, {RS, RA, RB}},
6198 -{"efdcfuid", VX (4, 738), VX_MASK, PPCEFS, {RS, RB}},
6199 -{"efdcfsid", VX (4, 739), VX_MASK, PPCEFS, {RS, RB}},
6200 -{"efdabs", VX (4, 740), VX_MASK, PPCEFS, {RS, RA}},
6201 -{"efdnabs", VX (4, 741), VX_MASK, PPCEFS, {RS, RA}},
6202 -{"efdneg", VX (4, 742), VX_MASK, PPCEFS, {RS, RA}},
6203 -{"efdmul", VX (4, 744), VX_MASK, PPCEFS, {RS, RA, RB}},
6204 -{"efddiv", VX (4, 745), VX_MASK, PPCEFS, {RS, RA, RB}},
6205 -{"efdctuidz", VX (4, 746), VX_MASK, PPCEFS, {RS, RB}},
6206 -{"efdctsidz", VX (4, 747), VX_MASK, PPCEFS, {RS, RB}},
6207 -{"efdcmpgt", VX (4, 748), VX_MASK, PPCEFS, {CRFD, RA, RB}},
6208 -{"efdcmplt", VX (4, 749), VX_MASK, PPCEFS, {CRFD, RA, RB}},
6209 -{"efdcmpeq", VX (4, 750), VX_MASK, PPCEFS, {CRFD, RA, RB}},
6210 -{"efdcfs", VX (4, 751), VX_MASK, PPCEFS, {RS, RB}},
6211 -{"efdcfui", VX (4, 752), VX_MASK, PPCEFS, {RS, RB}},
6212 -{"efdcfsi", VX (4, 753), VX_MASK, PPCEFS, {RS, RB}},
6213 -{"efdcfuf", VX (4, 754), VX_MASK, PPCEFS, {RS, RB}},
6214 -{"efdcfsf", VX (4, 755), VX_MASK, PPCEFS, {RS, RB}},
6215 -{"efdctui", VX (4, 756), VX_MASK, PPCEFS, {RS, RB}},
6216 -{"efdctsi", VX (4, 757), VX_MASK, PPCEFS, {RS, RB}},
6217 -{"efdctuf", VX (4, 758), VX_MASK, PPCEFS, {RS, RB}},
6218 -{"efdctsf", VX (4, 759), VX_MASK, PPCEFS, {RS, RB}},
6219 -{"efdctuiz", VX (4, 760), VX_MASK, PPCEFS, {RS, RB}},
6220 -{"ncput", APU(4, 380,0), APU_RT_MASK, PPC405, {RA, FSL}},
6221 -{"efdctsiz", VX (4, 762), VX_MASK, PPCEFS, {RS, RB}},
6222 -{"efdtstgt", VX (4, 764), VX_MASK, PPCEFS, {CRFD, RA, RB}},
6223 -{"efdtstlt", VX (4, 765), VX_MASK, PPCEFS, {CRFD, RA, RB}},
6224 -{"efdtsteq", VX (4, 766), VX_MASK, PPCEFS, {CRFD, RA, RB}},
6225 -{"evlddx", VX (4, 768), VX_MASK, PPCSPE, {RS, RA, RB}},
6226 -{"vaddsbs", VX (4, 768), VX_MASK, PPCVEC, {VD, VA, VB}},
6227 -{"evldd", VX (4, 769), VX_MASK, PPCSPE, {RS, EVUIMM_8, RA}},
6228 -{"evldwx", VX (4, 770), VX_MASK, PPCSPE, {RS, RA, RB}},
6229 -{"vminsb", VX (4, 770), VX_MASK, PPCVEC, {VD, VA, VB}},
6230 -{"evldw", VX (4, 771), VX_MASK, PPCSPE, {RS, EVUIMM_8, RA}},
6231 -{"evldhx", VX (4, 772), VX_MASK, PPCSPE, {RS, RA, RB}},
6232 -{"vsrab", VX (4, 772), VX_MASK, PPCVEC, {VD, VA, VB}},
6233 -{"evldh", VX (4, 773), VX_MASK, PPCSPE, {RS, EVUIMM_8, RA}},
6234 -{"vcmpgtsb", VXR(4, 774,0), VXR_MASK, PPCVEC, {VD, VA, VB}},
6235 -{"evlhhesplatx",VX (4, 776), VX_MASK, PPCSPE, {RS, RA, RB}},
6236 -{"vmulesb", VX (4, 776), VX_MASK, PPCVEC, {VD, VA, VB}},
6237 -{"evlhhesplat", VX (4, 777), VX_MASK, PPCSPE, {RS, EVUIMM_2, RA}},
6238 -{"vcfux", VX (4, 778), VX_MASK, PPCVEC, {VD, VB, UIMM}},
6239 -{"evlhhousplatx",VX(4, 780), VX_MASK, PPCSPE, {RS, RA, RB}},
6240 -{"vspltisb", VX (4, 780), VX_MASK, PPCVEC, {VD, SIMM}},
6241 -{"evlhhousplat",VX (4, 781), VX_MASK, PPCSPE, {RS, EVUIMM_2, RA}},
6242 -{"evlhhossplatx",VX(4, 782), VX_MASK, PPCSPE, {RS, RA, RB}},
6243 -{"vpkpx", VX (4, 782), VX_MASK, PPCVEC, {VD, VA, VB}},
6244 -{"evlhhossplat",VX (4, 783), VX_MASK, PPCSPE, {RS, EVUIMM_2, RA}},
6245 -{"mullhwu", XRC(4, 392,0), X_MASK, PPC405|PPC440, {RT, RA, RB}},
6246 -{"evlwhex", VX (4, 784), VX_MASK, PPCSPE, {RS, RA, RB}},
6247 -{"mullhwu.", XRC(4, 392,1), X_MASK, PPC405|PPC440, {RT, RA, RB}},
6248 -{"evlwhe", VX (4, 785), VX_MASK, PPCSPE, {RS, EVUIMM_4, RA}},
6249 -{"evlwhoux", VX (4, 788), VX_MASK, PPCSPE, {RS, RA, RB}},
6250 -{"evlwhou", VX (4, 789), VX_MASK, PPCSPE, {RS, EVUIMM_4, RA}},
6251 -{"evlwhosx", VX (4, 790), VX_MASK, PPCSPE, {RS, RA, RB}},
6252 -{"evlwhos", VX (4, 791), VX_MASK, PPCSPE, {RS, EVUIMM_4, RA}},
6253 -{"maclhwu", XO (4, 396,0,0),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6254 -{"evlwwsplatx", VX (4, 792), VX_MASK, PPCSPE, {RS, RA, RB}},
6255 -{"maclhwu.", XO (4, 396,0,1),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6256 -{"evlwwsplat", VX (4, 793), VX_MASK, PPCSPE, {RS, EVUIMM_4, RA}},
6257 -{"evlwhsplatx", VX (4, 796), VX_MASK, PPCSPE, {RS, RA, RB}},
6258 -{"evlwhsplat", VX (4, 797), VX_MASK, PPCSPE, {RS, EVUIMM_4, RA}},
6259 -{"evstddx", VX (4, 800), VX_MASK, PPCSPE, {RS, RA, RB}},
6260 -{"evstdd", VX (4, 801), VX_MASK, PPCSPE, {RS, EVUIMM_8, RA}},
6261 -{"evstdwx", VX (4, 802), VX_MASK, PPCSPE, {RS, RA, RB}},
6262 -{"evstdw", VX (4, 803), VX_MASK, PPCSPE, {RS, EVUIMM_8, RA}},
6263 -{"evstdhx", VX (4, 804), VX_MASK, PPCSPE, {RS, RA, RB}},
6264 -{"evstdh", VX (4, 805), VX_MASK, PPCSPE, {RS, EVUIMM_8, RA}},
6265 -{"evstwhex", VX (4, 816), VX_MASK, PPCSPE, {RS, RA, RB}},
6266 -{"evstwhe", VX (4, 817), VX_MASK, PPCSPE, {RS, EVUIMM_4, RA}},
6267 -{"evstwhox", VX (4, 820), VX_MASK, PPCSPE, {RS, RA, RB}},
6268 -{"evstwho", VX (4, 821), VX_MASK, PPCSPE, {RS, EVUIMM_4, RA}},
6269 -{"evstwwex", VX (4, 824), VX_MASK, PPCSPE, {RS, RA, RB}},
6270 -{"evstwwe", VX (4, 825), VX_MASK, PPCSPE, {RS, EVUIMM_4, RA}},
6271 -{"evstwwox", VX (4, 828), VX_MASK, PPCSPE, {RS, RA, RB}},
6272 -{"evstwwo", VX (4, 829), VX_MASK, PPCSPE, {RS, EVUIMM_4, RA}},
6273 -{"vaddshs", VX (4, 832), VX_MASK, PPCVEC, {VD, VA, VB}},
6274 -{"vminsh", VX (4, 834), VX_MASK, PPCVEC, {VD, VA, VB}},
6275 -{"vsrah", VX (4, 836), VX_MASK, PPCVEC, {VD, VA, VB}},
6276 -{"vcmpgtsh", VXR(4, 838,0), VXR_MASK, PPCVEC, {VD, VA, VB}},
6277 -{"vmulesh", VX (4, 840), VX_MASK, PPCVEC, {VD, VA, VB}},
6278 -{"vcfsx", VX (4, 842), VX_MASK, PPCVEC, {VD, VB, UIMM}},
6279 -{"vspltish", VX (4, 844), VX_MASK, PPCVEC, {VD, SIMM}},
6280 -{"vupkhpx", VX (4, 846), VX_MASK, PPCVEC, {VD, VB}},
6281 -{"mullhw", XRC(4, 424,0), X_MASK, PPC405|PPC440, {RT, RA, RB}},
6282 -{"mullhw.", XRC(4, 424,1), X_MASK, PPC405|PPC440, {RT, RA, RB}},
6283 -{"maclhw", XO (4, 428,0,0),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6284 -{"maclhw.", XO (4, 428,0,1),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6285 -{"nmaclhw", XO (4, 430,0,0),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6286 -{"nmaclhw.", XO (4, 430,0,1),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6287 -{"vaddsws", VX (4, 896), VX_MASK, PPCVEC, {VD, VA, VB}},
6288 -{"vminsw", VX (4, 898), VX_MASK, PPCVEC, {VD, VA, VB}},
6289 -{"vsraw", VX (4, 900), VX_MASK, PPCVEC, {VD, VA, VB}},
6290 -{"vcmpgtsw", VXR(4, 902,0), VXR_MASK, PPCVEC, {VD, VA, VB}},
6291 -{"vctuxs", VX (4, 906), VX_MASK, PPCVEC, {VD, VB, UIMM}},
6292 -{"vspltisw", VX (4, 908), VX_MASK, PPCVEC, {VD, SIMM}},
6293 -{"maclhwsu", XO (4, 460,0,0),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6294 -{"maclhwsu.", XO (4, 460,0,1),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6295 -{"vcmpbfp", VXR(4, 966,0), VXR_MASK, PPCVEC, {VD, VA, VB}},
6296 -{"vctsxs", VX (4, 970), VX_MASK, PPCVEC, {VD, VB, UIMM}},
6297 -{"vupklpx", VX (4, 974), VX_MASK, PPCVEC, {VD, VB}},
6298 -{"maclhws", XO (4, 492,0,0),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6299 -{"maclhws.", XO (4, 492,0,1),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6300 -{"nmaclhws", XO (4, 494,0,0),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6301 -{"nmaclhws.", XO (4, 494,0,1),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6302 -{"vsububm", VX (4,1024), VX_MASK, PPCVEC, {VD, VA, VB}},
6303 -{"vavgub", VX (4,1026), VX_MASK, PPCVEC, {VD, VA, VB}},
6304 -{"evmhessf", VX (4,1027), VX_MASK, PPCSPE, {RS, RA, RB}},
6305 -{"vand", VX (4,1028), VX_MASK, PPCVEC, {VD, VA, VB}},
6306 -{"vcmpequb.", VXR(4, 6,1), VXR_MASK, PPCVEC, {VD, VA, VB}},
6307 -{"udi0fcm.", APU(4, 515,0), APU_MASK, PPC405|PPC440, {URT, URA, URB}},
6308 -{"udi0fcm", APU(4, 515,1), APU_MASK, PPC405|PPC440, {URT, URA, URB}},
6309 -{"evmhossf", VX (4,1031), VX_MASK, PPCSPE, {RS, RA, RB}},
6310 -{"evmheumi", VX (4,1032), VX_MASK, PPCSPE, {RS, RA, RB}},
6311 -{"evmhesmi", VX (4,1033), VX_MASK, PPCSPE, {RS, RA, RB}},
6312 -{"vmaxfp", VX (4,1034), VX_MASK, PPCVEC, {VD, VA, VB}},
6313 -{"evmhesmf", VX (4,1035), VX_MASK, PPCSPE, {RS, RA, RB}},
6314 -{"evmhoumi", VX (4,1036), VX_MASK, PPCSPE, {RS, RA, RB}},
6315 -{"vslo", VX (4,1036), VX_MASK, PPCVEC, {VD, VA, VB}},
6316 -{"evmhosmi", VX (4,1037), VX_MASK, PPCSPE, {RS, RA, RB}},
6317 -{"evmhosmf", VX (4,1039), VX_MASK, PPCSPE, {RS, RA, RB}},
6318 -{"machhwuo", XO (4, 12,1,0),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6319 -{"machhwuo.", XO (4, 12,1,1),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6320 -{"ps_merge00", XOPS(4,528,0), XOPS_MASK, PPCPS, {FRT, FRA, FRB}},
6321 -{"ps_merge00.", XOPS(4,528,1), XOPS_MASK, PPCPS, {FRT, FRA, FRB}},
6322 -{"evmhessfa", VX (4,1059), VX_MASK, PPCSPE, {RS, RA, RB}},
6323 -{"evmhossfa", VX (4,1063), VX_MASK, PPCSPE, {RS, RA, RB}},
6324 -{"evmheumia", VX (4,1064), VX_MASK, PPCSPE, {RS, RA, RB}},
6325 -{"evmhesmia", VX (4,1065), VX_MASK, PPCSPE, {RS, RA, RB}},
6326 -{"evmhesmfa", VX (4,1067), VX_MASK, PPCSPE, {RS, RA, RB}},
6327 -{"evmhoumia", VX (4,1068), VX_MASK, PPCSPE, {RS, RA, RB}},
6328 -{"evmhosmia", VX (4,1069), VX_MASK, PPCSPE, {RS, RA, RB}},
6329 -{"evmhosmfa", VX (4,1071), VX_MASK, PPCSPE, {RS, RA, RB}},
6330 -{"vsubuhm", VX (4,1088), VX_MASK, PPCVEC, {VD, VA, VB}},
6331 -{"vavguh", VX (4,1090), VX_MASK, PPCVEC, {VD, VA, VB}},
6332 -{"vandc", VX (4,1092), VX_MASK, PPCVEC, {VD, VA, VB}},
6333 -{"vcmpequh.", VXR(4, 70,1), VXR_MASK, PPCVEC, {VD, VA, VB}},
6334 -{"udi1fcm.", APU(4, 547,0), APU_MASK, PPC405|PPC440, {URT, URA, URB}},
6335 -{"udi1fcm", APU(4, 547,1), APU_MASK, PPC405|PPC440, {URT, URA, URB}},
6336 -{"evmwhssf", VX (4,1095), VX_MASK, PPCSPE, {RS, RA, RB}},
6337 -{"evmwlumi", VX (4,1096), VX_MASK, PPCSPE, {RS, RA, RB}},
6338 -{"vminfp", VX (4,1098), VX_MASK, PPCVEC, {VD, VA, VB}},
6339 -{"evmwhumi", VX (4,1100), VX_MASK, PPCSPE, {RS, RA, RB}},
6340 -{"vsro", VX (4,1100), VX_MASK, PPCVEC, {VD, VA, VB}},
6341 -{"evmwhsmi", VX (4,1101), VX_MASK, PPCSPE, {RS, RA, RB}},
6342 -{"evmwhsmf", VX (4,1103), VX_MASK, PPCSPE, {RS, RA, RB}},
6343 -{"evmwssf", VX (4,1107), VX_MASK, PPCSPE, {RS, RA, RB}},
6344 -{"machhwo", XO (4, 44,1,0),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6345 -{"evmwumi", VX (4,1112), VX_MASK, PPCSPE, {RS, RA, RB}},
6346 -{"machhwo.", XO (4, 44,1,1),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6347 -{"evmwsmi", VX (4,1113), VX_MASK, PPCSPE, {RS, RA, RB}},
6348 -{"evmwsmf", VX (4,1115), VX_MASK, PPCSPE, {RS, RA, RB}},
6349 -{"nmachhwo", XO (4, 46,1,0),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6350 -{"nmachhwo.", XO (4, 46,1,1),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6351 -{"ps_merge01", XOPS(4,560,0), XOPS_MASK, PPCPS, {FRT, FRA, FRB}},
6352 -{"ps_merge01.", XOPS(4,560,1), XOPS_MASK, PPCPS, {FRT, FRA, FRB}},
6353 -{"evmwhssfa", VX (4,1127), VX_MASK, PPCSPE, {RS, RA, RB}},
6354 -{"evmwlumia", VX (4,1128), VX_MASK, PPCSPE, {RS, RA, RB}},
6355 -{"evmwhumia", VX (4,1132), VX_MASK, PPCSPE, {RS, RA, RB}},
6356 -{"evmwhsmia", VX (4,1133), VX_MASK, PPCSPE, {RS, RA, RB}},
6357 -{"evmwhsmfa", VX (4,1135), VX_MASK, PPCSPE, {RS, RA, RB}},
6358 -{"evmwssfa", VX (4,1139), VX_MASK, PPCSPE, {RS, RA, RB}},
6359 -{"evmwumia", VX (4,1144), VX_MASK, PPCSPE, {RS, RA, RB}},
6360 -{"evmwsmia", VX (4,1145), VX_MASK, PPCSPE, {RS, RA, RB}},
6361 -{"evmwsmfa", VX (4,1147), VX_MASK, PPCSPE, {RS, RA, RB}},
6362 -{"vsubuwm", VX (4,1152), VX_MASK, PPCVEC, {VD, VA, VB}},
6363 -{"vavguw", VX (4,1154), VX_MASK, PPCVEC, {VD, VA, VB}},
6364 -{"vor", VX (4,1156), VX_MASK, PPCVEC, {VD, VA, VB}},
6365 -{"vcmpequw.", VXR(4, 134,1), VXR_MASK, PPCVEC, {VD, VA, VB}},
6366 -{"udi2fcm.", APU(4, 579,0), APU_MASK, PPC405|PPC440, {URT, URA, URB}},
6367 -{"udi2fcm", APU(4, 579,1), APU_MASK, PPC405|PPC440, {URT, URA, URB}},
6368 -{"machhwsuo", XO (4, 76,1,0),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6369 -{"machhwsuo.", XO (4, 76,1,1),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6370 -{"ps_merge10", XOPS(4,592,0), XOPS_MASK, PPCPS, {FRT, FRA, FRB}},
6371 -{"ps_merge10.", XOPS(4,592,1), XOPS_MASK, PPCPS, {FRT, FRA, FRB}},
6372 -{"evaddusiaaw", VX (4,1216), VX_MASK, PPCSPE, {RS, RA}},
6373 -{"evaddssiaaw", VX (4,1217), VX_MASK, PPCSPE, {RS, RA}},
6374 -{"evsubfusiaaw",VX (4,1218), VX_MASK, PPCSPE, {RS, RA}},
6375 -{"evsubfssiaaw",VX (4,1219), VX_MASK, PPCSPE, {RS, RA}},
6376 -{"evmra", VX (4,1220), VX_MASK, PPCSPE, {RS, RA}},
6377 -{"vxor", VX (4,1220), VX_MASK, PPCVEC, {VD, VA, VB}},
6378 -{"evdivws", VX (4,1222), VX_MASK, PPCSPE, {RS, RA, RB}},
6379 -{"vcmpeqfp.", VXR(4, 198,1), VXR_MASK, PPCVEC, {VD, VA, VB}},
6380 -{"udi3fcm.", APU(4, 611,0), APU_MASK, PPC405|PPC440, {URT, URA, URB}},
6381 -{"udi3fcm", APU(4, 611,1), APU_MASK, PPC405|PPC440, {URT, URA, URB}},
6382 -{"evdivwu", VX (4,1223), VX_MASK, PPCSPE, {RS, RA, RB}},
6383 -{"evaddumiaaw", VX (4,1224), VX_MASK, PPCSPE, {RS, RA}},
6384 -{"evaddsmiaaw", VX (4,1225), VX_MASK, PPCSPE, {RS, RA}},
6385 -{"evsubfumiaaw",VX (4,1226), VX_MASK, PPCSPE, {RS, RA}},
6386 -{"evsubfsmiaaw",VX (4,1227), VX_MASK, PPCSPE, {RS, RA}},
6387 -{"machhwso", XO (4, 108,1,0),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6388 -{"machhwso.", XO (4, 108,1,1),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6389 -{"nmachhwso", XO (4, 110,1,0),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6390 -{"nmachhwso.", XO (4, 110,1,1),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6391 -{"ps_merge11", XOPS(4,624,0), XOPS_MASK, PPCPS, {FRT, FRA, FRB}},
6392 -{"ps_merge11.", XOPS(4,624,1), XOPS_MASK, PPCPS, {FRT, FRA, FRB}},
6393 -{"evmheusiaaw", VX (4,1280), VX_MASK, PPCSPE, {RS, RA, RB}},
6394 -{"evmhessiaaw", VX (4,1281), VX_MASK, PPCSPE, {RS, RA, RB}},
6395 -{"vavgsb", VX (4,1282), VX_MASK, PPCVEC, {VD, VA, VB}},
6396 -{"evmhessfaaw", VX (4,1283), VX_MASK, PPCSPE, {RS, RA, RB}},
6397 -{"evmhousiaaw", VX (4,1284), VX_MASK, PPCSPE, {RS, RA, RB}},
6398 -{"vnor", VX (4,1284), VX_MASK, PPCVEC, {VD, VA, VB}},
6399 -{"evmhossiaaw", VX (4,1285), VX_MASK, PPCSPE, {RS, RA, RB}},
6400 -{"udi4fcm.", APU(4, 643,0), APU_MASK, PPC405|PPC440, {URT, URA, URB}},
6401 -{"udi4fcm", APU(4, 643,1), APU_MASK, PPC405|PPC440, {URT, URA, URB}},
6402 -{"evmhossfaaw", VX (4,1287), VX_MASK, PPCSPE, {RS, RA, RB}},
6403 -{"evmheumiaaw", VX (4,1288), VX_MASK, PPCSPE, {RS, RA, RB}},
6404 -{"evmhesmiaaw", VX (4,1289), VX_MASK, PPCSPE, {RS, RA, RB}},
6405 -{"evmhesmfaaw", VX (4,1291), VX_MASK, PPCSPE, {RS, RA, RB}},
6406 -{"evmhoumiaaw", VX (4,1292), VX_MASK, PPCSPE, {RS, RA, RB}},
6407 -{"evmhosmiaaw", VX (4,1293), VX_MASK, PPCSPE, {RS, RA, RB}},
6408 -{"evmhosmfaaw", VX (4,1295), VX_MASK, PPCSPE, {RS, RA, RB}},
6409 -{"macchwuo", XO (4, 140,1,0),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6410 -{"macchwuo.", XO (4, 140,1,1),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6411 -{"evmhegumiaa", VX (4,1320), VX_MASK, PPCSPE, {RS, RA, RB}},
6412 -{"evmhegsmiaa", VX (4,1321), VX_MASK, PPCSPE, {RS, RA, RB}},
6413 -{"evmhegsmfaa", VX (4,1323), VX_MASK, PPCSPE, {RS, RA, RB}},
6414 -{"evmhogumiaa", VX (4,1324), VX_MASK, PPCSPE, {RS, RA, RB}},
6415 -{"evmhogsmiaa", VX (4,1325), VX_MASK, PPCSPE, {RS, RA, RB}},
6416 -{"evmhogsmfaa", VX (4,1327), VX_MASK, PPCSPE, {RS, RA, RB}},
6417 -{"evmwlusiaaw", VX (4,1344), VX_MASK, PPCSPE, {RS, RA, RB}},
6418 -{"evmwlssiaaw", VX (4,1345), VX_MASK, PPCSPE, {RS, RA, RB}},
6419 -{"vavgsh", VX (4,1346), VX_MASK, PPCVEC, {VD, VA, VB}},
6420 -{"udi5fcm.", APU(4, 675,0), APU_MASK, PPC405|PPC440, {URT, URA, URB}},
6421 -{"udi5fcm", APU(4, 675,1), APU_MASK, PPC405|PPC440, {URT, URA, URB}},
6422 -{"evmwlumiaaw", VX (4,1352), VX_MASK, PPCSPE, {RS, RA, RB}},
6423 -{"evmwlsmiaaw", VX (4,1353), VX_MASK, PPCSPE, {RS, RA, RB}},
6424 -{"evmwssfaa", VX (4,1363), VX_MASK, PPCSPE, {RS, RA, RB}},
6425 -{"macchwo", XO (4, 172,1,0),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6426 -{"evmwumiaa", VX (4,1368), VX_MASK, PPCSPE, {RS, RA, RB}},
6427 -{"macchwo.", XO (4, 172,1,1),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6428 -{"evmwsmiaa", VX (4,1369), VX_MASK, PPCSPE, {RS, RA, RB}},
6429 -{"evmwsmfaa", VX (4,1371), VX_MASK, PPCSPE, {RS, RA, RB}},
6430 -{"nmacchwo", XO (4, 174,1,0),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6431 -{"nmacchwo.", XO (4, 174,1,1),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6432 -{"evmheusianw", VX (4,1408), VX_MASK, PPCSPE, {RS, RA, RB}},
6433 -{"vsubcuw", VX (4,1408), VX_MASK, PPCVEC, {VD, VA, VB}},
6434 -{"evmhessianw", VX (4,1409), VX_MASK, PPCSPE, {RS, RA, RB}},
6435 -{"vavgsw", VX (4,1410), VX_MASK, PPCVEC, {VD, VA, VB}},
6436 -{"evmhessfanw", VX (4,1411), VX_MASK, PPCSPE, {RS, RA, RB}},
6437 -{"evmhousianw", VX (4,1412), VX_MASK, PPCSPE, {RS, RA, RB}},
6438 -{"evmhossianw", VX (4,1413), VX_MASK, PPCSPE, {RS, RA, RB}},
6439 -{"udi6fcm.", APU(4, 707,0), APU_MASK, PPC405|PPC440, {URT, URA, URB}},
6440 -{"udi6fcm", APU(4, 707,1), APU_MASK, PPC405|PPC440, {URT, URA, URB}},
6441 -{"evmhossfanw", VX (4,1415), VX_MASK, PPCSPE, {RS, RA, RB}},
6442 -{"evmheumianw", VX (4,1416), VX_MASK, PPCSPE, {RS, RA, RB}},
6443 -{"evmhesmianw", VX (4,1417), VX_MASK, PPCSPE, {RS, RA, RB}},
6444 -{"evmhesmfanw", VX (4,1419), VX_MASK, PPCSPE, {RS, RA, RB}},
6445 -{"evmhoumianw", VX (4,1420), VX_MASK, PPCSPE, {RS, RA, RB}},
6446 -{"evmhosmianw", VX (4,1421), VX_MASK, PPCSPE, {RS, RA, RB}},
6447 -{"evmhosmfanw", VX (4,1423), VX_MASK, PPCSPE, {RS, RA, RB}},
6448 -{"macchwsuo", XO (4, 204,1,0),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6449 -{"macchwsuo.", XO (4, 204,1,1),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6450 -{"evmhegumian", VX (4,1448), VX_MASK, PPCSPE, {RS, RA, RB}},
6451 -{"evmhegsmian", VX (4,1449), VX_MASK, PPCSPE, {RS, RA, RB}},
6452 -{"evmhegsmfan", VX (4,1451), VX_MASK, PPCSPE, {RS, RA, RB}},
6453 -{"evmhogumian", VX (4,1452), VX_MASK, PPCSPE, {RS, RA, RB}},
6454 -{"evmhogsmian", VX (4,1453), VX_MASK, PPCSPE, {RS, RA, RB}},
6455 -{"evmhogsmfan", VX (4,1455), VX_MASK, PPCSPE, {RS, RA, RB}},
6456 -{"evmwlusianw", VX (4,1472), VX_MASK, PPCSPE, {RS, RA, RB}},
6457 -{"evmwlssianw", VX (4,1473), VX_MASK, PPCSPE, {RS, RA, RB}},
6458 -{"vcmpgefp.", VXR(4, 454,1), VXR_MASK, PPCVEC, {VD, VA, VB}},
6459 -{"udi7fcm.", APU(4, 739,0), APU_MASK, PPC405|PPC440, {URT, URA, URB}},
6460 -{"udi7fcm", APU(4, 739,1), APU_MASK, PPC405|PPC440, {URT, URA, URB}},
6461 -{"evmwlumianw", VX (4,1480), VX_MASK, PPCSPE, {RS, RA, RB}},
6462 -{"evmwlsmianw", VX (4,1481), VX_MASK, PPCSPE, {RS, RA, RB}},
6463 -{"evmwssfan", VX (4,1491), VX_MASK, PPCSPE, {RS, RA, RB}},
6464 -{"macchwso", XO (4, 236,1,0),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6465 -{"evmwumian", VX (4,1496), VX_MASK, PPCSPE, {RS, RA, RB}},
6466 -{"macchwso.", XO (4, 236,1,1),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6467 -{"evmwsmian", VX (4,1497), VX_MASK, PPCSPE, {RS, RA, RB}},
6468 -{"evmwsmfan", VX (4,1499), VX_MASK, PPCSPE, {RS, RA, RB}},
6469 -{"nmacchwso", XO (4, 238,1,0),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6470 -{"nmacchwso.", XO (4, 238,1,1),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6471 -{"vsububs", VX (4,1536), VX_MASK, PPCVEC, {VD, VA, VB}},
6472 -{"mfvscr", VX (4,1540), VX_MASK, PPCVEC, {VD}},
6473 -{"vcmpgtub.", VXR(4, 518,1), VXR_MASK, PPCVEC, {VD, VA, VB}},
6474 -{"udi8fcm.", APU(4, 771,0), APU_MASK, PPC440, {URT, URA, URB}},
6475 -{"udi8fcm", APU(4, 771,1), APU_MASK, PPC440, {URT, URA, URB}},
6476 -{"vsum4ubs", VX (4,1544), VX_MASK, PPCVEC, {VD, VA, VB}},
6477 -{"vsubuhs", VX (4,1600), VX_MASK, PPCVEC, {VD, VA, VB}},
6478 -{"mtvscr", VX (4,1604), VX_MASK, PPCVEC, {VB}},
6479 -{"vcmpgtuh.", VXR(4, 582,1), VXR_MASK, PPCVEC, {VD, VA, VB}},
6480 -{"vsum4shs", VX (4,1608), VX_MASK, PPCVEC, {VD, VA, VB}},
6481 -{"udi9fcm.", APU(4, 804,0), APU_MASK, PPC440, {URT, URA, URB}},
6482 -{"udi9fcm", APU(4, 804,1), APU_MASK, PPC440, {URT, URA, URB}},
6483 -{"vsubuws", VX (4,1664), VX_MASK, PPCVEC, {VD, VA, VB}},
6484 -{"vcmpgtuw.", VXR(4, 646,1), VXR_MASK, PPCVEC, {VD, VA, VB}},
6485 -{"udi10fcm.", APU(4, 835,0), APU_MASK, PPC440, {URT, URA, URB}},
6486 -{"udi10fcm", APU(4, 835,1), APU_MASK, PPC440, {URT, URA, URB}},
6487 -{"vsum2sws", VX (4,1672), VX_MASK, PPCVEC, {VD, VA, VB}},
6488 -{"vcmpgtfp.", VXR(4, 710,1), VXR_MASK, PPCVEC, {VD, VA, VB}},
6489 -{"udi11fcm.", APU(4, 867,0), APU_MASK, PPC440, {URT, URA, URB}},
6490 -{"udi11fcm", APU(4, 867,1), APU_MASK, PPC440, {URT, URA, URB}},
6491 -{"vsubsbs", VX (4,1792), VX_MASK, PPCVEC, {VD, VA, VB}},
6492 -{"vcmpgtsb.", VXR(4, 774,1), VXR_MASK, PPCVEC, {VD, VA, VB}},
6493 -{"udi12fcm.", APU(4, 899,0), APU_MASK, PPC440, {URT, URA, URB}},
6494 -{"udi12fcm", APU(4, 899,1), APU_MASK, PPC440, {URT, URA, URB}},
6495 -{"vsum4sbs", VX (4,1800), VX_MASK, PPCVEC, {VD, VA, VB}},
6496 -{"maclhwuo", XO (4, 396,1,0),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6497 -{"maclhwuo.", XO (4, 396,1,1),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6498 -{"vsubshs", VX (4,1856), VX_MASK, PPCVEC, {VD, VA, VB}},
6499 -{"vcmpgtsh.", VXR(4, 838,1), VXR_MASK, PPCVEC, {VD, VA, VB}},
6500 -{"udi13fcm.", APU(4, 931,0), APU_MASK, PPC440, {URT, URA, URB}},
6501 -{"udi13fcm", APU(4, 931,1), APU_MASK, PPC440, {URT, URA, URB}},
6502 -{"maclhwo", XO (4, 428,1,0),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6503 -{"maclhwo.", XO (4, 428,1,1),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6504 -{"nmaclhwo", XO (4, 430,1,0),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6505 -{"nmaclhwo.", XO (4, 430,1,1),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6506 -{"vsubsws", VX (4,1920), VX_MASK, PPCVEC, {VD, VA, VB}},
6507 -{"vcmpgtsw.", VXR(4, 902,1), VXR_MASK, PPCVEC, {VD, VA, VB}},
6508 -{"udi14fcm.", APU(4, 963,0), APU_MASK, PPC440, {URT, URA, URB}},
6509 -{"udi14fcm", APU(4, 963,1), APU_MASK, PPC440, {URT, URA, URB}},
6510 -{"vsumsws", VX (4,1928), VX_MASK, PPCVEC, {VD, VA, VB}},
6511 -{"maclhwsuo", XO (4, 460,1,0),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6512 -{"maclhwsuo.", XO (4, 460,1,1),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6513 -{"vcmpbfp.", VXR(4, 966,1), VXR_MASK, PPCVEC, {VD, VA, VB}},
6514 -{"udi15fcm.", APU(4, 995,0), APU_MASK, PPC440, {URT, URA, URB}},
6515 -{"udi15fcm", APU(4, 995,1), APU_MASK, PPC440, {URT, URA, URB}},
6516 -{"maclhwso", XO (4, 492,1,0),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6517 -{"maclhwso.", XO (4, 492,1,1),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6518 -{"nmaclhwso", XO (4, 494,1,0),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6519 -{"nmaclhwso.", XO (4, 494,1,1),XO_MASK, PPC405|PPC440, {RT, RA, RB}},
6520 -{"dcbz_l", X (4,1014), XRT_MASK, PPCPS, {RA, RB}},
6521 -
6522 -{"mulli", OP(7), OP_MASK, PPCCOM, {RT, RA, SI}},
6523 -{"muli", OP(7), OP_MASK, PWRCOM, {RT, RA, SI}},
6524 -
6525 -{"subfic", OP(8), OP_MASK, PPCCOM, {RT, RA, SI}},
6526 -{"sfi", OP(8), OP_MASK, PWRCOM, {RT, RA, SI}},
6527 -
6528 -{"dozi", OP(9), OP_MASK, M601, {RT, RA, SI}},
6529 -
6530 -{"bce", B(9,0,0), B_MASK, BOOKE64, {BO, BI, BD}},
6531 -{"bcel", B(9,0,1), B_MASK, BOOKE64, {BO, BI, BD}},
6532 -{"bcea", B(9,1,0), B_MASK, BOOKE64, {BO, BI, BDA}},
6533 -{"bcela", B(9,1,1), B_MASK, BOOKE64, {BO, BI, BDA}},
6534 -
6535 -{"cmplwi", OPL(10,0), OPL_MASK, PPCCOM, {OBF, RA, UI}},
6536 -{"cmpldi", OPL(10,1), OPL_MASK, PPC64, {OBF, RA, UI}},
6537 -{"cmpli", OP(10), OP_MASK, PPC, {BF, L, RA, UI}},
6538 -{"cmpli", OP(10), OP_MASK, PWRCOM, {BF, RA, UI}},
6539 -
6540 -{"cmpwi", OPL(11,0), OPL_MASK, PPCCOM, {OBF, RA, SI}},
6541 -{"cmpdi", OPL(11,1), OPL_MASK, PPC64, {OBF, RA, SI}},
6542 -{"cmpi", OP(11), OP_MASK, PPC, {BF, L, RA, SI}},
6543 -{"cmpi", OP(11), OP_MASK, PWRCOM, {BF, RA, SI}},
6544 -
6545 -{"addic", OP(12), OP_MASK, PPCCOM, {RT, RA, SI}},
6546 -{"ai", OP(12), OP_MASK, PWRCOM, {RT, RA, SI}},
6547 -{"subic", OP(12), OP_MASK, PPCCOM, {RT, RA, NSI}},
6548 -
6549 -{"addic.", OP(13), OP_MASK, PPCCOM, {RT, RA, SI}},
6550 -{"ai.", OP(13), OP_MASK, PWRCOM, {RT, RA, SI}},
6551 -{"subic.", OP(13), OP_MASK, PPCCOM, {RT, RA, NSI}},
6552 -
6553 -{"li", OP(14), DRA_MASK, PPCCOM, {RT, SI}},
6554 -{"lil", OP(14), DRA_MASK, PWRCOM, {RT, SI}},
6555 -{"addi", OP(14), OP_MASK, PPCCOM, {RT, RA0, SI}},
6556 -{"cal", OP(14), OP_MASK, PWRCOM, {RT, D, RA0}},
6557 -{"subi", OP(14), OP_MASK, PPCCOM, {RT, RA0, NSI}},
6558 -{"la", OP(14), OP_MASK, PPCCOM, {RT, D, RA0}},
6559 -
6560 -{"lis", OP(15), DRA_MASK, PPCCOM, {RT, SISIGNOPT}},
6561 -{"liu", OP(15), DRA_MASK, PWRCOM, {RT, SISIGNOPT}},
6562 -{"addis", OP(15), OP_MASK, PPCCOM, {RT, RA0, SISIGNOPT}},
6563 -{"cau", OP(15), OP_MASK, PWRCOM, {RT, RA0, SISIGNOPT}},
6564 -{"subis", OP(15), OP_MASK, PPCCOM, {RT, RA0, NSI}},
6565 -
6566 -{"bdnz-", BBO(16,BODNZ,0,0), BBOATBI_MASK, PPCCOM, {BDM}},
6567 -{"bdnz+", BBO(16,BODNZ,0,0), BBOATBI_MASK, PPCCOM, {BDP}},
6568 -{"bdnz", BBO(16,BODNZ,0,0), BBOATBI_MASK, PPCCOM, {BD}},
6569 -{"bdn", BBO(16,BODNZ,0,0), BBOATBI_MASK, PWRCOM, {BD}},
6570 -{"bdnzl-", BBO(16,BODNZ,0,1), BBOATBI_MASK, PPCCOM, {BDM}},
6571 -{"bdnzl+", BBO(16,BODNZ,0,1), BBOATBI_MASK, PPCCOM, {BDP}},
6572 -{"bdnzl", BBO(16,BODNZ,0,1), BBOATBI_MASK, PPCCOM, {BD}},
6573 -{"bdnl", BBO(16,BODNZ,0,1), BBOATBI_MASK, PWRCOM, {BD}},
6574 -{"bdnza-", BBO(16,BODNZ,1,0), BBOATBI_MASK, PPCCOM, {BDMA}},
6575 -{"bdnza+", BBO(16,BODNZ,1,0), BBOATBI_MASK, PPCCOM, {BDPA}},
6576 -{"bdnza", BBO(16,BODNZ,1,0), BBOATBI_MASK, PPCCOM, {BDA}},
6577 -{"bdna", BBO(16,BODNZ,1,0), BBOATBI_MASK, PWRCOM, {BDA}},
6578 -{"bdnzla-", BBO(16,BODNZ,1,1), BBOATBI_MASK, PPCCOM, {BDMA}},
6579 -{"bdnzla+", BBO(16,BODNZ,1,1), BBOATBI_MASK, PPCCOM, {BDPA}},
6580 -{"bdnzla", BBO(16,BODNZ,1,1), BBOATBI_MASK, PPCCOM, {BDA}},
6581 -{"bdnla", BBO(16,BODNZ,1,1), BBOATBI_MASK, PWRCOM, {BDA}},
6582 -{"bdz-", BBO(16,BODZ,0,0), BBOATBI_MASK, PPCCOM, {BDM}},
6583 -{"bdz+", BBO(16,BODZ,0,0), BBOATBI_MASK, PPCCOM, {BDP}},
6584 -{"bdz", BBO(16,BODZ,0,0), BBOATBI_MASK, COM, {BD}},
6585 -{"bdzl-", BBO(16,BODZ,0,1), BBOATBI_MASK, PPCCOM, {BDM}},
6586 -{"bdzl+", BBO(16,BODZ,0,1), BBOATBI_MASK, PPCCOM, {BDP}},
6587 -{"bdzl", BBO(16,BODZ,0,1), BBOATBI_MASK, COM, {BD}},
6588 -{"bdza-", BBO(16,BODZ,1,0), BBOATBI_MASK, PPCCOM, {BDMA}},
6589 -{"bdza+", BBO(16,BODZ,1,0), BBOATBI_MASK, PPCCOM, {BDPA}},
6590 -{"bdza", BBO(16,BODZ,1,0), BBOATBI_MASK, COM, {BDA}},
6591 -{"bdzla-", BBO(16,BODZ,1,1), BBOATBI_MASK, PPCCOM, {BDMA}},
6592 -{"bdzla+", BBO(16,BODZ,1,1), BBOATBI_MASK, PPCCOM, {BDPA}},
6593 -{"bdzla", BBO(16,BODZ,1,1), BBOATBI_MASK, COM, {BDA}},
6594 -
6595 -{"bge-", BBOCB(16,BOF,CBLT,0,0), BBOATCB_MASK, PPCCOM, {CR, BDM}},
6596 -{"bge+", BBOCB(16,BOF,CBLT,0,0), BBOATCB_MASK, PPCCOM, {CR, BDP}},
6597 -{"bge", BBOCB(16,BOF,CBLT,0,0), BBOATCB_MASK, COM, {CR, BD}},
6598 -{"bnl-", BBOCB(16,BOF,CBLT,0,0), BBOATCB_MASK, PPCCOM, {CR, BDM}},
6599 -{"bnl+", BBOCB(16,BOF,CBLT,0,0), BBOATCB_MASK, PPCCOM, {CR, BDP}},
6600 -{"bnl", BBOCB(16,BOF,CBLT,0,0), BBOATCB_MASK, COM, {CR, BD}},
6601 -{"bgel-", BBOCB(16,BOF,CBLT,0,1), BBOATCB_MASK, PPCCOM, {CR, BDM}},
6602 -{"bgel+", BBOCB(16,BOF,CBLT,0,1), BBOATCB_MASK, PPCCOM, {CR, BDP}},
6603 -{"bgel", BBOCB(16,BOF,CBLT,0,1), BBOATCB_MASK, COM, {CR, BD}},
6604 -{"bnll-", BBOCB(16,BOF,CBLT,0,1), BBOATCB_MASK, PPCCOM, {CR, BDM}},
6605 -{"bnll+", BBOCB(16,BOF,CBLT,0,1), BBOATCB_MASK, PPCCOM, {CR, BDP}},
6606 -{"bnll", BBOCB(16,BOF,CBLT,0,1), BBOATCB_MASK, COM, {CR, BD}},
6607 -{"bgea-", BBOCB(16,BOF,CBLT,1,0), BBOATCB_MASK, PPCCOM, {CR, BDMA}},
6608 -{"bgea+", BBOCB(16,BOF,CBLT,1,0), BBOATCB_MASK, PPCCOM, {CR, BDPA}},
6609 -{"bgea", BBOCB(16,BOF,CBLT,1,0), BBOATCB_MASK, COM, {CR, BDA}},
6610 -{"bnla-", BBOCB(16,BOF,CBLT,1,0), BBOATCB_MASK, PPCCOM, {CR, BDMA}},
6611 -{"bnla+", BBOCB(16,BOF,CBLT,1,0), BBOATCB_MASK, PPCCOM, {CR, BDPA}},
6612 -{"bnla", BBOCB(16,BOF,CBLT,1,0), BBOATCB_MASK, COM, {CR, BDA}},
6613 -{"bgela-", BBOCB(16,BOF,CBLT,1,1), BBOATCB_MASK, PPCCOM, {CR, BDMA}},
6614 -{"bgela+", BBOCB(16,BOF,CBLT,1,1), BBOATCB_MASK, PPCCOM, {CR, BDPA}},
6615 -{"bgela", BBOCB(16,BOF,CBLT,1,1), BBOATCB_MASK, COM, {CR, BDA}},
6616 -{"bnlla-", BBOCB(16,BOF,CBLT,1,1), BBOATCB_MASK, PPCCOM, {CR, BDMA}},
6617 -{"bnlla+", BBOCB(16,BOF,CBLT,1,1), BBOATCB_MASK, PPCCOM, {CR, BDPA}},
6618 -{"bnlla", BBOCB(16,BOF,CBLT,1,1), BBOATCB_MASK, COM, {CR, BDA}},
6619 -{"ble-", BBOCB(16,BOF,CBGT,0,0), BBOATCB_MASK, PPCCOM, {CR, BDM}},
6620 -{"ble+", BBOCB(16,BOF,CBGT,0,0), BBOATCB_MASK, PPCCOM, {CR, BDP}},
6621 -{"ble", BBOCB(16,BOF,CBGT,0,0), BBOATCB_MASK, COM, {CR, BD}},
6622 -{"bng-", BBOCB(16,BOF,CBGT,0,0), BBOATCB_MASK, PPCCOM, {CR, BDM}},
6623 -{"bng+", BBOCB(16,BOF,CBGT,0,0), BBOATCB_MASK, PPCCOM, {CR, BDP}},
6624 -{"bng", BBOCB(16,BOF,CBGT,0,0), BBOATCB_MASK, COM, {CR, BD}},
6625 -{"blel-", BBOCB(16,BOF,CBGT,0,1), BBOATCB_MASK, PPCCOM, {CR, BDM}},
6626 -{"blel+", BBOCB(16,BOF,CBGT,0,1), BBOATCB_MASK, PPCCOM, {CR, BDP}},
6627 -{"blel", BBOCB(16,BOF,CBGT,0,1), BBOATCB_MASK, COM, {CR, BD}},
6628 -{"bngl-", BBOCB(16,BOF,CBGT,0,1), BBOATCB_MASK, PPCCOM, {CR, BDM}},
6629 -{"bngl+", BBOCB(16,BOF,CBGT,0,1), BBOATCB_MASK, PPCCOM, {CR, BDP}},
6630 -{"bngl", BBOCB(16,BOF,CBGT,0,1), BBOATCB_MASK, COM, {CR, BD}},
6631 -{"blea-", BBOCB(16,BOF,CBGT,1,0), BBOATCB_MASK, PPCCOM, {CR, BDMA}},
6632 -{"blea+", BBOCB(16,BOF,CBGT,1,0), BBOATCB_MASK, PPCCOM, {CR, BDPA}},
6633 -{"blea", BBOCB(16,BOF,CBGT,1,0), BBOATCB_MASK, COM, {CR, BDA}},
6634 -{"bnga-", BBOCB(16,BOF,CBGT,1,0), BBOATCB_MASK, PPCCOM, {CR, BDMA}},
6635 -{"bnga+", BBOCB(16,BOF,CBGT,1,0), BBOATCB_MASK, PPCCOM, {CR, BDPA}},
6636 -{"bnga", BBOCB(16,BOF,CBGT,1,0), BBOATCB_MASK, COM, {CR, BDA}},
6637 -{"blela-", BBOCB(16,BOF,CBGT,1,1), BBOATCB_MASK, PPCCOM, {CR, BDMA}},
6638 -{"blela+", BBOCB(16,BOF,CBGT,1,1), BBOATCB_MASK, PPCCOM, {CR, BDPA}},
6639 -{"blela", BBOCB(16,BOF,CBGT,1,1), BBOATCB_MASK, COM, {CR, BDA}},
6640 -{"bngla-", BBOCB(16,BOF,CBGT,1,1), BBOATCB_MASK, PPCCOM, {CR, BDMA}},
6641 -{"bngla+", BBOCB(16,BOF,CBGT,1,1), BBOATCB_MASK, PPCCOM, {CR, BDPA}},
6642 -{"bngla", BBOCB(16,BOF,CBGT,1,1), BBOATCB_MASK, COM, {CR, BDA}},
6643 -{"bne-", BBOCB(16,BOF,CBEQ,0,0), BBOATCB_MASK, PPCCOM, {CR, BDM}},
6644 -{"bne+", BBOCB(16,BOF,CBEQ,0,0), BBOATCB_MASK, PPCCOM, {CR, BDP}},
6645 -{"bne", BBOCB(16,BOF,CBEQ,0,0), BBOATCB_MASK, COM, {CR, BD}},
6646 -{"bnel-", BBOCB(16,BOF,CBEQ,0,1), BBOATCB_MASK, PPCCOM, {CR, BDM}},
6647 -{"bnel+", BBOCB(16,BOF,CBEQ,0,1), BBOATCB_MASK, PPCCOM, {CR, BDP}},
6648 -{"bnel", BBOCB(16,BOF,CBEQ,0,1), BBOATCB_MASK, COM, {CR, BD}},
6649 -{"bnea-", BBOCB(16,BOF,CBEQ,1,0), BBOATCB_MASK, PPCCOM, {CR, BDMA}},
6650 -{"bnea+", BBOCB(16,BOF,CBEQ,1,0), BBOATCB_MASK, PPCCOM, {CR, BDPA}},
6651 -{"bnea", BBOCB(16,BOF,CBEQ,1,0), BBOATCB_MASK, COM, {CR, BDA}},
6652 -{"bnela-", BBOCB(16,BOF,CBEQ,1,1), BBOATCB_MASK, PPCCOM, {CR, BDMA}},
6653 -{"bnela+", BBOCB(16,BOF,CBEQ,1,1), BBOATCB_MASK, PPCCOM, {CR, BDPA}},
6654 -{"bnela", BBOCB(16,BOF,CBEQ,1,1), BBOATCB_MASK, COM, {CR, BDA}},
6655 -{"bns-", BBOCB(16,BOF,CBSO,0,0), BBOATCB_MASK, PPCCOM, {CR, BDM}},
6656 -{"bns+", BBOCB(16,BOF,CBSO,0,0), BBOATCB_MASK, PPCCOM, {CR, BDP}},
6657 -{"bns", BBOCB(16,BOF,CBSO,0,0), BBOATCB_MASK, COM, {CR, BD}},
6658 -{"bnu-", BBOCB(16,BOF,CBSO,0,0), BBOATCB_MASK, PPCCOM, {CR, BDM}},
6659 -{"bnu+", BBOCB(16,BOF,CBSO,0,0), BBOATCB_MASK, PPCCOM, {CR, BDP}},
6660 -{"bnu", BBOCB(16,BOF,CBSO,0,0), BBOATCB_MASK, PPCCOM, {CR, BD}},
6661 -{"bnsl-", BBOCB(16,BOF,CBSO,0,1), BBOATCB_MASK, PPCCOM, {CR, BDM}},
6662 -{"bnsl+", BBOCB(16,BOF,CBSO,0,1), BBOATCB_MASK, PPCCOM, {CR, BDP}},
6663 -{"bnsl", BBOCB(16,BOF,CBSO,0,1), BBOATCB_MASK, COM, {CR, BD}},
6664 -{"bnul-", BBOCB(16,BOF,CBSO,0,1), BBOATCB_MASK, PPCCOM, {CR, BDM}},
6665 -{"bnul+", BBOCB(16,BOF,CBSO,0,1), BBOATCB_MASK, PPCCOM, {CR, BDP}},
6666 -{"bnul", BBOCB(16,BOF,CBSO,0,1), BBOATCB_MASK, PPCCOM, {CR, BD}},
6667 -{"bnsa-", BBOCB(16,BOF,CBSO,1,0), BBOATCB_MASK, PPCCOM, {CR, BDMA}},
6668 -{"bnsa+", BBOCB(16,BOF,CBSO,1,0), BBOATCB_MASK, PPCCOM, {CR, BDPA}},
6669 -{"bnsa", BBOCB(16,BOF,CBSO,1,0), BBOATCB_MASK, COM, {CR, BDA}},
6670 -{"bnua-", BBOCB(16,BOF,CBSO,1,0), BBOATCB_MASK, PPCCOM, {CR, BDMA}},
6671 -{"bnua+", BBOCB(16,BOF,CBSO,1,0), BBOATCB_MASK, PPCCOM, {CR, BDPA}},
6672 -{"bnua", BBOCB(16,BOF,CBSO,1,0), BBOATCB_MASK, PPCCOM, {CR, BDA}},
6673 -{"bnsla-", BBOCB(16,BOF,CBSO,1,1), BBOATCB_MASK, PPCCOM, {CR, BDMA}},
6674 -{"bnsla+", BBOCB(16,BOF,CBSO,1,1), BBOATCB_MASK, PPCCOM, {CR, BDPA}},
6675 -{"bnsla", BBOCB(16,BOF,CBSO,1,1), BBOATCB_MASK, COM, {CR, BDA}},
6676 -{"bnula-", BBOCB(16,BOF,CBSO,1,1), BBOATCB_MASK, PPCCOM, {CR, BDMA}},
6677 -{"bnula+", BBOCB(16,BOF,CBSO,1,1), BBOATCB_MASK, PPCCOM, {CR, BDPA}},
6678 -{"bnula", BBOCB(16,BOF,CBSO,1,1), BBOATCB_MASK, PPCCOM, {CR, BDA}},
6679 -
6680 -{"blt-", BBOCB(16,BOT,CBLT,0,0), BBOATCB_MASK, PPCCOM, {CR, BDM}},
6681 -{"blt+", BBOCB(16,BOT,CBLT,0,0), BBOATCB_MASK, PPCCOM, {CR, BDP}},
6682 -{"blt", BBOCB(16,BOT,CBLT,0,0), BBOATCB_MASK, COM, {CR, BD}},
6683 -{"bltl-", BBOCB(16,BOT,CBLT,0,1), BBOATCB_MASK, PPCCOM, {CR, BDM}},
6684 -{"bltl+", BBOCB(16,BOT,CBLT,0,1), BBOATCB_MASK, PPCCOM, {CR, BDP}},
6685 -{"bltl", BBOCB(16,BOT,CBLT,0,1), BBOATCB_MASK, COM, {CR, BD}},
6686 -{"blta-", BBOCB(16,BOT,CBLT,1,0), BBOATCB_MASK, PPCCOM, {CR, BDMA}},
6687 -{"blta+", BBOCB(16,BOT,CBLT,1,0), BBOATCB_MASK, PPCCOM, {CR, BDPA}},
6688 -{"blta", BBOCB(16,BOT,CBLT,1,0), BBOATCB_MASK, COM, {CR, BDA}},
6689 -{"bltla-", BBOCB(16,BOT,CBLT,1,1), BBOATCB_MASK, PPCCOM, {CR, BDMA}},
6690 -{"bltla+", BBOCB(16,BOT,CBLT,1,1), BBOATCB_MASK, PPCCOM, {CR, BDPA}},
6691 -{"bltla", BBOCB(16,BOT,CBLT,1,1), BBOATCB_MASK, COM, {CR, BDA}},
6692 -{"bgt-", BBOCB(16,BOT,CBGT,0,0), BBOATCB_MASK, PPCCOM, {CR, BDM}},
6693 -{"bgt+", BBOCB(16,BOT,CBGT,0,0), BBOATCB_MASK, PPCCOM, {CR, BDP}},
6694 -{"bgt", BBOCB(16,BOT,CBGT,0,0), BBOATCB_MASK, COM, {CR, BD}},
6695 -{"bgtl-", BBOCB(16,BOT,CBGT,0,1), BBOATCB_MASK, PPCCOM, {CR, BDM}},
6696 -{"bgtl+", BBOCB(16,BOT,CBGT,0,1), BBOATCB_MASK, PPCCOM, {CR, BDP}},
6697 -{"bgtl", BBOCB(16,BOT,CBGT,0,1), BBOATCB_MASK, COM, {CR, BD}},
6698 -{"bgta-", BBOCB(16,BOT,CBGT,1,0), BBOATCB_MASK, PPCCOM, {CR, BDMA}},
6699 -{"bgta+", BBOCB(16,BOT,CBGT,1,0), BBOATCB_MASK, PPCCOM, {CR, BDPA}},
6700 -{"bgta", BBOCB(16,BOT,CBGT,1,0), BBOATCB_MASK, COM, {CR, BDA}},
6701 -{"bgtla-", BBOCB(16,BOT,CBGT,1,1), BBOATCB_MASK, PPCCOM, {CR, BDMA}},
6702 -{"bgtla+", BBOCB(16,BOT,CBGT,1,1), BBOATCB_MASK, PPCCOM, {CR, BDPA}},
6703 -{"bgtla", BBOCB(16,BOT,CBGT,1,1), BBOATCB_MASK, COM, {CR, BDA}},
6704 -{"beq-", BBOCB(16,BOT,CBEQ,0,0), BBOATCB_MASK, PPCCOM, {CR, BDM}},
6705 -{"beq+", BBOCB(16,BOT,CBEQ,0,0), BBOATCB_MASK, PPCCOM, {CR, BDP}},
6706 -{"beq", BBOCB(16,BOT,CBEQ,0,0), BBOATCB_MASK, COM, {CR, BD}},
6707 -{"beql-", BBOCB(16,BOT,CBEQ,0,1), BBOATCB_MASK, PPCCOM, {CR, BDM}},
6708 -{"beql+", BBOCB(16,BOT,CBEQ,0,1), BBOATCB_MASK, PPCCOM, {CR, BDP}},
6709 -{"beql", BBOCB(16,BOT,CBEQ,0,1), BBOATCB_MASK, COM, {CR, BD}},
6710 -{"beqa-", BBOCB(16,BOT,CBEQ,1,0), BBOATCB_MASK, PPCCOM, {CR, BDMA}},
6711 -{"beqa+", BBOCB(16,BOT,CBEQ,1,0), BBOATCB_MASK, PPCCOM, {CR, BDPA}},
6712 -{"beqa", BBOCB(16,BOT,CBEQ,1,0), BBOATCB_MASK, COM, {CR, BDA}},
6713 -{"beqla-", BBOCB(16,BOT,CBEQ,1,1), BBOATCB_MASK, PPCCOM, {CR, BDMA}},
6714 -{"beqla+", BBOCB(16,BOT,CBEQ,1,1), BBOATCB_MASK, PPCCOM, {CR, BDPA}},
6715 -{"beqla", BBOCB(16,BOT,CBEQ,1,1), BBOATCB_MASK, COM, {CR, BDA}},
6716 -{"bso-", BBOCB(16,BOT,CBSO,0,0), BBOATCB_MASK, PPCCOM, {CR, BDM}},
6717 -{"bso+", BBOCB(16,BOT,CBSO,0,0), BBOATCB_MASK, PPCCOM, {CR, BDP}},
6718 -{"bso", BBOCB(16,BOT,CBSO,0,0), BBOATCB_MASK, COM, {CR, BD}},
6719 -{"bun-", BBOCB(16,BOT,CBSO,0,0), BBOATCB_MASK, PPCCOM, {CR, BDM}},
6720 -{"bun+", BBOCB(16,BOT,CBSO,0,0), BBOATCB_MASK, PPCCOM, {CR, BDP}},
6721 -{"bun", BBOCB(16,BOT,CBSO,0,0), BBOATCB_MASK, PPCCOM, {CR, BD}},
6722 -{"bsol-", BBOCB(16,BOT,CBSO,0,1), BBOATCB_MASK, PPCCOM, {CR, BDM}},
6723 -{"bsol+", BBOCB(16,BOT,CBSO,0,1), BBOATCB_MASK, PPCCOM, {CR, BDP}},
6724 -{"bsol", BBOCB(16,BOT,CBSO,0,1), BBOATCB_MASK, COM, {CR, BD}},
6725 -{"bunl-", BBOCB(16,BOT,CBSO,0,1), BBOATCB_MASK, PPCCOM, {CR, BDM}},
6726 -{"bunl+", BBOCB(16,BOT,CBSO,0,1), BBOATCB_MASK, PPCCOM, {CR, BDP}},
6727 -{"bunl", BBOCB(16,BOT,CBSO,0,1), BBOATCB_MASK, PPCCOM, {CR, BD}},
6728 -{"bsoa-", BBOCB(16,BOT,CBSO,1,0), BBOATCB_MASK, PPCCOM, {CR, BDMA}},
6729 -{"bsoa+", BBOCB(16,BOT,CBSO,1,0), BBOATCB_MASK, PPCCOM, {CR, BDPA}},
6730 -{"bsoa", BBOCB(16,BOT,CBSO,1,0), BBOATCB_MASK, COM, {CR, BDA}},
6731 -{"buna-", BBOCB(16,BOT,CBSO,1,0), BBOATCB_MASK, PPCCOM, {CR, BDMA}},
6732 -{"buna+", BBOCB(16,BOT,CBSO,1,0), BBOATCB_MASK, PPCCOM, {CR, BDPA}},
6733 -{"buna", BBOCB(16,BOT,CBSO,1,0), BBOATCB_MASK, PPCCOM, {CR, BDA}},
6734 -{"bsola-", BBOCB(16,BOT,CBSO,1,1), BBOATCB_MASK, PPCCOM, {CR, BDMA}},
6735 -{"bsola+", BBOCB(16,BOT,CBSO,1,1), BBOATCB_MASK, PPCCOM, {CR, BDPA}},
6736 -{"bsola", BBOCB(16,BOT,CBSO,1,1), BBOATCB_MASK, COM, {CR, BDA}},
6737 -{"bunla-", BBOCB(16,BOT,CBSO,1,1), BBOATCB_MASK, PPCCOM, {CR, BDMA}},
6738 -{"bunla+", BBOCB(16,BOT,CBSO,1,1), BBOATCB_MASK, PPCCOM, {CR, BDPA}},
6739 -{"bunla", BBOCB(16,BOT,CBSO,1,1), BBOATCB_MASK, PPCCOM, {CR, BDA}},
6740 -
6741 -{"bdnzf-", BBO(16,BODNZF,0,0), BBOY_MASK, NOPOWER4, {BI, BDM}},
6742 -{"bdnzf+", BBO(16,BODNZF,0,0), BBOY_MASK, NOPOWER4, {BI, BDP}},
6743 -{"bdnzf", BBO(16,BODNZF,0,0), BBOY_MASK, PPCCOM, {BI, BD}},
6744 -{"bdnzfl-", BBO(16,BODNZF,0,1), BBOY_MASK, NOPOWER4, {BI, BDM}},
6745 -{"bdnzfl+", BBO(16,BODNZF,0,1), BBOY_MASK, NOPOWER4, {BI, BDP}},
6746 -{"bdnzfl", BBO(16,BODNZF,0,1), BBOY_MASK, PPCCOM, {BI, BD}},
6747 -{"bdnzfa-", BBO(16,BODNZF,1,0), BBOY_MASK, NOPOWER4, {BI, BDMA}},
6748 -{"bdnzfa+", BBO(16,BODNZF,1,0), BBOY_MASK, NOPOWER4, {BI, BDPA}},
6749 -{"bdnzfa", BBO(16,BODNZF,1,0), BBOY_MASK, PPCCOM, {BI, BDA}},
6750 -{"bdnzfla-", BBO(16,BODNZF,1,1), BBOY_MASK, NOPOWER4, {BI, BDMA}},
6751 -{"bdnzfla+", BBO(16,BODNZF,1,1), BBOY_MASK, NOPOWER4, {BI, BDPA}},
6752 -{"bdnzfla", BBO(16,BODNZF,1,1), BBOY_MASK, PPCCOM, {BI, BDA}},
6753 -{"bdzf-", BBO(16,BODZF,0,0), BBOY_MASK, NOPOWER4, {BI, BDM}},
6754 -{"bdzf+", BBO(16,BODZF,0,0), BBOY_MASK, NOPOWER4, {BI, BDP}},
6755 -{"bdzf", BBO(16,BODZF,0,0), BBOY_MASK, PPCCOM, {BI, BD}},
6756 -{"bdzfl-", BBO(16,BODZF,0,1), BBOY_MASK, NOPOWER4, {BI, BDM}},
6757 -{"bdzfl+", BBO(16,BODZF,0,1), BBOY_MASK, NOPOWER4, {BI, BDP}},
6758 -{"bdzfl", BBO(16,BODZF,0,1), BBOY_MASK, PPCCOM, {BI, BD}},
6759 -{"bdzfa-", BBO(16,BODZF,1,0), BBOY_MASK, NOPOWER4, {BI, BDMA}},
6760 -{"bdzfa+", BBO(16,BODZF,1,0), BBOY_MASK, NOPOWER4, {BI, BDPA}},
6761 -{"bdzfa", BBO(16,BODZF,1,0), BBOY_MASK, PPCCOM, {BI, BDA}},
6762 -{"bdzfla-", BBO(16,BODZF,1,1), BBOY_MASK, NOPOWER4, {BI, BDMA}},
6763 -{"bdzfla+", BBO(16,BODZF,1,1), BBOY_MASK, NOPOWER4, {BI, BDPA}},
6764 -{"bdzfla", BBO(16,BODZF,1,1), BBOY_MASK, PPCCOM, {BI, BDA}},
6765 -
6766 -{"bf-", BBO(16,BOF,0,0), BBOAT_MASK, PPCCOM, {BI, BDM}},
6767 -{"bf+", BBO(16,BOF,0,0), BBOAT_MASK, PPCCOM, {BI, BDP}},
6768 -{"bf", BBO(16,BOF,0,0), BBOAT_MASK, PPCCOM, {BI, BD}},
6769 -{"bbf", BBO(16,BOF,0,0), BBOAT_MASK, PWRCOM, {BI, BD}},
6770 -{"bfl-", BBO(16,BOF,0,1), BBOAT_MASK, PPCCOM, {BI, BDM}},
6771 -{"bfl+", BBO(16,BOF,0,1), BBOAT_MASK, PPCCOM, {BI, BDP}},
6772 -{"bfl", BBO(16,BOF,0,1), BBOAT_MASK, PPCCOM, {BI, BD}},
6773 -{"bbfl", BBO(16,BOF,0,1), BBOAT_MASK, PWRCOM, {BI, BD}},
6774 -{"bfa-", BBO(16,BOF,1,0), BBOAT_MASK, PPCCOM, {BI, BDMA}},
6775 -{"bfa+", BBO(16,BOF,1,0), BBOAT_MASK, PPCCOM, {BI, BDPA}},
6776 -{"bfa", BBO(16,BOF,1,0), BBOAT_MASK, PPCCOM, {BI, BDA}},
6777 -{"bbfa", BBO(16,BOF,1,0), BBOAT_MASK, PWRCOM, {BI, BDA}},
6778 -{"bfla-", BBO(16,BOF,1,1), BBOAT_MASK, PPCCOM, {BI, BDMA}},
6779 -{"bfla+", BBO(16,BOF,1,1), BBOAT_MASK, PPCCOM, {BI, BDPA}},
6780 -{"bfla", BBO(16,BOF,1,1), BBOAT_MASK, PPCCOM, {BI, BDA}},
6781 -{"bbfla", BBO(16,BOF,1,1), BBOAT_MASK, PWRCOM, {BI, BDA}},
6782 -
6783 -{"bdnzt-", BBO(16,BODNZT,0,0), BBOY_MASK, NOPOWER4, {BI, BDM}},
6784 -{"bdnzt+", BBO(16,BODNZT,0,0), BBOY_MASK, NOPOWER4, {BI, BDP}},
6785 -{"bdnzt", BBO(16,BODNZT,0,0), BBOY_MASK, PPCCOM, {BI, BD}},
6786 -{"bdnztl-", BBO(16,BODNZT,0,1), BBOY_MASK, NOPOWER4, {BI, BDM}},
6787 -{"bdnztl+", BBO(16,BODNZT,0,1), BBOY_MASK, NOPOWER4, {BI, BDP}},
6788 -{"bdnztl", BBO(16,BODNZT,0,1), BBOY_MASK, PPCCOM, {BI, BD}},
6789 -{"bdnzta-", BBO(16,BODNZT,1,0), BBOY_MASK, NOPOWER4, {BI, BDMA}},
6790 -{"bdnzta+", BBO(16,BODNZT,1,0), BBOY_MASK, NOPOWER4, {BI, BDPA}},
6791 -{"bdnzta", BBO(16,BODNZT,1,0), BBOY_MASK, PPCCOM, {BI, BDA}},
6792 -{"bdnztla-", BBO(16,BODNZT,1,1), BBOY_MASK, NOPOWER4, {BI, BDMA}},
6793 -{"bdnztla+", BBO(16,BODNZT,1,1), BBOY_MASK, NOPOWER4, {BI, BDPA}},
6794 -{"bdnztla", BBO(16,BODNZT,1,1), BBOY_MASK, PPCCOM, {BI, BDA}},
6795 -{"bdzt-", BBO(16,BODZT,0,0), BBOY_MASK, NOPOWER4, {BI, BDM}},
6796 -{"bdzt+", BBO(16,BODZT,0,0), BBOY_MASK, NOPOWER4, {BI, BDP}},
6797 -{"bdzt", BBO(16,BODZT,0,0), BBOY_MASK, PPCCOM, {BI, BD}},
6798 -{"bdztl-", BBO(16,BODZT,0,1), BBOY_MASK, NOPOWER4, {BI, BDM}},
6799 -{"bdztl+", BBO(16,BODZT,0,1), BBOY_MASK, NOPOWER4, {BI, BDP}},
6800 -{"bdztl", BBO(16,BODZT,0,1), BBOY_MASK, PPCCOM, {BI, BD}},
6801 -{"bdzta-", BBO(16,BODZT,1,0), BBOY_MASK, NOPOWER4, {BI, BDMA}},
6802 -{"bdzta+", BBO(16,BODZT,1,0), BBOY_MASK, NOPOWER4, {BI, BDPA}},
6803 -{"bdzta", BBO(16,BODZT,1,0), BBOY_MASK, PPCCOM, {BI, BDA}},
6804 -{"bdztla-", BBO(16,BODZT,1,1), BBOY_MASK, NOPOWER4, {BI, BDMA}},
6805 -{"bdztla+", BBO(16,BODZT,1,1), BBOY_MASK, NOPOWER4, {BI, BDPA}},
6806 -{"bdztla", BBO(16,BODZT,1,1), BBOY_MASK, PPCCOM, {BI, BDA}},
6807 -
6808 -{"bt-", BBO(16,BOT,0,0), BBOAT_MASK, PPCCOM, {BI, BDM}},
6809 -{"bt+", BBO(16,BOT,0,0), BBOAT_MASK, PPCCOM, {BI, BDP}},
6810 -{"bt", BBO(16,BOT,0,0), BBOAT_MASK, PPCCOM, {BI, BD}},
6811 -{"bbt", BBO(16,BOT,0,0), BBOAT_MASK, PWRCOM, {BI, BD}},
6812 -{"btl-", BBO(16,BOT,0,1), BBOAT_MASK, PPCCOM, {BI, BDM}},
6813 -{"btl+", BBO(16,BOT,0,1), BBOAT_MASK, PPCCOM, {BI, BDP}},
6814 -{"btl", BBO(16,BOT,0,1), BBOAT_MASK, PPCCOM, {BI, BD}},
6815 -{"bbtl", BBO(16,BOT,0,1), BBOAT_MASK, PWRCOM, {BI, BD}},
6816 -{"bta-", BBO(16,BOT,1,0), BBOAT_MASK, PPCCOM, {BI, BDMA}},
6817 -{"bta+", BBO(16,BOT,1,0), BBOAT_MASK, PPCCOM, {BI, BDPA}},
6818 -{"bta", BBO(16,BOT,1,0), BBOAT_MASK, PPCCOM, {BI, BDA}},
6819 -{"bbta", BBO(16,BOT,1,0), BBOAT_MASK, PWRCOM, {BI, BDA}},
6820 -{"btla-", BBO(16,BOT,1,1), BBOAT_MASK, PPCCOM, {BI, BDMA}},
6821 -{"btla+", BBO(16,BOT,1,1), BBOAT_MASK, PPCCOM, {BI, BDPA}},
6822 -{"btla", BBO(16,BOT,1,1), BBOAT_MASK, PPCCOM, {BI, BDA}},
6823 -{"bbtla", BBO(16,BOT,1,1), BBOAT_MASK, PWRCOM, {BI, BDA}},
6824 -
6825 -{"bc-", B(16,0,0), B_MASK, PPCCOM, {BOE, BI, BDM}},
6826 -{"bc+", B(16,0,0), B_MASK, PPCCOM, {BOE, BI, BDP}},
6827 -{"bc", B(16,0,0), B_MASK, COM, {BO, BI, BD}},
6828 -{"bcl-", B(16,0,1), B_MASK, PPCCOM, {BOE, BI, BDM}},
6829 -{"bcl+", B(16,0,1), B_MASK, PPCCOM, {BOE, BI, BDP}},
6830 -{"bcl", B(16,0,1), B_MASK, COM, {BO, BI, BD}},
6831 -{"bca-", B(16,1,0), B_MASK, PPCCOM, {BOE, BI, BDMA}},
6832 -{"bca+", B(16,1,0), B_MASK, PPCCOM, {BOE, BI, BDPA}},
6833 -{"bca", B(16,1,0), B_MASK, COM, {BO, BI, BDA}},
6834 -{"bcla-", B(16,1,1), B_MASK, PPCCOM, {BOE, BI, BDMA}},
6835 -{"bcla+", B(16,1,1), B_MASK, PPCCOM, {BOE, BI, BDPA}},
6836 -{"bcla", B(16,1,1), B_MASK, COM, {BO, BI, BDA}},
6837 -
6838 -{"svc", SC(17,0,0), SC_MASK, POWER, {SVC_LEV, FL1, FL2}},
6839 -{"svcl", SC(17,0,1), SC_MASK, POWER, {SVC_LEV, FL1, FL2}},
6840 -{"sc", SC(17,1,0), SC_MASK, PPC, {LEV}},
6841 -{"svca", SC(17,1,0), SC_MASK, PWRCOM, {SV}},
6842 -{"svcla", SC(17,1,1), SC_MASK, POWER, {SV}},
6843 -
6844 -{"b", B(18,0,0), B_MASK, COM, {LI}},
6845 -{"bl", B(18,0,1), B_MASK, COM, {LI}},
6846 -{"ba", B(18,1,0), B_MASK, COM, {LIA}},
6847 -{"bla", B(18,1,1), B_MASK, COM, {LIA}},
6848 -
6849 -{"mcrf", XL(19,0), XLBB_MASK|(3<<21)|(3<<16), COM, {BF, BFA}},
6850 -
6851 -{"bdnzlr", XLO(19,BODNZ,16,0), XLBOBIBB_MASK, PPCCOM, {0}},
6852 -{"bdnzlr-", XLO(19,BODNZ,16,0), XLBOBIBB_MASK, NOPOWER4, {0}},
6853 -{"bdnzlrl", XLO(19,BODNZ,16,1), XLBOBIBB_MASK, PPCCOM, {0}},
6854 -{"bdnzlrl-", XLO(19,BODNZ,16,1), XLBOBIBB_MASK, NOPOWER4, {0}},
6855 -{"bdnzlr+", XLO(19,BODNZP,16,0), XLBOBIBB_MASK, NOPOWER4, {0}},
6856 -{"bdnzlrl+", XLO(19,BODNZP,16,1), XLBOBIBB_MASK, NOPOWER4, {0}},
6857 -{"bdzlr", XLO(19,BODZ,16,0), XLBOBIBB_MASK, PPCCOM, {0}},
6858 -{"bdzlr-", XLO(19,BODZ,16,0), XLBOBIBB_MASK, NOPOWER4, {0}},
6859 -{"bdzlrl", XLO(19,BODZ,16,1), XLBOBIBB_MASK, PPCCOM, {0}},
6860 -{"bdzlrl-", XLO(19,BODZ,16,1), XLBOBIBB_MASK, NOPOWER4, {0}},
6861 -{"bdzlr+", XLO(19,BODZP,16,0), XLBOBIBB_MASK, NOPOWER4, {0}},
6862 -{"bdzlrl+", XLO(19,BODZP,16,1), XLBOBIBB_MASK, NOPOWER4, {0}},
6863 -{"blr", XLO(19,BOU,16,0), XLBOBIBB_MASK, PPCCOM, {0}},
6864 -{"br", XLO(19,BOU,16,0), XLBOBIBB_MASK, PWRCOM, {0}},
6865 -{"blrl", XLO(19,BOU,16,1), XLBOBIBB_MASK, PPCCOM, {0}},
6866 -{"brl", XLO(19,BOU,16,1), XLBOBIBB_MASK, PWRCOM, {0}},
6867 -{"bdnzlr-", XLO(19,BODNZM4,16,0), XLBOBIBB_MASK, POWER4, {0}},
6868 -{"bdnzlrl-", XLO(19,BODNZM4,16,1), XLBOBIBB_MASK, POWER4, {0}},
6869 -{"bdnzlr+", XLO(19,BODNZP4,16,0), XLBOBIBB_MASK, POWER4, {0}},
6870 -{"bdnzlrl+", XLO(19,BODNZP4,16,1), XLBOBIBB_MASK, POWER4, {0}},
6871 -{"bdzlr-", XLO(19,BODZM4,16,0), XLBOBIBB_MASK, POWER4, {0}},
6872 -{"bdzlrl-", XLO(19,BODZM4,16,1), XLBOBIBB_MASK, POWER4, {0}},
6873 -{"bdzlr+", XLO(19,BODZP4,16,0), XLBOBIBB_MASK, POWER4, {0}},
6874 -{"bdzlrl+", XLO(19,BODZP4,16,1), XLBOBIBB_MASK, POWER4, {0}},
6875 -
6876 -{"bgelr", XLOCB(19,BOF,CBLT,16,0), XLBOCBBB_MASK, PPCCOM, {CR}},
6877 -{"bgelr-", XLOCB(19,BOF,CBLT,16,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
6878 -{"bger", XLOCB(19,BOF,CBLT,16,0), XLBOCBBB_MASK, PWRCOM, {CR}},
6879 -{"bnllr", XLOCB(19,BOF,CBLT,16,0), XLBOCBBB_MASK, PPCCOM, {CR}},
6880 -{"bnllr-", XLOCB(19,BOF,CBLT,16,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
6881 -{"bnlr", XLOCB(19,BOF,CBLT,16,0), XLBOCBBB_MASK, PWRCOM, {CR}},
6882 -{"bgelrl", XLOCB(19,BOF,CBLT,16,1), XLBOCBBB_MASK, PPCCOM, {CR}},
6883 -{"bgelrl-", XLOCB(19,BOF,CBLT,16,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
6884 -{"bgerl", XLOCB(19,BOF,CBLT,16,1), XLBOCBBB_MASK, PWRCOM, {CR}},
6885 -{"bnllrl", XLOCB(19,BOF,CBLT,16,1), XLBOCBBB_MASK, PPCCOM, {CR}},
6886 -{"bnllrl-", XLOCB(19,BOF,CBLT,16,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
6887 -{"bnlrl", XLOCB(19,BOF,CBLT,16,1), XLBOCBBB_MASK, PWRCOM, {CR}},
6888 -{"blelr", XLOCB(19,BOF,CBGT,16,0), XLBOCBBB_MASK, PPCCOM, {CR}},
6889 -{"blelr-", XLOCB(19,BOF,CBGT,16,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
6890 -{"bler", XLOCB(19,BOF,CBGT,16,0), XLBOCBBB_MASK, PWRCOM, {CR}},
6891 -{"bnglr", XLOCB(19,BOF,CBGT,16,0), XLBOCBBB_MASK, PPCCOM, {CR}},
6892 -{"bnglr-", XLOCB(19,BOF,CBGT,16,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
6893 -{"bngr", XLOCB(19,BOF,CBGT,16,0), XLBOCBBB_MASK, PWRCOM, {CR}},
6894 -{"blelrl", XLOCB(19,BOF,CBGT,16,1), XLBOCBBB_MASK, PPCCOM, {CR}},
6895 -{"blelrl-", XLOCB(19,BOF,CBGT,16,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
6896 -{"blerl", XLOCB(19,BOF,CBGT,16,1), XLBOCBBB_MASK, PWRCOM, {CR}},
6897 -{"bnglrl", XLOCB(19,BOF,CBGT,16,1), XLBOCBBB_MASK, PPCCOM, {CR}},
6898 -{"bnglrl-", XLOCB(19,BOF,CBGT,16,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
6899 -{"bngrl", XLOCB(19,BOF,CBGT,16,1), XLBOCBBB_MASK, PWRCOM, {CR}},
6900 -{"bnelr", XLOCB(19,BOF,CBEQ,16,0), XLBOCBBB_MASK, PPCCOM, {CR}},
6901 -{"bnelr-", XLOCB(19,BOF,CBEQ,16,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
6902 -{"bner", XLOCB(19,BOF,CBEQ,16,0), XLBOCBBB_MASK, PWRCOM, {CR}},
6903 -{"bnelrl", XLOCB(19,BOF,CBEQ,16,1), XLBOCBBB_MASK, PPCCOM, {CR}},
6904 -{"bnelrl-", XLOCB(19,BOF,CBEQ,16,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
6905 -{"bnerl", XLOCB(19,BOF,CBEQ,16,1), XLBOCBBB_MASK, PWRCOM, {CR}},
6906 -{"bnslr", XLOCB(19,BOF,CBSO,16,0), XLBOCBBB_MASK, PPCCOM, {CR}},
6907 -{"bnslr-", XLOCB(19,BOF,CBSO,16,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
6908 -{"bnsr", XLOCB(19,BOF,CBSO,16,0), XLBOCBBB_MASK, PWRCOM, {CR}},
6909 -{"bnulr", XLOCB(19,BOF,CBSO,16,0), XLBOCBBB_MASK, PPCCOM, {CR}},
6910 -{"bnulr-", XLOCB(19,BOF,CBSO,16,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
6911 -{"bnslrl", XLOCB(19,BOF,CBSO,16,1), XLBOCBBB_MASK, PPCCOM, {CR}},
6912 -{"bnslrl-", XLOCB(19,BOF,CBSO,16,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
6913 -{"bnsrl", XLOCB(19,BOF,CBSO,16,1), XLBOCBBB_MASK, PWRCOM, {CR}},
6914 -{"bnulrl", XLOCB(19,BOF,CBSO,16,1), XLBOCBBB_MASK, PPCCOM, {CR}},
6915 -{"bnulrl-", XLOCB(19,BOF,CBSO,16,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
6916 -{"bgelr+", XLOCB(19,BOFP,CBLT,16,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
6917 -{"bnllr+", XLOCB(19,BOFP,CBLT,16,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
6918 -{"bgelrl+", XLOCB(19,BOFP,CBLT,16,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
6919 -{"bnllrl+", XLOCB(19,BOFP,CBLT,16,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
6920 -{"blelr+", XLOCB(19,BOFP,CBGT,16,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
6921 -{"bnglr+", XLOCB(19,BOFP,CBGT,16,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
6922 -{"blelrl+", XLOCB(19,BOFP,CBGT,16,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
6923 -{"bnglrl+", XLOCB(19,BOFP,CBGT,16,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
6924 -{"bnelr+", XLOCB(19,BOFP,CBEQ,16,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
6925 -{"bnelrl+", XLOCB(19,BOFP,CBEQ,16,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
6926 -{"bnslr+", XLOCB(19,BOFP,CBSO,16,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
6927 -{"bnulr+", XLOCB(19,BOFP,CBSO,16,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
6928 -{"bnslrl+", XLOCB(19,BOFP,CBSO,16,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
6929 -{"bnulrl+", XLOCB(19,BOFP,CBSO,16,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
6930 -{"bgelr-", XLOCB(19,BOFM4,CBLT,16,0), XLBOCBBB_MASK, POWER4, {CR}},
6931 -{"bnllr-", XLOCB(19,BOFM4,CBLT,16,0), XLBOCBBB_MASK, POWER4, {CR}},
6932 -{"bgelrl-", XLOCB(19,BOFM4,CBLT,16,1), XLBOCBBB_MASK, POWER4, {CR}},
6933 -{"bnllrl-", XLOCB(19,BOFM4,CBLT,16,1), XLBOCBBB_MASK, POWER4, {CR}},
6934 -{"blelr-", XLOCB(19,BOFM4,CBGT,16,0), XLBOCBBB_MASK, POWER4, {CR}},
6935 -{"bnglr-", XLOCB(19,BOFM4,CBGT,16,0), XLBOCBBB_MASK, POWER4, {CR}},
6936 -{"blelrl-", XLOCB(19,BOFM4,CBGT,16,1), XLBOCBBB_MASK, POWER4, {CR}},
6937 -{"bnglrl-", XLOCB(19,BOFM4,CBGT,16,1), XLBOCBBB_MASK, POWER4, {CR}},
6938 -{"bnelr-", XLOCB(19,BOFM4,CBEQ,16,0), XLBOCBBB_MASK, POWER4, {CR}},
6939 -{"bnelrl-", XLOCB(19,BOFM4,CBEQ,16,1), XLBOCBBB_MASK, POWER4, {CR}},
6940 -{"bnslr-", XLOCB(19,BOFM4,CBSO,16,0), XLBOCBBB_MASK, POWER4, {CR}},
6941 -{"bnulr-", XLOCB(19,BOFM4,CBSO,16,0), XLBOCBBB_MASK, POWER4, {CR}},
6942 -{"bnslrl-", XLOCB(19,BOFM4,CBSO,16,1), XLBOCBBB_MASK, POWER4, {CR}},
6943 -{"bnulrl-", XLOCB(19,BOFM4,CBSO,16,1), XLBOCBBB_MASK, POWER4, {CR}},
6944 -{"bgelr+", XLOCB(19,BOFP4,CBLT,16,0), XLBOCBBB_MASK, POWER4, {CR}},
6945 -{"bnllr+", XLOCB(19,BOFP4,CBLT,16,0), XLBOCBBB_MASK, POWER4, {CR}},
6946 -{"bgelrl+", XLOCB(19,BOFP4,CBLT,16,1), XLBOCBBB_MASK, POWER4, {CR}},
6947 -{"bnllrl+", XLOCB(19,BOFP4,CBLT,16,1), XLBOCBBB_MASK, POWER4, {CR}},
6948 -{"blelr+", XLOCB(19,BOFP4,CBGT,16,0), XLBOCBBB_MASK, POWER4, {CR}},
6949 -{"bnglr+", XLOCB(19,BOFP4,CBGT,16,0), XLBOCBBB_MASK, POWER4, {CR}},
6950 -{"blelrl+", XLOCB(19,BOFP4,CBGT,16,1), XLBOCBBB_MASK, POWER4, {CR}},
6951 -{"bnglrl+", XLOCB(19,BOFP4,CBGT,16,1), XLBOCBBB_MASK, POWER4, {CR}},
6952 -{"bnelr+", XLOCB(19,BOFP4,CBEQ,16,0), XLBOCBBB_MASK, POWER4, {CR}},
6953 -{"bnelrl+", XLOCB(19,BOFP4,CBEQ,16,1), XLBOCBBB_MASK, POWER4, {CR}},
6954 -{"bnslr+", XLOCB(19,BOFP4,CBSO,16,0), XLBOCBBB_MASK, POWER4, {CR}},
6955 -{"bnulr+", XLOCB(19,BOFP4,CBSO,16,0), XLBOCBBB_MASK, POWER4, {CR}},
6956 -{"bnslrl+", XLOCB(19,BOFP4,CBSO,16,1), XLBOCBBB_MASK, POWER4, {CR}},
6957 -{"bnulrl+", XLOCB(19,BOFP4,CBSO,16,1), XLBOCBBB_MASK, POWER4, {CR}},
6958 -{"bltlr", XLOCB(19,BOT,CBLT,16,0), XLBOCBBB_MASK, PPCCOM, {CR}},
6959 -{"bltlr-", XLOCB(19,BOT,CBLT,16,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
6960 -{"bltr", XLOCB(19,BOT,CBLT,16,0), XLBOCBBB_MASK, PWRCOM, {CR}},
6961 -{"bltlrl", XLOCB(19,BOT,CBLT,16,1), XLBOCBBB_MASK, PPCCOM, {CR}},
6962 -{"bltlrl-", XLOCB(19,BOT,CBLT,16,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
6963 -{"bltrl", XLOCB(19,BOT,CBLT,16,1), XLBOCBBB_MASK, PWRCOM, {CR}},
6964 -{"bgtlr", XLOCB(19,BOT,CBGT,16,0), XLBOCBBB_MASK, PPCCOM, {CR}},
6965 -{"bgtlr-", XLOCB(19,BOT,CBGT,16,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
6966 -{"bgtr", XLOCB(19,BOT,CBGT,16,0), XLBOCBBB_MASK, PWRCOM, {CR}},
6967 -{"bgtlrl", XLOCB(19,BOT,CBGT,16,1), XLBOCBBB_MASK, PPCCOM, {CR}},
6968 -{"bgtlrl-", XLOCB(19,BOT,CBGT,16,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
6969 -{"bgtrl", XLOCB(19,BOT,CBGT,16,1), XLBOCBBB_MASK, PWRCOM, {CR}},
6970 -{"beqlr", XLOCB(19,BOT,CBEQ,16,0), XLBOCBBB_MASK, PPCCOM, {CR}},
6971 -{"beqlr-", XLOCB(19,BOT,CBEQ,16,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
6972 -{"beqr", XLOCB(19,BOT,CBEQ,16,0), XLBOCBBB_MASK, PWRCOM, {CR}},
6973 -{"beqlrl", XLOCB(19,BOT,CBEQ,16,1), XLBOCBBB_MASK, PPCCOM, {CR}},
6974 -{"beqlrl-", XLOCB(19,BOT,CBEQ,16,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
6975 -{"beqrl", XLOCB(19,BOT,CBEQ,16,1), XLBOCBBB_MASK, PWRCOM, {CR}},
6976 -{"bsolr", XLOCB(19,BOT,CBSO,16,0), XLBOCBBB_MASK, PPCCOM, {CR}},
6977 -{"bsolr-", XLOCB(19,BOT,CBSO,16,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
6978 -{"bsor", XLOCB(19,BOT,CBSO,16,0), XLBOCBBB_MASK, PWRCOM, {CR}},
6979 -{"bunlr", XLOCB(19,BOT,CBSO,16,0), XLBOCBBB_MASK, PPCCOM, {CR}},
6980 -{"bunlr-", XLOCB(19,BOT,CBSO,16,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
6981 -{"bsolrl", XLOCB(19,BOT,CBSO,16,1), XLBOCBBB_MASK, PPCCOM, {CR}},
6982 -{"bsolrl-", XLOCB(19,BOT,CBSO,16,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
6983 -{"bsorl", XLOCB(19,BOT,CBSO,16,1), XLBOCBBB_MASK, PWRCOM, {CR}},
6984 -{"bunlrl", XLOCB(19,BOT,CBSO,16,1), XLBOCBBB_MASK, PPCCOM, {CR}},
6985 -{"bunlrl-", XLOCB(19,BOT,CBSO,16,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
6986 -{"bltlr+", XLOCB(19,BOTP,CBLT,16,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
6987 -{"bltlrl+", XLOCB(19,BOTP,CBLT,16,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
6988 -{"bgtlr+", XLOCB(19,BOTP,CBGT,16,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
6989 -{"bgtlrl+", XLOCB(19,BOTP,CBGT,16,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
6990 -{"beqlr+", XLOCB(19,BOTP,CBEQ,16,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
6991 -{"beqlrl+", XLOCB(19,BOTP,CBEQ,16,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
6992 -{"bsolr+", XLOCB(19,BOTP,CBSO,16,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
6993 -{"bunlr+", XLOCB(19,BOTP,CBSO,16,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
6994 -{"bsolrl+", XLOCB(19,BOTP,CBSO,16,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
6995 -{"bunlrl+", XLOCB(19,BOTP,CBSO,16,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
6996 -{"bltlr-", XLOCB(19,BOTM4,CBLT,16,0), XLBOCBBB_MASK, POWER4, {CR}},
6997 -{"bltlrl-", XLOCB(19,BOTM4,CBLT,16,1), XLBOCBBB_MASK, POWER4, {CR}},
6998 -{"bgtlr-", XLOCB(19,BOTM4,CBGT,16,0), XLBOCBBB_MASK, POWER4, {CR}},
6999 -{"bgtlrl-", XLOCB(19,BOTM4,CBGT,16,1), XLBOCBBB_MASK, POWER4, {CR}},
7000 -{"beqlr-", XLOCB(19,BOTM4,CBEQ,16,0), XLBOCBBB_MASK, POWER4, {CR}},
7001 -{"beqlrl-", XLOCB(19,BOTM4,CBEQ,16,1), XLBOCBBB_MASK, POWER4, {CR}},
7002 -{"bsolr-", XLOCB(19,BOTM4,CBSO,16,0), XLBOCBBB_MASK, POWER4, {CR}},
7003 -{"bunlr-", XLOCB(19,BOTM4,CBSO,16,0), XLBOCBBB_MASK, POWER4, {CR}},
7004 -{"bsolrl-", XLOCB(19,BOTM4,CBSO,16,1), XLBOCBBB_MASK, POWER4, {CR}},
7005 -{"bunlrl-", XLOCB(19,BOTM4,CBSO,16,1), XLBOCBBB_MASK, POWER4, {CR}},
7006 -{"bltlr+", XLOCB(19,BOTP4,CBLT,16,0), XLBOCBBB_MASK, POWER4, {CR}},
7007 -{"bltlrl+", XLOCB(19,BOTP4,CBLT,16,1), XLBOCBBB_MASK, POWER4, {CR}},
7008 -{"bgtlr+", XLOCB(19,BOTP4,CBGT,16,0), XLBOCBBB_MASK, POWER4, {CR}},
7009 -{"bgtlrl+", XLOCB(19,BOTP4,CBGT,16,1), XLBOCBBB_MASK, POWER4, {CR}},
7010 -{"beqlr+", XLOCB(19,BOTP4,CBEQ,16,0), XLBOCBBB_MASK, POWER4, {CR}},
7011 -{"beqlrl+", XLOCB(19,BOTP4,CBEQ,16,1), XLBOCBBB_MASK, POWER4, {CR}},
7012 -{"bsolr+", XLOCB(19,BOTP4,CBSO,16,0), XLBOCBBB_MASK, POWER4, {CR}},
7013 -{"bunlr+", XLOCB(19,BOTP4,CBSO,16,0), XLBOCBBB_MASK, POWER4, {CR}},
7014 -{"bsolrl+", XLOCB(19,BOTP4,CBSO,16,1), XLBOCBBB_MASK, POWER4, {CR}},
7015 -{"bunlrl+", XLOCB(19,BOTP4,CBSO,16,1), XLBOCBBB_MASK, POWER4, {CR}},
7016 -
7017 -{"bdnzflr", XLO(19,BODNZF,16,0), XLBOBB_MASK, PPCCOM, {BI}},
7018 -{"bdnzflr-", XLO(19,BODNZF,16,0), XLBOBB_MASK, NOPOWER4, {BI}},
7019 -{"bdnzflrl", XLO(19,BODNZF,16,1), XLBOBB_MASK, PPCCOM, {BI}},
7020 -{"bdnzflrl-",XLO(19,BODNZF,16,1), XLBOBB_MASK, NOPOWER4, {BI}},
7021 -{"bdnzflr+", XLO(19,BODNZFP,16,0), XLBOBB_MASK, NOPOWER4, {BI}},
7022 -{"bdnzflrl+",XLO(19,BODNZFP,16,1), XLBOBB_MASK, NOPOWER4, {BI}},
7023 -{"bdzflr", XLO(19,BODZF,16,0), XLBOBB_MASK, PPCCOM, {BI}},
7024 -{"bdzflr-", XLO(19,BODZF,16,0), XLBOBB_MASK, NOPOWER4, {BI}},
7025 -{"bdzflrl", XLO(19,BODZF,16,1), XLBOBB_MASK, PPCCOM, {BI}},
7026 -{"bdzflrl-", XLO(19,BODZF,16,1), XLBOBB_MASK, NOPOWER4, {BI}},
7027 -{"bdzflr+", XLO(19,BODZFP,16,0), XLBOBB_MASK, NOPOWER4, {BI}},
7028 -{"bdzflrl+", XLO(19,BODZFP,16,1), XLBOBB_MASK, NOPOWER4, {BI}},
7029 -{"bflr", XLO(19,BOF,16,0), XLBOBB_MASK, PPCCOM, {BI}},
7030 -{"bflr-", XLO(19,BOF,16,0), XLBOBB_MASK, NOPOWER4, {BI}},
7031 -{"bbfr", XLO(19,BOF,16,0), XLBOBB_MASK, PWRCOM, {BI}},
7032 -{"bflrl", XLO(19,BOF,16,1), XLBOBB_MASK, PPCCOM, {BI}},
7033 -{"bflrl-", XLO(19,BOF,16,1), XLBOBB_MASK, NOPOWER4, {BI}},
7034 -{"bbfrl", XLO(19,BOF,16,1), XLBOBB_MASK, PWRCOM, {BI}},
7035 -{"bflr+", XLO(19,BOFP,16,0), XLBOBB_MASK, NOPOWER4, {BI}},
7036 -{"bflrl+", XLO(19,BOFP,16,1), XLBOBB_MASK, NOPOWER4, {BI}},
7037 -{"bflr-", XLO(19,BOFM4,16,0), XLBOBB_MASK, POWER4, {BI}},
7038 -{"bflrl-", XLO(19,BOFM4,16,1), XLBOBB_MASK, POWER4, {BI}},
7039 -{"bflr+", XLO(19,BOFP4,16,0), XLBOBB_MASK, POWER4, {BI}},
7040 -{"bflrl+", XLO(19,BOFP4,16,1), XLBOBB_MASK, POWER4, {BI}},
7041 -{"bdnztlr", XLO(19,BODNZT,16,0), XLBOBB_MASK, PPCCOM, {BI}},
7042 -{"bdnztlr-", XLO(19,BODNZT,16,0), XLBOBB_MASK, NOPOWER4, {BI}},
7043 -{"bdnztlrl", XLO(19,BODNZT,16,1), XLBOBB_MASK, PPCCOM, {BI}},
7044 -{"bdnztlrl-",XLO(19,BODNZT,16,1), XLBOBB_MASK, NOPOWER4, {BI}},
7045 -{"bdnztlr+", XLO(19,BODNZTP,16,0), XLBOBB_MASK, NOPOWER4, {BI}},
7046 -{"bdnztlrl+",XLO(19,BODNZTP,16,1), XLBOBB_MASK, NOPOWER4, {BI}},
7047 -{"bdztlr", XLO(19,BODZT,16,0), XLBOBB_MASK, PPCCOM, {BI}},
7048 -{"bdztlr-", XLO(19,BODZT,16,0), XLBOBB_MASK, NOPOWER4, {BI}},
7049 -{"bdztlrl", XLO(19,BODZT,16,1), XLBOBB_MASK, PPCCOM, {BI}},
7050 -{"bdztlrl-", XLO(19,BODZT,16,1), XLBOBB_MASK, NOPOWER4, {BI}},
7051 -{"bdztlr+", XLO(19,BODZTP,16,0), XLBOBB_MASK, NOPOWER4, {BI}},
7052 -{"bdztlrl+", XLO(19,BODZTP,16,1), XLBOBB_MASK, NOPOWER4, {BI}},
7053 -{"btlr", XLO(19,BOT,16,0), XLBOBB_MASK, PPCCOM, {BI}},
7054 -{"btlr-", XLO(19,BOT,16,0), XLBOBB_MASK, NOPOWER4, {BI}},
7055 -{"bbtr", XLO(19,BOT,16,0), XLBOBB_MASK, PWRCOM, {BI}},
7056 -{"btlrl", XLO(19,BOT,16,1), XLBOBB_MASK, PPCCOM, {BI}},
7057 -{"btlrl-", XLO(19,BOT,16,1), XLBOBB_MASK, NOPOWER4, {BI}},
7058 -{"bbtrl", XLO(19,BOT,16,1), XLBOBB_MASK, PWRCOM, {BI}},
7059 -{"btlr+", XLO(19,BOTP,16,0), XLBOBB_MASK, NOPOWER4, {BI}},
7060 -{"btlrl+", XLO(19,BOTP,16,1), XLBOBB_MASK, NOPOWER4, {BI}},
7061 -{"btlr-", XLO(19,BOTM4,16,0), XLBOBB_MASK, POWER4, {BI}},
7062 -{"btlrl-", XLO(19,BOTM4,16,1), XLBOBB_MASK, POWER4, {BI}},
7063 -{"btlr+", XLO(19,BOTP4,16,0), XLBOBB_MASK, POWER4, {BI}},
7064 -{"btlrl+", XLO(19,BOTP4,16,1), XLBOBB_MASK, POWER4, {BI}},
7065 -
7066 -{"bclr-", XLYLK(19,16,0,0), XLYBB_MASK, PPCCOM, {BOE, BI}},
7067 -{"bclrl-", XLYLK(19,16,0,1), XLYBB_MASK, PPCCOM, {BOE, BI}},
7068 -{"bclr+", XLYLK(19,16,1,0), XLYBB_MASK, PPCCOM, {BOE, BI}},
7069 -{"bclrl+", XLYLK(19,16,1,1), XLYBB_MASK, PPCCOM, {BOE, BI}},
7070 -{"bclr", XLLK(19,16,0), XLBH_MASK, PPCCOM, {BO, BI, BH}},
7071 -{"bcr", XLLK(19,16,0), XLBB_MASK, PWRCOM, {BO, BI}},
7072 -{"bclrl", XLLK(19,16,1), XLBH_MASK, PPCCOM, {BO, BI, BH}},
7073 -{"bcrl", XLLK(19,16,1), XLBB_MASK, PWRCOM, {BO, BI}},
7074 -
7075 -{"bclre", XLLK(19,17,0), XLBB_MASK, BOOKE64, {BO, BI}},
7076 -{"bclrel", XLLK(19,17,1), XLBB_MASK, BOOKE64, {BO, BI}},
7077 -
7078 -{"rfid", XL(19,18), 0xffffffff, PPC64, {0}},
7079 -
7080 -{"crnot", XL(19,33), XL_MASK, PPCCOM, {BT, BA, BBA}},
7081 -{"crnor", XL(19,33), XL_MASK, COM, {BT, BA, BB}},
7082 -{"rfmci", X(19,38), 0xffffffff, PPCRFMCI, {0}},
7083 -
7084 -{"rfdi", XL(19,39), 0xffffffff, E500MC, {0}},
7085 -{"rfi", XL(19,50), 0xffffffff, COM, {0}},
7086 -{"rfci", XL(19,51), 0xffffffff, PPC403|BOOKE|PPCE300, {0}},
7087 -
7088 -{"rfsvc", XL(19,82), 0xffffffff, POWER, {0}},
7089 -
7090 -{"rfgi", XL(19,102), 0xffffffff, E500MC, {0}},
7091 -
7092 -{"crandc", XL(19,129), XL_MASK, COM, {BT, BA, BB}},
7093 -
7094 -{"isync", XL(19,150), 0xffffffff, PPCCOM, {0}},
7095 -{"ics", XL(19,150), 0xffffffff, PWRCOM, {0}},
7096 -
7097 -{"crclr", XL(19,193), XL_MASK, PPCCOM, {BT, BAT, BBA}},
7098 -{"crxor", XL(19,193), XL_MASK, COM, {BT, BA, BB}},
7099 -
7100 -{"dnh", X(19,198), X_MASK, E500MC, {DUI, DUIS}},
7101 -
7102 -{"crnand", XL(19,225), XL_MASK, COM, {BT, BA, BB}},
7103 -
7104 -{"crand", XL(19,257), XL_MASK, COM, {BT, BA, BB}},
7105 -
7106 -{"hrfid", XL(19,274), 0xffffffff, POWER5|CELL, {0}},
7107 -
7108 -{"crset", XL(19,289), XL_MASK, PPCCOM, {BT, BAT, BBA}},
7109 -{"creqv", XL(19,289), XL_MASK, COM, {BT, BA, BB}},
7110 -
7111 -{"doze", XL(19,402), 0xffffffff, POWER6, {0}},
7112 -
7113 -{"crorc", XL(19,417), XL_MASK, COM, {BT, BA, BB}},
7114 -
7115 -{"nap", XL(19,434), 0xffffffff, POWER6, {0}},
7116 -
7117 -{"crmove", XL(19,449), XL_MASK, PPCCOM, {BT, BA, BBA}},
7118 -{"cror", XL(19,449), XL_MASK, COM, {BT, BA, BB}},
7119 -
7120 -{"sleep", XL(19,466), 0xffffffff, POWER6, {0}},
7121 -{"rvwinkle", XL(19,498), 0xffffffff, POWER6, {0}},
7122 -
7123 -{"bctr", XLO(19,BOU,528,0), XLBOBIBB_MASK, COM, {0}},
7124 -{"bctrl", XLO(19,BOU,528,1), XLBOBIBB_MASK, COM, {0}},
7125 -
7126 -{"bgectr", XLOCB(19,BOF,CBLT,528,0), XLBOCBBB_MASK, PPCCOM, {CR}},
7127 -{"bgectr-", XLOCB(19,BOF,CBLT,528,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
7128 -{"bnlctr", XLOCB(19,BOF,CBLT,528,0), XLBOCBBB_MASK, PPCCOM, {CR}},
7129 -{"bnlctr-", XLOCB(19,BOF,CBLT,528,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
7130 -{"bgectrl", XLOCB(19,BOF,CBLT,528,1), XLBOCBBB_MASK, PPCCOM, {CR}},
7131 -{"bgectrl-",XLOCB(19,BOF,CBLT,528,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
7132 -{"bnlctrl", XLOCB(19,BOF,CBLT,528,1), XLBOCBBB_MASK, PPCCOM, {CR}},
7133 -{"bnlctrl-",XLOCB(19,BOF,CBLT,528,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
7134 -{"blectr", XLOCB(19,BOF,CBGT,528,0), XLBOCBBB_MASK, PPCCOM, {CR}},
7135 -{"blectr-", XLOCB(19,BOF,CBGT,528,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
7136 -{"bngctr", XLOCB(19,BOF,CBGT,528,0), XLBOCBBB_MASK, PPCCOM, {CR}},
7137 -{"bngctr-", XLOCB(19,BOF,CBGT,528,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
7138 -{"blectrl", XLOCB(19,BOF,CBGT,528,1), XLBOCBBB_MASK, PPCCOM, {CR}},
7139 -{"blectrl-",XLOCB(19,BOF,CBGT,528,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
7140 -{"bngctrl", XLOCB(19,BOF,CBGT,528,1), XLBOCBBB_MASK, PPCCOM, {CR}},
7141 -{"bngctrl-",XLOCB(19,BOF,CBGT,528,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
7142 -{"bnectr", XLOCB(19,BOF,CBEQ,528,0), XLBOCBBB_MASK, PPCCOM, {CR}},
7143 -{"bnectr-", XLOCB(19,BOF,CBEQ,528,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
7144 -{"bnectrl", XLOCB(19,BOF,CBEQ,528,1), XLBOCBBB_MASK, PPCCOM, {CR}},
7145 -{"bnectrl-",XLOCB(19,BOF,CBEQ,528,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
7146 -{"bnsctr", XLOCB(19,BOF,CBSO,528,0), XLBOCBBB_MASK, PPCCOM, {CR}},
7147 -{"bnsctr-", XLOCB(19,BOF,CBSO,528,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
7148 -{"bnuctr", XLOCB(19,BOF,CBSO,528,0), XLBOCBBB_MASK, PPCCOM, {CR}},
7149 -{"bnuctr-", XLOCB(19,BOF,CBSO,528,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
7150 -{"bnsctrl", XLOCB(19,BOF,CBSO,528,1), XLBOCBBB_MASK, PPCCOM, {CR}},
7151 -{"bnsctrl-",XLOCB(19,BOF,CBSO,528,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
7152 -{"bnuctrl", XLOCB(19,BOF,CBSO,528,1), XLBOCBBB_MASK, PPCCOM, {CR}},
7153 -{"bnuctrl-",XLOCB(19,BOF,CBSO,528,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
7154 -{"bgectr+", XLOCB(19,BOFP,CBLT,528,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
7155 -{"bnlctr+", XLOCB(19,BOFP,CBLT,528,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
7156 -{"bgectrl+",XLOCB(19,BOFP,CBLT,528,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
7157 -{"bnlctrl+",XLOCB(19,BOFP,CBLT,528,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
7158 -{"blectr+", XLOCB(19,BOFP,CBGT,528,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
7159 -{"bngctr+", XLOCB(19,BOFP,CBGT,528,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
7160 -{"blectrl+",XLOCB(19,BOFP,CBGT,528,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
7161 -{"bngctrl+",XLOCB(19,BOFP,CBGT,528,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
7162 -{"bnectr+", XLOCB(19,BOFP,CBEQ,528,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
7163 -{"bnectrl+",XLOCB(19,BOFP,CBEQ,528,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
7164 -{"bnsctr+", XLOCB(19,BOFP,CBSO,528,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
7165 -{"bnuctr+", XLOCB(19,BOFP,CBSO,528,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
7166 -{"bnsctrl+",XLOCB(19,BOFP,CBSO,528,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
7167 -{"bnuctrl+",XLOCB(19,BOFP,CBSO,528,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
7168 -{"bgectr-", XLOCB(19,BOFM4,CBLT,528,0), XLBOCBBB_MASK, POWER4, {CR}},
7169 -{"bnlctr-", XLOCB(19,BOFM4,CBLT,528,0), XLBOCBBB_MASK, POWER4, {CR}},
7170 -{"bgectrl-",XLOCB(19,BOFM4,CBLT,528,1), XLBOCBBB_MASK, POWER4, {CR}},
7171 -{"bnlctrl-",XLOCB(19,BOFM4,CBLT,528,1), XLBOCBBB_MASK, POWER4, {CR}},
7172 -{"blectr-", XLOCB(19,BOFM4,CBGT,528,0), XLBOCBBB_MASK, POWER4, {CR}},
7173 -{"bngctr-", XLOCB(19,BOFM4,CBGT,528,0), XLBOCBBB_MASK, POWER4, {CR}},
7174 -{"blectrl-",XLOCB(19,BOFM4,CBGT,528,1), XLBOCBBB_MASK, POWER4, {CR}},
7175 -{"bngctrl-",XLOCB(19,BOFM4,CBGT,528,1), XLBOCBBB_MASK, POWER4, {CR}},
7176 -{"bnectr-", XLOCB(19,BOFM4,CBEQ,528,0), XLBOCBBB_MASK, POWER4, {CR}},
7177 -{"bnectrl-",XLOCB(19,BOFM4,CBEQ,528,1), XLBOCBBB_MASK, POWER4, {CR}},
7178 -{"bnsctr-", XLOCB(19,BOFM4,CBSO,528,0), XLBOCBBB_MASK, POWER4, {CR}},
7179 -{"bnuctr-", XLOCB(19,BOFM4,CBSO,528,0), XLBOCBBB_MASK, POWER4, {CR}},
7180 -{"bnsctrl-",XLOCB(19,BOFM4,CBSO,528,1), XLBOCBBB_MASK, POWER4, {CR}},
7181 -{"bnuctrl-",XLOCB(19,BOFM4,CBSO,528,1), XLBOCBBB_MASK, POWER4, {CR}},
7182 -{"bgectr+", XLOCB(19,BOFP4,CBLT,528,0), XLBOCBBB_MASK, POWER4, {CR}},
7183 -{"bnlctr+", XLOCB(19,BOFP4,CBLT,528,0), XLBOCBBB_MASK, POWER4, {CR}},
7184 -{"bgectrl+",XLOCB(19,BOFP4,CBLT,528,1), XLBOCBBB_MASK, POWER4, {CR}},
7185 -{"bnlctrl+",XLOCB(19,BOFP4,CBLT,528,1), XLBOCBBB_MASK, POWER4, {CR}},
7186 -{"blectr+", XLOCB(19,BOFP4,CBGT,528,0), XLBOCBBB_MASK, POWER4, {CR}},
7187 -{"bngctr+", XLOCB(19,BOFP4,CBGT,528,0), XLBOCBBB_MASK, POWER4, {CR}},
7188 -{"blectrl+",XLOCB(19,BOFP4,CBGT,528,1), XLBOCBBB_MASK, POWER4, {CR}},
7189 -{"bngctrl+",XLOCB(19,BOFP4,CBGT,528,1), XLBOCBBB_MASK, POWER4, {CR}},
7190 -{"bnectr+", XLOCB(19,BOFP4,CBEQ,528,0), XLBOCBBB_MASK, POWER4, {CR}},
7191 -{"bnectrl+",XLOCB(19,BOFP4,CBEQ,528,1), XLBOCBBB_MASK, POWER4, {CR}},
7192 -{"bnsctr+", XLOCB(19,BOFP4,CBSO,528,0), XLBOCBBB_MASK, POWER4, {CR}},
7193 -{"bnuctr+", XLOCB(19,BOFP4,CBSO,528,0), XLBOCBBB_MASK, POWER4, {CR}},
7194 -{"bnsctrl+",XLOCB(19,BOFP4,CBSO,528,1), XLBOCBBB_MASK, POWER4, {CR}},
7195 -{"bnuctrl+",XLOCB(19,BOFP4,CBSO,528,1), XLBOCBBB_MASK, POWER4, {CR}},
7196 -{"bltctr", XLOCB(19,BOT,CBLT,528,0), XLBOCBBB_MASK, PPCCOM, {CR}},
7197 -{"bltctr-", XLOCB(19,BOT,CBLT,528,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
7198 -{"bltctrl", XLOCB(19,BOT,CBLT,528,1), XLBOCBBB_MASK, PPCCOM, {CR}},
7199 -{"bltctrl-",XLOCB(19,BOT,CBLT,528,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
7200 -{"bgtctr", XLOCB(19,BOT,CBGT,528,0), XLBOCBBB_MASK, PPCCOM, {CR}},
7201 -{"bgtctr-", XLOCB(19,BOT,CBGT,528,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
7202 -{"bgtctrl", XLOCB(19,BOT,CBGT,528,1), XLBOCBBB_MASK, PPCCOM, {CR}},
7203 -{"bgtctrl-",XLOCB(19,BOT,CBGT,528,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
7204 -{"beqctr", XLOCB(19,BOT,CBEQ,528,0), XLBOCBBB_MASK, PPCCOM, {CR}},
7205 -{"beqctr-", XLOCB(19,BOT,CBEQ,528,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
7206 -{"beqctrl", XLOCB(19,BOT,CBEQ,528,1), XLBOCBBB_MASK, PPCCOM, {CR}},
7207 -{"beqctrl-",XLOCB(19,BOT,CBEQ,528,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
7208 -{"bsoctr", XLOCB(19,BOT,CBSO,528,0), XLBOCBBB_MASK, PPCCOM, {CR}},
7209 -{"bsoctr-", XLOCB(19,BOT,CBSO,528,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
7210 -{"bunctr", XLOCB(19,BOT,CBSO,528,0), XLBOCBBB_MASK, PPCCOM, {CR}},
7211 -{"bunctr-", XLOCB(19,BOT,CBSO,528,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
7212 -{"bsoctrl", XLOCB(19,BOT,CBSO,528,1), XLBOCBBB_MASK, PPCCOM, {CR}},
7213 -{"bsoctrl-",XLOCB(19,BOT,CBSO,528,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
7214 -{"bunctrl", XLOCB(19,BOT,CBSO,528,1), XLBOCBBB_MASK, PPCCOM, {CR}},
7215 -{"bunctrl-",XLOCB(19,BOT,CBSO,528,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
7216 -{"bltctr+", XLOCB(19,BOTP,CBLT,528,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
7217 -{"bltctrl+",XLOCB(19,BOTP,CBLT,528,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
7218 -{"bgtctr+", XLOCB(19,BOTP,CBGT,528,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
7219 -{"bgtctrl+",XLOCB(19,BOTP,CBGT,528,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
7220 -{"beqctr+", XLOCB(19,BOTP,CBEQ,528,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
7221 -{"beqctrl+",XLOCB(19,BOTP,CBEQ,528,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
7222 -{"bsoctr+", XLOCB(19,BOTP,CBSO,528,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
7223 -{"bunctr+", XLOCB(19,BOTP,CBSO,528,0), XLBOCBBB_MASK, NOPOWER4, {CR}},
7224 -{"bsoctrl+",XLOCB(19,BOTP,CBSO,528,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
7225 -{"bunctrl+",XLOCB(19,BOTP,CBSO,528,1), XLBOCBBB_MASK, NOPOWER4, {CR}},
7226 -{"bltctr-", XLOCB(19,BOTM4,CBLT,528,0), XLBOCBBB_MASK, POWER4, {CR}},
7227 -{"bltctrl-",XLOCB(19,BOTM4,CBLT,528,1), XLBOCBBB_MASK, POWER4, {CR}},
7228 -{"bgtctr-", XLOCB(19,BOTM4,CBGT,528,0), XLBOCBBB_MASK, POWER4, {CR}},
7229 -{"bgtctrl-",XLOCB(19,BOTM4,CBGT,528,1), XLBOCBBB_MASK, POWER4, {CR}},
7230 -{"beqctr-", XLOCB(19,BOTM4,CBEQ,528,0), XLBOCBBB_MASK, POWER4, {CR}},
7231 -{"beqctrl-",XLOCB(19,BOTM4,CBEQ,528,1), XLBOCBBB_MASK, POWER4, {CR}},
7232 -{"bsoctr-", XLOCB(19,BOTM4,CBSO,528,0), XLBOCBBB_MASK, POWER4, {CR}},
7233 -{"bunctr-", XLOCB(19,BOTM4,CBSO,528,0), XLBOCBBB_MASK, POWER4, {CR}},
7234 -{"bsoctrl-",XLOCB(19,BOTM4,CBSO,528,1), XLBOCBBB_MASK, POWER4, {CR}},
7235 -{"bunctrl-",XLOCB(19,BOTM4,CBSO,528,1), XLBOCBBB_MASK, POWER4, {CR}},
7236 -{"bltctr+", XLOCB(19,BOTP4,CBLT,528,0), XLBOCBBB_MASK, POWER4, {CR}},
7237 -{"bltctrl+",XLOCB(19,BOTP4,CBLT,528,1), XLBOCBBB_MASK, POWER4, {CR}},
7238 -{"bgtctr+", XLOCB(19,BOTP4,CBGT,528,0), XLBOCBBB_MASK, POWER4, {CR}},
7239 -{"bgtctrl+",XLOCB(19,BOTP4,CBGT,528,1), XLBOCBBB_MASK, POWER4, {CR}},
7240 -{"beqctr+", XLOCB(19,BOTP4,CBEQ,528,0), XLBOCBBB_MASK, POWER4, {CR}},
7241 -{"beqctrl+",XLOCB(19,BOTP4,CBEQ,528,1), XLBOCBBB_MASK, POWER4, {CR}},
7242 -{"bsoctr+", XLOCB(19,BOTP4,CBSO,528,0), XLBOCBBB_MASK, POWER4, {CR}},
7243 -{"bunctr+", XLOCB(19,BOTP4,CBSO,528,0), XLBOCBBB_MASK, POWER4, {CR}},
7244 -{"bsoctrl+",XLOCB(19,BOTP4,CBSO,528,1), XLBOCBBB_MASK, POWER4, {CR}},
7245 -{"bunctrl+",XLOCB(19,BOTP4,CBSO,528,1), XLBOCBBB_MASK, POWER4, {CR}},
7246 -
7247 -{"bfctr", XLO(19,BOF,528,0), XLBOBB_MASK, PPCCOM, {BI}},
7248 -{"bfctr-", XLO(19,BOF,528,0), XLBOBB_MASK, NOPOWER4, {BI}},
7249 -{"bfctrl", XLO(19,BOF,528,1), XLBOBB_MASK, PPCCOM, {BI}},
7250 -{"bfctrl-", XLO(19,BOF,528,1), XLBOBB_MASK, NOPOWER4, {BI}},
7251 -{"bfctr+", XLO(19,BOFP,528,0), XLBOBB_MASK, NOPOWER4, {BI}},
7252 -{"bfctrl+", XLO(19,BOFP,528,1), XLBOBB_MASK, NOPOWER4, {BI}},
7253 -{"bfctr-", XLO(19,BOFM4,528,0), XLBOBB_MASK, POWER4, {BI}},
7254 -{"bfctrl-", XLO(19,BOFM4,528,1), XLBOBB_MASK, POWER4, {BI}},
7255 -{"bfctr+", XLO(19,BOFP4,528,0), XLBOBB_MASK, POWER4, {BI}},
7256 -{"bfctrl+", XLO(19,BOFP4,528,1), XLBOBB_MASK, POWER4, {BI}},
7257 -{"btctr", XLO(19,BOT,528,0), XLBOBB_MASK, PPCCOM, {BI}},
7258 -{"btctr-", XLO(19,BOT,528,0), XLBOBB_MASK, NOPOWER4, {BI}},
7259 -{"btctrl", XLO(19,BOT,528,1), XLBOBB_MASK, PPCCOM, {BI}},
7260 -{"btctrl-", XLO(19,BOT,528,1), XLBOBB_MASK, NOPOWER4, {BI}},
7261 -{"btctr+", XLO(19,BOTP,528,0), XLBOBB_MASK, NOPOWER4, {BI}},
7262 -{"btctrl+", XLO(19,BOTP,528,1), XLBOBB_MASK, NOPOWER4, {BI}},
7263 -{"btctr-", XLO(19,BOTM4,528,0), XLBOBB_MASK, POWER4, {BI}},
7264 -{"btctrl-", XLO(19,BOTM4,528,1), XLBOBB_MASK, POWER4, {BI}},
7265 -{"btctr+", XLO(19,BOTP4,528,0), XLBOBB_MASK, POWER4, {BI}},
7266 -{"btctrl+", XLO(19,BOTP4,528,1), XLBOBB_MASK, POWER4, {BI}},
7267 -
7268 -{"bcctr-", XLYLK(19,528,0,0), XLYBB_MASK, PPCCOM, {BOE, BI}},
7269 -{"bcctrl-", XLYLK(19,528,0,1), XLYBB_MASK, PPCCOM, {BOE, BI}},
7270 -{"bcctr+", XLYLK(19,528,1,0), XLYBB_MASK, PPCCOM, {BOE, BI}},
7271 -{"bcctrl+", XLYLK(19,528,1,1), XLYBB_MASK, PPCCOM, {BOE, BI}},
7272 -{"bcctr", XLLK(19,528,0), XLBH_MASK, PPCCOM, {BO, BI, BH}},
7273 -{"bcc", XLLK(19,528,0), XLBB_MASK, PWRCOM, {BO, BI}},
7274 -{"bcctrl", XLLK(19,528,1), XLBH_MASK, PPCCOM, {BO, BI, BH}},
7275 -{"bccl", XLLK(19,528,1), XLBB_MASK, PWRCOM, {BO, BI}},
7276 -
7277 -{"bcctre", XLLK(19,529,0), XLBB_MASK, BOOKE64, {BO, BI}},
7278 -{"bcctrel", XLLK(19,529,1), XLBB_MASK, BOOKE64, {BO, BI}},
7279 -
7280 -{"rlwimi", M(20,0), M_MASK, PPCCOM, {RA, RS, SH, MBE, ME}},
7281 -{"rlimi", M(20,0), M_MASK, PWRCOM, {RA, RS, SH, MBE, ME}},
7282 -
7283 -{"rlwimi.", M(20,1), M_MASK, PPCCOM, {RA, RS, SH, MBE, ME}},
7284 -{"rlimi.", M(20,1), M_MASK, PWRCOM, {RA, RS, SH, MBE, ME}},
7285 -
7286 -{"rotlwi", MME(21,31,0), MMBME_MASK, PPCCOM, {RA, RS, SH}},
7287 -{"clrlwi", MME(21,31,0), MSHME_MASK, PPCCOM, {RA, RS, MB}},
7288 -{"rlwinm", M(21,0), M_MASK, PPCCOM, {RA, RS, SH, MBE, ME}},
7289 -{"rlinm", M(21,0), M_MASK, PWRCOM, {RA, RS, SH, MBE, ME}},
7290 -{"rotlwi.", MME(21,31,1), MMBME_MASK, PPCCOM, {RA, RS, SH}},
7291 -{"clrlwi.", MME(21,31,1), MSHME_MASK, PPCCOM, {RA, RS, MB}},
7292 -{"rlwinm.", M(21,1), M_MASK, PPCCOM, {RA, RS, SH, MBE, ME}},
7293 -{"rlinm.", M(21,1), M_MASK, PWRCOM, {RA, RS, SH, MBE, ME}},
7294 -
7295 -{"rlmi", M(22,0), M_MASK, M601, {RA, RS, RB, MBE, ME}},
7296 -{"be", B(22,0,0), B_MASK, BOOKE64, {LI}},
7297 -{"bel", B(22,0,1), B_MASK, BOOKE64, {LI}},
7298 -{"rlmi.", M(22,1), M_MASK, M601, {RA, RS, RB, MBE, ME}},
7299 -{"bea", B(22,1,0), B_MASK, BOOKE64, {LIA}},
7300 -{"bela", B(22,1,1), B_MASK, BOOKE64, {LIA}},
7301 -
7302 -{"rotlw", MME(23,31,0), MMBME_MASK, PPCCOM, {RA, RS, RB}},
7303 -{"rlwnm", M(23,0), M_MASK, PPCCOM, {RA, RS, RB, MBE, ME}},
7304 -{"rlnm", M(23,0), M_MASK, PWRCOM, {RA, RS, RB, MBE, ME}},
7305 -{"rotlw.", MME(23,31,1), MMBME_MASK, PPCCOM, {RA, RS, RB}},
7306 -{"rlwnm.", M(23,1), M_MASK, PPCCOM, {RA, RS, RB, MBE, ME}},
7307 -{"rlnm.", M(23,1), M_MASK, PWRCOM, {RA, RS, RB, MBE, ME}},
7308 -
7309 -{"nop", OP(24), 0xffffffff, PPCCOM, {0}},
7310 -{"ori", OP(24), OP_MASK, PPCCOM, {RA, RS, UI}},
7311 -{"oril", OP(24), OP_MASK, PWRCOM, {RA, RS, UI}},
7312 -
7313 -{"oris", OP(25), OP_MASK, PPCCOM, {RA, RS, UI}},
7314 -{"oriu", OP(25), OP_MASK, PWRCOM, {RA, RS, UI}},
7315 -
7316 -{"xori", OP(26), OP_MASK, PPCCOM, {RA, RS, UI}},
7317 -{"xoril", OP(26), OP_MASK, PWRCOM, {RA, RS, UI}},
7318 -
7319 -{"xoris", OP(27), OP_MASK, PPCCOM, {RA, RS, UI}},
7320 -{"xoriu", OP(27), OP_MASK, PWRCOM, {RA, RS, UI}},
7321 -
7322 -{"andi.", OP(28), OP_MASK, PPCCOM, {RA, RS, UI}},
7323 -{"andil.", OP(28), OP_MASK, PWRCOM, {RA, RS, UI}},
7324 -
7325 -{"andis.", OP(29), OP_MASK, PPCCOM, {RA, RS, UI}},
7326 -{"andiu.", OP(29), OP_MASK, PWRCOM, {RA, RS, UI}},
7327 -
7328 -{"rotldi", MD(30,0,0), MDMB_MASK, PPC64, {RA, RS, SH6}},
7329 -{"clrldi", MD(30,0,0), MDSH_MASK, PPC64, {RA, RS, MB6}},
7330 -{"rldicl", MD(30,0,0), MD_MASK, PPC64, {RA, RS, SH6, MB6}},
7331 -{"rotldi.", MD(30,0,1), MDMB_MASK, PPC64, {RA, RS, SH6}},
7332 -{"clrldi.", MD(30,0,1), MDSH_MASK, PPC64, {RA, RS, MB6}},
7333 -{"rldicl.", MD(30,0,1), MD_MASK, PPC64, {RA, RS, SH6, MB6}},
7334 -
7335 -{"rldicr", MD(30,1,0), MD_MASK, PPC64, {RA, RS, SH6, ME6}},
7336 -{"rldicr.", MD(30,1,1), MD_MASK, PPC64, {RA, RS, SH6, ME6}},
7337 -
7338 -{"rldic", MD(30,2,0), MD_MASK, PPC64, {RA, RS, SH6, MB6}},
7339 -{"rldic.", MD(30,2,1), MD_MASK, PPC64, {RA, RS, SH6, MB6}},
7340 -
7341 -{"rldimi", MD(30,3,0), MD_MASK, PPC64, {RA, RS, SH6, MB6}},
7342 -{"rldimi.", MD(30,3,1), MD_MASK, PPC64, {RA, RS, SH6, MB6}},
7343 -
7344 -{"rotld", MDS(30,8,0), MDSMB_MASK, PPC64, {RA, RS, RB}},
7345 -{"rldcl", MDS(30,8,0), MDS_MASK, PPC64, {RA, RS, RB, MB6}},
7346 -{"rotld.", MDS(30,8,1), MDSMB_MASK, PPC64, {RA, RS, RB}},
7347 -{"rldcl.", MDS(30,8,1), MDS_MASK, PPC64, {RA, RS, RB, MB6}},
7348 -
7349 -{"rldcr", MDS(30,9,0), MDS_MASK, PPC64, {RA, RS, RB, ME6}},
7350 -{"rldcr.", MDS(30,9,1), MDS_MASK, PPC64, {RA, RS, RB, ME6}},
7351 -
7352 -{"cmpw", XOPL(31,0,0), XCMPL_MASK, PPCCOM, {OBF, RA, RB}},
7353 -{"cmpd", XOPL(31,0,1), XCMPL_MASK, PPC64, {OBF, RA, RB}},
7354 -{"cmp", X(31,0), XCMP_MASK, PPC, {BF, L, RA, RB}},
7355 -{"cmp", X(31,0), XCMPL_MASK, PWRCOM, {BF, RA, RB}},
7356 -
7357 -{"twlgt", XTO(31,4,TOLGT), XTO_MASK, PPCCOM, {RA, RB}},
7358 -{"tlgt", XTO(31,4,TOLGT), XTO_MASK, PWRCOM, {RA, RB}},
7359 -{"twllt", XTO(31,4,TOLLT), XTO_MASK, PPCCOM, {RA, RB}},
7360 -{"tllt", XTO(31,4,TOLLT), XTO_MASK, PWRCOM, {RA, RB}},
7361 -{"tweq", XTO(31,4,TOEQ), XTO_MASK, PPCCOM, {RA, RB}},
7362 -{"teq", XTO(31,4,TOEQ), XTO_MASK, PWRCOM, {RA, RB}},
7363 -{"twlge", XTO(31,4,TOLGE), XTO_MASK, PPCCOM, {RA, RB}},
7364 -{"tlge", XTO(31,4,TOLGE), XTO_MASK, PWRCOM, {RA, RB}},
7365 -{"twlnl", XTO(31,4,TOLNL), XTO_MASK, PPCCOM, {RA, RB}},
7366 -{"tlnl", XTO(31,4,TOLNL), XTO_MASK, PWRCOM, {RA, RB}},
7367 -{"twlle", XTO(31,4,TOLLE), XTO_MASK, PPCCOM, {RA, RB}},
7368 -{"tlle", XTO(31,4,TOLLE), XTO_MASK, PWRCOM, {RA, RB}},
7369 -{"twlng", XTO(31,4,TOLNG), XTO_MASK, PPCCOM, {RA, RB}},
7370 -{"tlng", XTO(31,4,TOLNG), XTO_MASK, PWRCOM, {RA, RB}},
7371 -{"twgt", XTO(31,4,TOGT), XTO_MASK, PPCCOM, {RA, RB}},
7372 -{"tgt", XTO(31,4,TOGT), XTO_MASK, PWRCOM, {RA, RB}},
7373 -{"twge", XTO(31,4,TOGE), XTO_MASK, PPCCOM, {RA, RB}},
7374 -{"tge", XTO(31,4,TOGE), XTO_MASK, PWRCOM, {RA, RB}},
7375 -{"twnl", XTO(31,4,TONL), XTO_MASK, PPCCOM, {RA, RB}},
7376 -{"tnl", XTO(31,4,TONL), XTO_MASK, PWRCOM, {RA, RB}},
7377 -{"twlt", XTO(31,4,TOLT), XTO_MASK, PPCCOM, {RA, RB}},
7378 -{"tlt", XTO(31,4,TOLT), XTO_MASK, PWRCOM, {RA, RB}},
7379 -{"twle", XTO(31,4,TOLE), XTO_MASK, PPCCOM, {RA, RB}},
7380 -{"tle", XTO(31,4,TOLE), XTO_MASK, PWRCOM, {RA, RB}},
7381 -{"twng", XTO(31,4,TONG), XTO_MASK, PPCCOM, {RA, RB}},
7382 -{"tng", XTO(31,4,TONG), XTO_MASK, PWRCOM, {RA, RB}},
7383 -{"twne", XTO(31,4,TONE), XTO_MASK, PPCCOM, {RA, RB}},
7384 -{"tne", XTO(31,4,TONE), XTO_MASK, PWRCOM, {RA, RB}},
7385 -{"trap", XTO(31,4,TOU), 0xffffffff, PPCCOM, {0}},
7386 -{"tw", X(31,4), X_MASK, PPCCOM, {TO, RA, RB}},
7387 -{"t", X(31,4), X_MASK, PWRCOM, {TO, RA, RB}},
7388 -
7389 -{"lvsl", X(31,6), X_MASK, PPCVEC, {VD, RA, RB}},
7390 -{"lvebx", X(31,7), X_MASK, PPCVEC, {VD, RA, RB}},
7391 -{"lbfcmx", APU(31,7,0), APU_MASK, PPC405, {FCRT, RA, RB}},
7392 -
7393 -{"subfc", XO(31,8,0,0), XO_MASK, PPCCOM, {RT, RA, RB}},
7394 -{"sf", XO(31,8,0,0), XO_MASK, PWRCOM, {RT, RA, RB}},
7395 -{"subc", XO(31,8,0,0), XO_MASK, PPC, {RT, RB, RA}},
7396 -{"subfc.", XO(31,8,0,1), XO_MASK, PPCCOM, {RT, RA, RB}},
7397 -{"sf.", XO(31,8,0,1), XO_MASK, PWRCOM, {RT, RA, RB}},
7398 -{"subc.", XO(31,8,0,1), XO_MASK, PPCCOM, {RT, RB, RA}},
7399 -
7400 -{"mulhdu", XO(31,9,0,0), XO_MASK, PPC64, {RT, RA, RB}},
7401 -{"mulhdu.", XO(31,9,0,1), XO_MASK, PPC64, {RT, RA, RB}},
7402 -
7403 -{"addc", XO(31,10,0,0), XO_MASK, PPCCOM, {RT, RA, RB}},
7404 -{"a", XO(31,10,0,0), XO_MASK, PWRCOM, {RT, RA, RB}},
7405 -{"addc.", XO(31,10,0,1), XO_MASK, PPCCOM, {RT, RA, RB}},
7406 -{"a.", XO(31,10,0,1), XO_MASK, PWRCOM, {RT, RA, RB}},
7407 -
7408 -{"mulhwu", XO(31,11,0,0), XO_MASK, PPC, {RT, RA, RB}},
7409 -{"mulhwu.", XO(31,11,0,1), XO_MASK, PPC, {RT, RA, RB}},
7410 -
7411 -{"isellt", X(31,15), X_MASK, PPCISEL, {RT, RA, RB}},
7412 -
7413 -{"mfcr", XFXM(31,19,0,0), XRARB_MASK, NOPOWER4|COM, {RT}},
7414 -{"mfcr", XFXM(31,19,0,0), XFXFXM_MASK, POWER4, {RT, FXM4}},
7415 -{"mfocrf", XFXM(31,19,0,1), XFXFXM_MASK, COM, {RT, FXM}},
7416 -
7417 -{"lwarx", X(31,20), XEH_MASK, PPC, {RT, RA0, RB, EH}},
7418 -
7419 -{"ldx", X(31,21), X_MASK, PPC64, {RT, RA0, RB}},
7420 -
7421 -{"icbt", X(31,22), X_MASK, BOOKE|PPCE300, {CT, RA, RB}},
7422 -
7423 -{"lwzx", X(31,23), X_MASK, PPCCOM, {RT, RA0, RB}},
7424 -{"lx", X(31,23), X_MASK, PWRCOM, {RT, RA, RB}},
7425 -
7426 -{"slw", XRC(31,24,0), X_MASK, PPCCOM, {RA, RS, RB}},
7427 -{"sl", XRC(31,24,0), X_MASK, PWRCOM, {RA, RS, RB}},
7428 -{"slw.", XRC(31,24,1), X_MASK, PPCCOM, {RA, RS, RB}},
7429 -{"sl.", XRC(31,24,1), X_MASK, PWRCOM, {RA, RS, RB}},
7430 -
7431 -{"cntlzw", XRC(31,26,0), XRB_MASK, PPCCOM, {RA, RS}},
7432 -{"cntlz", XRC(31,26,0), XRB_MASK, PWRCOM, {RA, RS}},
7433 -{"cntlzw.", XRC(31,26,1), XRB_MASK, PPCCOM, {RA, RS}},
7434 -{"cntlz.", XRC(31,26,1), XRB_MASK, PWRCOM, {RA, RS}},
7435 -
7436 -{"sld", XRC(31,27,0), X_MASK, PPC64, {RA, RS, RB}},
7437 -{"sld.", XRC(31,27,1), X_MASK, PPC64, {RA, RS, RB}},
7438 -
7439 -{"and", XRC(31,28,0), X_MASK, COM, {RA, RS, RB}},
7440 -{"and.", XRC(31,28,1), X_MASK, COM, {RA, RS, RB}},
7441 -
7442 -{"maskg", XRC(31,29,0), X_MASK, M601, {RA, RS, RB}},
7443 -{"maskg.", XRC(31,29,1), X_MASK, M601, {RA, RS, RB}},
7444 -
7445 -{"ldepx", X(31,29), X_MASK, E500MC, {RT, RA, RB}},
7446 -
7447 -{"icbte", X(31,30), X_MASK, BOOKE64, {CT, RA, RB}},
7448 -
7449 -{"lwzxe", X(31,31), X_MASK, BOOKE64, {RT, RA0, RB}},
7450 -{"lwepx", X(31,31), X_MASK, E500MC, {RT, RA, RB}},
7451 -
7452 -{"cmplw", XOPL(31,32,0), XCMPL_MASK, PPCCOM, {OBF, RA, RB}},
7453 -{"cmpld", XOPL(31,32,1), XCMPL_MASK, PPC64, {OBF, RA, RB}},
7454 -{"cmpl", X(31,32), XCMP_MASK, PPC, {BF, L, RA, RB}},
7455 -{"cmpl", X(31,32), XCMPL_MASK, PWRCOM, {BF, RA, RB}},
7456 -
7457 -{"lvsr", X(31,38), X_MASK, PPCVEC, {VD, RA, RB}},
7458 -{"lvehx", X(31,39), X_MASK, PPCVEC, {VD, RA, RB}},
7459 -{"lhfcmx", APU(31,39,0), APU_MASK, PPC405, {FCRT, RA, RB}},
7460 -
7461 -{"iselgt", X(31,47), X_MASK, PPCISEL, {RT, RA, RB}},
7462 -
7463 -{"lvewx", X(31,71), X_MASK, PPCVEC, {VD, RA, RB}},
7464 -
7465 -{"iseleq", X(31,79), X_MASK, PPCISEL, {RT, RA, RB}},
7466 -
7467 -{"isel", XISEL(31,15), XISEL_MASK, PPCISEL, {RT, RA, RB, CRB}},
7468 -
7469 -{"subf", XO(31,40,0,0), XO_MASK, PPC, {RT, RA, RB}},
7470 -{"sub", XO(31,40,0,0), XO_MASK, PPC, {RT, RB, RA}},
7471 -{"subf.", XO(31,40,0,1), XO_MASK, PPC, {RT, RA, RB}},
7472 -{"sub.", XO(31,40,0,1), XO_MASK, PPC, {RT, RB, RA}},
7473 -
7474 -{"ldux", X(31,53), X_MASK, PPC64, {RT, RAL, RB}},
7475 -
7476 -{"dcbst", X(31,54), XRT_MASK, PPC, {RA, RB}},
7477 -
7478 -{"lwzux", X(31,55), X_MASK, PPCCOM, {RT, RAL, RB}},
7479 -{"lux", X(31,55), X_MASK, PWRCOM, {RT, RA, RB}},
7480 -
7481 -{"cntlzd", XRC(31,58,0), XRB_MASK, PPC64, {RA, RS}},
7482 -{"cntlzd.", XRC(31,58,1), XRB_MASK, PPC64, {RA, RS}},
7483 -
7484 -{"andc", XRC(31,60,0), X_MASK, COM, {RA, RS, RB}},
7485 -{"andc.", XRC(31,60,1), X_MASK, COM, {RA, RS, RB}},
7486 -
7487 -{"dcbste", X(31,62), XRT_MASK, BOOKE64, {RA, RB}},
7488 -
7489 -{"wait", X(31,62), 0xffffffff, E500MC, {0}},
7490 -
7491 -{"lwzuxe", X(31,63), X_MASK, BOOKE64, {RT, RAL, RB}},
7492 -
7493 -{"dcbstep", XRT(31,63,0), XRT_MASK, E500MC, {RA, RB}},
7494 -
7495 -{"tdlgt", XTO(31,68,TOLGT), XTO_MASK, PPC64, {RA, RB}},
7496 -{"tdllt", XTO(31,68,TOLLT), XTO_MASK, PPC64, {RA, RB}},
7497 -{"tdeq", XTO(31,68,TOEQ), XTO_MASK, PPC64, {RA, RB}},
7498 -{"tdlge", XTO(31,68,TOLGE), XTO_MASK, PPC64, {RA, RB}},
7499 -{"tdlnl", XTO(31,68,TOLNL), XTO_MASK, PPC64, {RA, RB}},
7500 -{"tdlle", XTO(31,68,TOLLE), XTO_MASK, PPC64, {RA, RB}},
7501 -{"tdlng", XTO(31,68,TOLNG), XTO_MASK, PPC64, {RA, RB}},
7502 -{"tdgt", XTO(31,68,TOGT), XTO_MASK, PPC64, {RA, RB}},
7503 -{"tdge", XTO(31,68,TOGE), XTO_MASK, PPC64, {RA, RB}},
7504 -{"tdnl", XTO(31,68,TONL), XTO_MASK, PPC64, {RA, RB}},
7505 -{"tdlt", XTO(31,68,TOLT), XTO_MASK, PPC64, {RA, RB}},
7506 -{"tdle", XTO(31,68,TOLE), XTO_MASK, PPC64, {RA, RB}},
7507 -{"tdng", XTO(31,68,TONG), XTO_MASK, PPC64, {RA, RB}},
7508 -{"tdne", XTO(31,68,TONE), XTO_MASK, PPC64, {RA, RB}},
7509 -{"td", X(31,68), X_MASK, PPC64, {TO, RA, RB}},
7510 -
7511 -{"lwfcmx", APU(31,71,0), APU_MASK, PPC405, {FCRT, RA, RB}},
7512 -{"mulhd", XO(31,73,0,0), XO_MASK, PPC64, {RT, RA, RB}},
7513 -{"mulhd.", XO(31,73,0,1), XO_MASK, PPC64, {RT, RA, RB}},
7514 -
7515 -{"mulhw", XO(31,75,0,0), XO_MASK, PPC, {RT, RA, RB}},
7516 -{"mulhw.", XO(31,75,0,1), XO_MASK, PPC, {RT, RA, RB}},
7517 -
7518 -{"dlmzb", XRC(31,78,0), X_MASK, PPC403|PPC440, {RA, RS, RB}},
7519 -{"dlmzb.", XRC(31,78,1), X_MASK, PPC403|PPC440, {RA, RS, RB}},
7520 -
7521 -{"mtsrd", X(31,82), XRB_MASK|(1<<20), PPC64, {SR, RS}},
7522 -
7523 -{"mfmsr", X(31,83), XRARB_MASK, COM, {RT}},
7524 -
7525 -{"ldarx", X(31,84), XEH_MASK, PPC64, {RT, RA0, RB, EH}},
7526 -
7527 -{"dcbfl", XOPL(31,86,1), XRT_MASK, POWER5, {RA, RB}},
7528 -{"dcbf", X(31,86), XLRT_MASK, PPC, {RA, RB, L}},
7529 -
7530 -{"lbzx", X(31,87), X_MASK, COM, {RT, RA0, RB}},
7531 -
7532 -{"dcbfe", X(31,94), XRT_MASK, BOOKE64, {RA, RB}},
7533 -
7534 -{"lbzxe", X(31,95), X_MASK, BOOKE64, {RT, RA0, RB}},
7535 -{"lbepx", X(31,95), X_MASK, E500MC, {RT, RA, RB}},
7536 -
7537 -{"lvx", X(31,103), X_MASK, PPCVEC, {VD, RA, RB}},
7538 -{"lqfcmx", APU(31,103,0), APU_MASK, PPC405, {FCRT, RA, RB}},
7539 -
7540 -{"neg", XO(31,104,0,0), XORB_MASK, COM, {RT, RA}},
7541 -{"neg.", XO(31,104,0,1), XORB_MASK, COM, {RT, RA}},
7542 -
7543 -{"mul", XO(31,107,0,0), XO_MASK, M601, {RT, RA, RB}},
7544 -{"mul.", XO(31,107,0,1), XO_MASK, M601, {RT, RA, RB}},
7545 -
7546 -{"mtsrdin", X(31,114), XRA_MASK, PPC64, {RS, RB}},
7547 -
7548 -{"clf", X(31,118), XTO_MASK, POWER, {RA, RB}},
7549 -
7550 -{"lbzux", X(31,119), X_MASK, COM, {RT, RAL, RB}},
7551 -
7552 -{"popcntb", X(31,122), XRB_MASK, POWER5, {RA, RS}},
7553 -
7554 -{"not", XRC(31,124,0), X_MASK, COM, {RA, RS, RBS}},
7555 -{"nor", XRC(31,124,0), X_MASK, COM, {RA, RS, RB}},
7556 -{"not.", XRC(31,124,1), X_MASK, COM, {RA, RS, RBS}},
7557 -{"nor.", XRC(31,124,1), X_MASK, COM, {RA, RS, RB}},
7558 -
7559 -{"lwarxe", X(31,126), X_MASK, BOOKE64, {RT, RA0, RB}},
7560 -
7561 -{"lbzuxe", X(31,127), X_MASK, BOOKE64, {RT, RAL, RB}},
7562 -
7563 -{"dcbfep", XRT(31,127,0), XRT_MASK, E500MC, {RA, RB}},
7564 -
7565 -{"wrtee", X(31,131), XRARB_MASK, PPC403|BOOKE, {RS}},
7566 -
7567 -{"dcbtstls", X(31,134), X_MASK, PPCCHLK, {CT, RA, RB}},
7568 -
7569 -{"stvebx", X(31,135), X_MASK, PPCVEC, {VS, RA, RB}},
7570 -{"stbfcmx", APU(31,135,0), APU_MASK, PPC405, {FCRT, RA, RB}},
7571 -
7572 -{"subfe", XO(31,136,0,0), XO_MASK, PPCCOM, {RT, RA, RB}},
7573 -{"sfe", XO(31,136,0,0), XO_MASK, PWRCOM, {RT, RA, RB}},
7574 -{"subfe.", XO(31,136,0,1), XO_MASK, PPCCOM, {RT, RA, RB}},
7575 -{"sfe.", XO(31,136,0,1), XO_MASK, PWRCOM, {RT, RA, RB}},
7576 -
7577 -{"adde", XO(31,138,0,0), XO_MASK, PPCCOM, {RT, RA, RB}},
7578 -{"ae", XO(31,138,0,0), XO_MASK, PWRCOM, {RT, RA, RB}},
7579 -{"adde.", XO(31,138,0,1), XO_MASK, PPCCOM, {RT, RA, RB}},
7580 -{"ae.", XO(31,138,0,1), XO_MASK, PWRCOM, {RT, RA, RB}},
7581 -
7582 -{"dcbtstlse", X(31,142), X_MASK, PPCCHLK64, {CT, RA, RB}},
7583 -
7584 -{"mtcr", XFXM(31,144,0xff,0), XRARB_MASK, COM, {RS}},
7585 -{"mtcrf", XFXM(31,144,0,0), XFXFXM_MASK, COM, {FXM, RS}},
7586 -{"mtocrf", XFXM(31,144,0,1), XFXFXM_MASK, COM, {FXM, RS}},
7587 -
7588 -{"mtmsr", X(31,146), XRLARB_MASK, COM, {RS, A_L}},
7589 -
7590 -{"stdx", X(31,149), X_MASK, PPC64, {RS, RA0, RB}},
7591 -
7592 -{"stwcx.", XRC(31,150,1), X_MASK, PPC, {RS, RA0, RB}},
7593 -
7594 -{"stwx", X(31,151), X_MASK, PPCCOM, {RS, RA0, RB}},
7595 -{"stx", X(31,151), X_MASK, PWRCOM, {RS, RA, RB}},
7596 -
7597 -{"slq", XRC(31,152,0), X_MASK, M601, {RA, RS, RB}},
7598 -{"slq.", XRC(31,152,1), X_MASK, M601, {RA, RS, RB}},
7599 -
7600 -{"sle", XRC(31,153,0), X_MASK, M601, {RA, RS, RB}},
7601 -{"sle.", XRC(31,153,1), X_MASK, M601, {RA, RS, RB}},
7602 -
7603 -{"prtyw", X(31,154), XRB_MASK, POWER6, {RA, RS}},
7604 -
7605 -{"stdepx", X(31,157), X_MASK, E500MC, {RS, RA, RB}},
7606 -
7607 -{"stwcxe.", XRC(31,158,1), X_MASK, BOOKE64, {RS, RA0, RB}},
7608 -
7609 -{"stwxe", X(31,159), X_MASK, BOOKE64, {RS, RA0, RB}},
7610 -{"stwepx", X(31,159), X_MASK, E500MC, {RS, RA, RB}},
7611 -
7612 -{"wrteei", X(31,163), XE_MASK, PPC403|BOOKE, {E}},
7613 -
7614 -{"dcbtls", X(31,166), X_MASK, PPCCHLK, {CT, RA, RB}},
7615 -
7616 -{"stvehx", X(31,167), X_MASK, PPCVEC, {VS, RA, RB}},
7617 -{"sthfcmx", APU(31,167,0), APU_MASK, PPC405, {FCRT, RA, RB}},
7618 -
7619 -{"dcbtlse", X(31,174), X_MASK, PPCCHLK64, {CT, RA, RB}},
7620 -
7621 -{"mtmsrd", X(31,178), XRLARB_MASK, PPC64, {RS, A_L}},
7622 -
7623 -{"stdux", X(31,181), X_MASK, PPC64, {RS, RAS, RB}},
7624 -
7625 -{"stwux", X(31,183), X_MASK, PPCCOM, {RS, RAS, RB}},
7626 -{"stux", X(31,183), X_MASK, PWRCOM, {RS, RA0, RB}},
7627 -
7628 -{"sliq", XRC(31,184,0), X_MASK, M601, {RA, RS, SH}},
7629 -{"sliq.", XRC(31,184,1), X_MASK, M601, {RA, RS, SH}},
7630 -
7631 -{"prtyd", X(31,186), XRB_MASK, POWER6, {RA, RS}},
7632 -
7633 -{"stwuxe", X(31,191), X_MASK, BOOKE64, {RS, RAS, RB}},
7634 -
7635 -{"stvewx", X(31,199), X_MASK, PPCVEC, {VS, RA, RB}},
7636 -{"stwfcmx", APU(31,199,0), APU_MASK, PPC405, {FCRT, RA, RB}},
7637 -
7638 -{"subfze", XO(31,200,0,0), XORB_MASK, PPCCOM, {RT, RA}},
7639 -{"sfze", XO(31,200,0,0), XORB_MASK, PWRCOM, {RT, RA}},
7640 -{"subfze.", XO(31,200,0,1), XORB_MASK, PPCCOM, {RT, RA}},
7641 -{"sfze.", XO(31,200,0,1), XORB_MASK, PWRCOM, {RT, RA}},
7642 -
7643 -{"addze", XO(31,202,0,0), XORB_MASK, PPCCOM, {RT, RA}},
7644 -{"aze", XO(31,202,0,0), XORB_MASK, PWRCOM, {RT, RA}},
7645 -{"addze.", XO(31,202,0,1), XORB_MASK, PPCCOM, {RT, RA}},
7646 -{"aze.", XO(31,202,0,1), XORB_MASK, PWRCOM, {RT, RA}},
7647 -
7648 -{"msgsnd", XRTRA(31,206,0,0),XRTRA_MASK,E500MC, {RB}},
7649 -
7650 -{"mtsr", X(31,210), XRB_MASK|(1<<20), COM32, {SR, RS}},
7651 -
7652 -{"stdcx.", XRC(31,214,1), X_MASK, PPC64, {RS, RA0, RB}},
7653 -
7654 -{"stbx", X(31,215), X_MASK, COM, {RS, RA0, RB}},
7655 -
7656 -{"sllq", XRC(31,216,0), X_MASK, M601, {RA, RS, RB}},
7657 -{"sllq.", XRC(31,216,1), X_MASK, M601, {RA, RS, RB}},
7658 -
7659 -{"sleq", XRC(31,217,0), X_MASK, M601, {RA, RS, RB}},
7660 -{"sleq.", XRC(31,217,1), X_MASK, M601, {RA, RS, RB}},
7661 -
7662 -{"stbxe", X(31,223), X_MASK, BOOKE64, {RS, RA0, RB}},
7663 -{"stbepx", X(31,223), X_MASK, E500MC, {RS, RA, RB}},
7664 -
7665 -{"icblc", X(31,230), X_MASK, PPCCHLK, {CT, RA, RB}},
7666 -
7667 -{"stvx", X(31,231), X_MASK, PPCVEC, {VS, RA, RB}},
7668 -{"stqfcmx", APU(31,231,0), APU_MASK, PPC405, {FCRT, RA, RB}},
7669 -
7670 -{"subfme", XO(31,232,0,0), XORB_MASK, PPCCOM, {RT, RA}},
7671 -{"sfme", XO(31,232,0,0), XORB_MASK, PWRCOM, {RT, RA}},
7672 -{"subfme.", XO(31,232,0,1), XORB_MASK, PPCCOM, {RT, RA}},
7673 -{"sfme.", XO(31,232,0,1), XORB_MASK, PWRCOM, {RT, RA}},
7674 -
7675 -{"mulld", XO(31,233,0,0), XO_MASK, PPC64, {RT, RA, RB}},
7676 -{"mulld.", XO(31,233,0,1), XO_MASK, PPC64, {RT, RA, RB}},
7677 -
7678 -{"addme", XO(31,234,0,0), XORB_MASK, PPCCOM, {RT, RA}},
7679 -{"ame", XO(31,234,0,0), XORB_MASK, PWRCOM, {RT, RA}},
7680 -{"addme.", XO(31,234,0,1), XORB_MASK, PPCCOM, {RT, RA}},
7681 -{"ame.", XO(31,234,0,1), XORB_MASK, PWRCOM, {RT, RA}},
7682 -
7683 -{"mullw", XO(31,235,0,0), XO_MASK, PPCCOM, {RT, RA, RB}},
7684 -{"muls", XO(31,235,0,0), XO_MASK, PWRCOM, {RT, RA, RB}},
7685 -{"mullw.", XO(31,235,0,1), XO_MASK, PPCCOM, {RT, RA, RB}},
7686 -{"muls.", XO(31,235,0,1), XO_MASK, PWRCOM, {RT, RA, RB}},
7687 -
7688 -{"msgclr", XRTRA(31,238,0,0),XRTRA_MASK,E500MC, {RB}},
7689 -{"icblce", X(31,238), X_MASK, PPCCHLK64, {CT, RA, RB}},
7690 -{"mtsrin", X(31,242), XRA_MASK, PPC32, {RS, RB}},
7691 -{"mtsri", X(31,242), XRA_MASK, POWER32, {RS, RB}},
7692 -
7693 -{"dcbtst", X(31,246), X_MASK, PPC, {CT, RA, RB}},
7694 -
7695 -{"stbux", X(31,247), X_MASK, COM, {RS, RAS, RB}},
7696 -
7697 -{"slliq", XRC(31,248,0), X_MASK, M601, {RA, RS, SH}},
7698 -{"slliq.", XRC(31,248,1), X_MASK, M601, {RA, RS, SH}},
7699 -
7700 -{"dcbtste", X(31,253), X_MASK, BOOKE64, {CT, RA, RB}},
7701 -
7702 -{"stbuxe", X(31,255), X_MASK, BOOKE64, {RS, RAS, RB}},
7703 -
7704 -{"dcbtstep", XRT(31,255,0), X_MASK, E500MC, {RT, RA, RB}},
7705 -
7706 -{"mfdcrx", X(31,259), X_MASK, BOOKE, {RS, RA}},
7707 -
7708 -{"icbt", X(31,262), XRT_MASK, PPC403, {RA, RB}},
7709 -
7710 -{"ldfcmx", APU(31,263,0), APU_MASK, PPC405, {FCRT, RA, RB}},
7711 -{"doz", XO(31,264,0,0), XO_MASK, M601, {RT, RA, RB}},
7712 -{"doz.", XO(31,264,0,1), XO_MASK, M601, {RT, RA, RB}},
7713 -
7714 -{"add", XO(31,266,0,0), XO_MASK, PPCCOM, {RT, RA, RB}},
7715 -{"cax", XO(31,266,0,0), XO_MASK, PWRCOM, {RT, RA, RB}},
7716 -{"add.", XO(31,266,0,1), XO_MASK, PPCCOM, {RT, RA, RB}},
7717 -{"cax.", XO(31,266,0,1), XO_MASK, PWRCOM, {RT, RA, RB}},
7718 -
7719 -{"ehpriv", X(31,270), 0xffffffff, E500MC, {0}},
7720 -
7721 -{"tlbiel", X(31,274), XRTLRA_MASK, POWER4, {RB, L}},
7722 -
7723 -{"mfapidi", X(31,275), X_MASK, BOOKE, {RT, RA}},
7724 -
7725 -{"lscbx", XRC(31,277,0), X_MASK, M601, {RT, RA, RB}},
7726 -{"lscbx.", XRC(31,277,1), X_MASK, M601, {RT, RA, RB}},
7727 -
7728 -{"dcbt", X(31,278), X_MASK, PPC, {CT, RA, RB}},
7729 -
7730 -{"lhzx", X(31,279), X_MASK, COM, {RT, RA0, RB}},
7731 -
7732 -{"eqv", XRC(31,284,0), X_MASK, COM, {RA, RS, RB}},
7733 -{"eqv.", XRC(31,284,1), X_MASK, COM, {RA, RS, RB}},
7734 -
7735 -{"dcbte", X(31,286), X_MASK, BOOKE64, {CT, RA, RB}},
7736 -
7737 -{"lhzxe", X(31,287), X_MASK, BOOKE64, {RT, RA0, RB}},
7738 -{"lhepx", X(31,287), X_MASK, E500MC, {RT, RA, RB}},
7739 -
7740 -{"mfdcrux", X(31,291), X_MASK, PPC464, {RS, RA}},
7741 -
7742 -{"tlbie", X(31,306), XRTLRA_MASK, PPC, {RB, L}},
7743 -{"tlbi", X(31,306), XRT_MASK, POWER, {RA0, RB}},
7744 -
7745 -{"eciwx", X(31,310), X_MASK, PPC, {RT, RA, RB}},
7746 -
7747 -{"lhzux", X(31,311), X_MASK, COM, {RT, RAL, RB}},
7748 -
7749 -{"xor", XRC(31,316,0), X_MASK, COM, {RA, RS, RB}},
7750 -{"xor.", XRC(31,316,1), X_MASK, COM, {RA, RS, RB}},
7751 -
7752 -{"lhzuxe", X(31,319), X_MASK, BOOKE64, {RT, RAL, RB}},
7753 -
7754 -{"dcbtep", XRT(31,319,0), X_MASK, E500MC, {RT, RA, RB}},
7755 -
7756 -{"mfexisr", XSPR(31,323, 64), XSPR_MASK, PPC403, {RT}},
7757 -{"mfexier", XSPR(31,323, 66), XSPR_MASK, PPC403, {RT}},
7758 -{"mfbr0", XSPR(31,323,128), XSPR_MASK, PPC403, {RT}},
7759 -{"mfbr1", XSPR(31,323,129), XSPR_MASK, PPC403, {RT}},
7760 -{"mfbr2", XSPR(31,323,130), XSPR_MASK, PPC403, {RT}},
7761 -{"mfbr3", XSPR(31,323,131), XSPR_MASK, PPC403, {RT}},
7762 -{"mfbr4", XSPR(31,323,132), XSPR_MASK, PPC403, {RT}},
7763 -{"mfbr5", XSPR(31,323,133), XSPR_MASK, PPC403, {RT}},
7764 -{"mfbr6", XSPR(31,323,134), XSPR_MASK, PPC403, {RT}},
7765 -{"mfbr7", XSPR(31,323,135), XSPR_MASK, PPC403, {RT}},
7766 -{"mfbear", XSPR(31,323,144), XSPR_MASK, PPC403, {RT}},
7767 -{"mfbesr", XSPR(31,323,145), XSPR_MASK, PPC403, {RT}},
7768 -{"mfiocr", XSPR(31,323,160), XSPR_MASK, PPC403, {RT}},
7769 -{"mfdmacr0", XSPR(31,323,192), XSPR_MASK, PPC403, {RT}},
7770 -{"mfdmact0", XSPR(31,323,193), XSPR_MASK, PPC403, {RT}},
7771 -{"mfdmada0", XSPR(31,323,194), XSPR_MASK, PPC403, {RT}},
7772 -{"mfdmasa0", XSPR(31,323,195), XSPR_MASK, PPC403, {RT}},
7773 -{"mfdmacc0", XSPR(31,323,196), XSPR_MASK, PPC403, {RT}},
7774 -{"mfdmacr1", XSPR(31,323,200), XSPR_MASK, PPC403, {RT}},
7775 -{"mfdmact1", XSPR(31,323,201), XSPR_MASK, PPC403, {RT}},
7776 -{"mfdmada1", XSPR(31,323,202), XSPR_MASK, PPC403, {RT}},
7777 -{"mfdmasa1", XSPR(31,323,203), XSPR_MASK, PPC403, {RT}},
7778 -{"mfdmacc1", XSPR(31,323,204), XSPR_MASK, PPC403, {RT}},
7779 -{"mfdmacr2", XSPR(31,323,208), XSPR_MASK, PPC403, {RT}},
7780 -{"mfdmact2", XSPR(31,323,209), XSPR_MASK, PPC403, {RT}},
7781 -{"mfdmada2", XSPR(31,323,210), XSPR_MASK, PPC403, {RT}},
7782 -{"mfdmasa2", XSPR(31,323,211), XSPR_MASK, PPC403, {RT}},
7783 -{"mfdmacc2", XSPR(31,323,212), XSPR_MASK, PPC403, {RT}},
7784 -{"mfdmacr3", XSPR(31,323,216), XSPR_MASK, PPC403, {RT}},
7785 -{"mfdmact3", XSPR(31,323,217), XSPR_MASK, PPC403, {RT}},
7786 -{"mfdmada3", XSPR(31,323,218), XSPR_MASK, PPC403, {RT}},
7787 -{"mfdmasa3", XSPR(31,323,219), XSPR_MASK, PPC403, {RT}},
7788 -{"mfdmacc3", XSPR(31,323,220), XSPR_MASK, PPC403, {RT}},
7789 -{"mfdmasr", XSPR(31,323,224), XSPR_MASK, PPC403, {RT}},
7790 -{"mfdcr", X(31,323), X_MASK, PPC403|BOOKE, {RT, SPR}},
7791 -
7792 -{"div", XO(31,331,0,0), XO_MASK, M601, {RT, RA, RB}},
7793 -{"div.", XO(31,331,0,1), XO_MASK, M601, {RT, RA, RB}},
7794 -
7795 -{"mfpmr", X(31,334), X_MASK, PPCPMR|PPCE300, {RT, PMR}},
7796 -
7797 -{"mfmq", XSPR(31,339, 0), XSPR_MASK, M601, {RT}},
7798 -{"mfxer", XSPR(31,339, 1), XSPR_MASK, COM, {RT}},
7799 -{"mfrtcu", XSPR(31,339, 4), XSPR_MASK, COM, {RT}},
7800 -{"mfrtcl", XSPR(31,339, 5), XSPR_MASK, COM, {RT}},
7801 -{"mfdec", XSPR(31,339, 6), XSPR_MASK, MFDEC1, {RT}},
7802 -{"mflr", XSPR(31,339, 8), XSPR_MASK, COM, {RT}},
7803 -{"mfctr", XSPR(31,339, 9), XSPR_MASK, COM, {RT}},
7804 -{"mftid", XSPR(31,339, 17), XSPR_MASK, POWER, {RT}},
7805 -{"mfdsisr", XSPR(31,339, 18), XSPR_MASK, COM, {RT}},
7806 -{"mfdar", XSPR(31,339, 19), XSPR_MASK, COM, {RT}},
7807 -{"mfdec", XSPR(31,339, 22), XSPR_MASK, MFDEC2, {RT}},
7808 -{"mfsdr0", XSPR(31,339, 24), XSPR_MASK, POWER, {RT}},
7809 -{"mfsdr1", XSPR(31,339, 25), XSPR_MASK, COM, {RT}},
7810 -{"mfsrr0", XSPR(31,339, 26), XSPR_MASK, COM, {RT}},
7811 -{"mfsrr1", XSPR(31,339, 27), XSPR_MASK, COM, {RT}},
7812 -{"mfcfar", XSPR(31,339, 28), XSPR_MASK, POWER6, {RT}},
7813 -{"mfpid", XSPR(31,339, 48), XSPR_MASK, BOOKE, {RT}},
7814 -{"mfcsrr0", XSPR(31,339, 58), XSPR_MASK, BOOKE, {RT}},
7815 -{"mfcsrr1", XSPR(31,339, 59), XSPR_MASK, BOOKE, {RT}},
7816 -{"mfdear", XSPR(31,339, 61), XSPR_MASK, BOOKE, {RT}},
7817 -{"mfesr", XSPR(31,339, 62), XSPR_MASK, BOOKE, {RT}},
7818 -{"mfivpr", XSPR(31,339, 63), XSPR_MASK, BOOKE, {RT}},
7819 -{"mfcmpa", XSPR(31,339,144), XSPR_MASK, PPC860, {RT}},
7820 -{"mfcmpb", XSPR(31,339,145), XSPR_MASK, PPC860, {RT}},
7821 -{"mfcmpc", XSPR(31,339,146), XSPR_MASK, PPC860, {RT}},
7822 -{"mfcmpd", XSPR(31,339,147), XSPR_MASK, PPC860, {RT}},
7823 -{"mficr", XSPR(31,339,148), XSPR_MASK, PPC860, {RT}},
7824 -{"mfder", XSPR(31,339,149), XSPR_MASK, PPC860, {RT}},
7825 -{"mfcounta", XSPR(31,339,150), XSPR_MASK, PPC860, {RT}},
7826 -{"mfcountb", XSPR(31,339,151), XSPR_MASK, PPC860, {RT}},
7827 -{"mfcmpe", XSPR(31,339,152), XSPR_MASK, PPC860, {RT}},
7828 -{"mfcmpf", XSPR(31,339,153), XSPR_MASK, PPC860, {RT}},
7829 -{"mfcmpg", XSPR(31,339,154), XSPR_MASK, PPC860, {RT}},
7830 -{"mfcmph", XSPR(31,339,155), XSPR_MASK, PPC860, {RT}},
7831 -{"mflctrl1", XSPR(31,339,156), XSPR_MASK, PPC860, {RT}},
7832 -{"mflctrl2", XSPR(31,339,157), XSPR_MASK, PPC860, {RT}},
7833 -{"mfictrl", XSPR(31,339,158), XSPR_MASK, PPC860, {RT}},
7834 -{"mfbar", XSPR(31,339,159), XSPR_MASK, PPC860, {RT}},
7835 -{"mfvrsave", XSPR(31,339,256), XSPR_MASK, PPCVEC, {RT}},
7836 -{"mfusprg0", XSPR(31,339,256), XSPR_MASK, BOOKE, {RT}},
7837 -{"mfsprg", XSPR(31,339,256), XSPRG_MASK, PPC, {RT, SPRG}},
7838 -{"mfsprg4", XSPR(31,339,260), XSPR_MASK, PPC405|BOOKE, {RT}},
7839 -{"mfsprg5", XSPR(31,339,261), XSPR_MASK, PPC405|BOOKE, {RT}},
7840 -{"mfsprg6", XSPR(31,339,262), XSPR_MASK, PPC405|BOOKE, {RT}},
7841 -{"mfsprg7", XSPR(31,339,263), XSPR_MASK, PPC405|BOOKE, {RT}},
7842 -{"mftb", XSPR(31,339,268), XSPR_MASK, BOOKE, {RT}},
7843 -{"mftbl", XSPR(31,339,268), XSPR_MASK, BOOKE, {RT}},
7844 -{"mftbu", XSPR(31,339,269), XSPR_MASK, BOOKE, {RT}},
7845 -{"mfsprg0", XSPR(31,339,272), XSPR_MASK, PPC, {RT}},
7846 -{"mfsprg1", XSPR(31,339,273), XSPR_MASK, PPC, {RT}},
7847 -{"mfsprg2", XSPR(31,339,274), XSPR_MASK, PPC, {RT}},
7848 -{"mfsprg3", XSPR(31,339,275), XSPR_MASK, PPC, {RT}},
7849 -{"mfasr", XSPR(31,339,280), XSPR_MASK, PPC64, {RT}},
7850 -{"mfear", XSPR(31,339,282), XSPR_MASK, PPC, {RT}},
7851 -{"mfpir", XSPR(31,339,286), XSPR_MASK, BOOKE, {RT}},
7852 -{"mfpvr", XSPR(31,339,287), XSPR_MASK, PPC, {RT}},
7853 -{"mfdbsr", XSPR(31,339,304), XSPR_MASK, BOOKE, {RT}},
7854 -{"mfdbcr0", XSPR(31,339,308), XSPR_MASK, BOOKE, {RT}},
7855 -{"mfdbcr1", XSPR(31,339,309), XSPR_MASK, BOOKE, {RT}},
7856 -{"mfdbcr2", XSPR(31,339,310), XSPR_MASK, BOOKE, {RT}},
7857 -{"mfiac1", XSPR(31,339,312), XSPR_MASK, BOOKE, {RT}},
7858 -{"mfiac2", XSPR(31,339,313), XSPR_MASK, BOOKE, {RT}},
7859 -{"mfiac3", XSPR(31,339,314), XSPR_MASK, BOOKE, {RT}},
7860 -{"mfiac4", XSPR(31,339,315), XSPR_MASK, BOOKE, {RT}},
7861 -{"mfdac1", XSPR(31,339,316), XSPR_MASK, BOOKE, {RT}},
7862 -{"mfdac2", XSPR(31,339,317), XSPR_MASK, BOOKE, {RT}},
7863 -{"mfdvc1", XSPR(31,339,318), XSPR_MASK, BOOKE, {RT}},
7864 -{"mfdvc2", XSPR(31,339,319), XSPR_MASK, BOOKE, {RT}},
7865 -{"mftsr", XSPR(31,339,336), XSPR_MASK, BOOKE, {RT}},
7866 -{"mftcr", XSPR(31,339,340), XSPR_MASK, BOOKE, {RT}},
7867 -{"mfivor0", XSPR(31,339,400), XSPR_MASK, BOOKE, {RT}},
7868 -{"mfivor1", XSPR(31,339,401), XSPR_MASK, BOOKE, {RT}},
7869 -{"mfivor2", XSPR(31,339,402), XSPR_MASK, BOOKE, {RT}},
7870 -{"mfivor3", XSPR(31,339,403), XSPR_MASK, BOOKE, {RT}},
7871 -{"mfivor4", XSPR(31,339,404), XSPR_MASK, BOOKE, {RT}},
7872 -{"mfivor5", XSPR(31,339,405), XSPR_MASK, BOOKE, {RT}},
7873 -{"mfivor6", XSPR(31,339,406), XSPR_MASK, BOOKE, {RT}},
7874 -{"mfivor7", XSPR(31,339,407), XSPR_MASK, BOOKE, {RT}},
7875 -{"mfivor8", XSPR(31,339,408), XSPR_MASK, BOOKE, {RT}},
7876 -{"mfivor9", XSPR(31,339,409), XSPR_MASK, BOOKE, {RT}},
7877 -{"mfivor10", XSPR(31,339,410), XSPR_MASK, BOOKE, {RT}},
7878 -{"mfivor11", XSPR(31,339,411), XSPR_MASK, BOOKE, {RT}},
7879 -{"mfivor12", XSPR(31,339,412), XSPR_MASK, BOOKE, {RT}},
7880 -{"mfivor13", XSPR(31,339,413), XSPR_MASK, BOOKE, {RT}},
7881 -{"mfivor14", XSPR(31,339,414), XSPR_MASK, BOOKE, {RT}},
7882 -{"mfivor15", XSPR(31,339,415), XSPR_MASK, BOOKE, {RT}},
7883 -{"mfspefscr", XSPR(31,339,512), XSPR_MASK, PPCSPE, {RT}},
7884 -{"mfbbear", XSPR(31,339,513), XSPR_MASK, PPCBRLK, {RT}},
7885 -{"mfbbtar", XSPR(31,339,514), XSPR_MASK, PPCBRLK, {RT}},
7886 -{"mfivor32", XSPR(31,339,528), XSPR_MASK, PPCSPE, {RT}},
7887 -{"mfibatu", XSPR(31,339,528), XSPRBAT_MASK, PPC, {RT, SPRBAT}},
7888 -{"mfivor33", XSPR(31,339,529), XSPR_MASK, PPCSPE, {RT}},
7889 -{"mfibatl", XSPR(31,339,529), XSPRBAT_MASK, PPC, {RT, SPRBAT}},
7890 -{"mfivor34", XSPR(31,339,530), XSPR_MASK, PPCSPE, {RT}},
7891 -{"mfivor35", XSPR(31,339,531), XSPR_MASK, PPCPMR, {RT}},
7892 -{"mfdbatu", XSPR(31,339,536), XSPRBAT_MASK, PPC, {RT, SPRBAT}},
7893 -{"mfdbatl", XSPR(31,339,537), XSPRBAT_MASK, PPC, {RT, SPRBAT}},
7894 -{"mfic_cst", XSPR(31,339,560), XSPR_MASK, PPC860, {RT}},
7895 -{"mfic_adr", XSPR(31,339,561), XSPR_MASK, PPC860, {RT}},
7896 -{"mfic_dat", XSPR(31,339,562), XSPR_MASK, PPC860, {RT}},
7897 -{"mfdc_cst", XSPR(31,339,568), XSPR_MASK, PPC860, {RT}},
7898 -{"mfdc_adr", XSPR(31,339,569), XSPR_MASK, PPC860, {RT}},
7899 -{"mfdc_dat", XSPR(31,339,570), XSPR_MASK, PPC860, {RT}},
7900 -{"mfmcsrr0", XSPR(31,339,570), XSPR_MASK, PPCRFMCI, {RT}},
7901 -{"mfmcsrr1", XSPR(31,339,571), XSPR_MASK, PPCRFMCI, {RT}},
7902 -{"mfmcsr", XSPR(31,339,572), XSPR_MASK, PPCRFMCI, {RT}},
7903 -{"mfmcar", XSPR(31,339,573), XSPR_MASK, PPCRFMCI, {RT}},
7904 -{"mfdpdr", XSPR(31,339,630), XSPR_MASK, PPC860, {RT}},
7905 -{"mfdpir", XSPR(31,339,631), XSPR_MASK, PPC860, {RT}},
7906 -{"mfimmr", XSPR(31,339,638), XSPR_MASK, PPC860, {RT}},
7907 -{"mfmi_ctr", XSPR(31,339,784), XSPR_MASK, PPC860, {RT}},
7908 -{"mfmi_ap", XSPR(31,339,786), XSPR_MASK, PPC860, {RT}},
7909 -{"mfmi_epn", XSPR(31,339,787), XSPR_MASK, PPC860, {RT}},
7910 -{"mfmi_twc", XSPR(31,339,789), XSPR_MASK, PPC860, {RT}},
7911 -{"mfmi_rpn", XSPR(31,339,790), XSPR_MASK, PPC860, {RT}},
7912 -{"mfmd_ctr", XSPR(31,339,792), XSPR_MASK, PPC860, {RT}},
7913 -{"mfm_casid", XSPR(31,339,793), XSPR_MASK, PPC860, {RT}},
7914 -{"mfmd_ap", XSPR(31,339,794), XSPR_MASK, PPC860, {RT}},
7915 -{"mfmd_epn", XSPR(31,339,795), XSPR_MASK, PPC860, {RT}},
7916 -{"mfmd_twb", XSPR(31,339,796), XSPR_MASK, PPC860, {RT}},
7917 -{"mfmd_twc", XSPR(31,339,797), XSPR_MASK, PPC860, {RT}},
7918 -{"mfmd_rpn", XSPR(31,339,798), XSPR_MASK, PPC860, {RT}},
7919 -{"mfm_tw", XSPR(31,339,799), XSPR_MASK, PPC860, {RT}},
7920 -{"mfmi_dbcam", XSPR(31,339,816), XSPR_MASK, PPC860, {RT}},
7921 -{"mfmi_dbram0", XSPR(31,339,817), XSPR_MASK, PPC860, {RT}},
7922 -{"mfmi_dbram1", XSPR(31,339,818), XSPR_MASK, PPC860, {RT}},
7923 -{"mfmd_dbcam", XSPR(31,339,824), XSPR_MASK, PPC860, {RT}},
7924 -{"mfmd_dbram0", XSPR(31,339,825), XSPR_MASK, PPC860, {RT}},
7925 -{"mfmd_dbram1", XSPR(31,339,826), XSPR_MASK, PPC860, {RT}},
7926 -{"mfummcr0", XSPR(31,339,936), XSPR_MASK, PPC750, {RT}},
7927 -{"mfupmc1", XSPR(31,339,937), XSPR_MASK, PPC750, {RT}},
7928 -{"mfupmc2", XSPR(31,339,938), XSPR_MASK, PPC750, {RT}},
7929 -{"mfusia", XSPR(31,339,939), XSPR_MASK, PPC750, {RT}},
7930 -{"mfummcr1", XSPR(31,339,940), XSPR_MASK, PPC750, {RT}},
7931 -{"mfupmc3", XSPR(31,339,941), XSPR_MASK, PPC750, {RT}},
7932 -{"mfupmc4", XSPR(31,339,942), XSPR_MASK, PPC750, {RT}},
7933 -{"mfzpr", XSPR(31,339,944), XSPR_MASK, PPC403, {RT}},
7934 -{"mfpid", XSPR(31,339,945), XSPR_MASK, PPC403, {RT}},
7935 -{"mfccr0", XSPR(31,339,947), XSPR_MASK, PPC405, {RT}},
7936 -{"mfiac3", XSPR(31,339,948), XSPR_MASK, PPC405, {RT}},
7937 -{"mfiac4", XSPR(31,339,949), XSPR_MASK, PPC405, {RT}},
7938 -{"mfdvc1", XSPR(31,339,950), XSPR_MASK, PPC405, {RT}},
7939 -{"mfdvc2", XSPR(31,339,951), XSPR_MASK, PPC405, {RT}},
7940 -{"mfmmcr0", XSPR(31,339,952), XSPR_MASK, PPC750, {RT}},
7941 -{"mfpmc1", XSPR(31,339,953), XSPR_MASK, PPC750, {RT}},
7942 -{"mfsgr", XSPR(31,339,953), XSPR_MASK, PPC403, {RT}},
7943 -{"mfdcwr", XSPR(31,339,954), XSPR_MASK, PPC403, {RT}},
7944 -{"mfpmc2", XSPR(31,339,954), XSPR_MASK, PPC750, {RT}},
7945 -{"mfsia", XSPR(31,339,955), XSPR_MASK, PPC750, {RT}},
7946 -{"mfsler", XSPR(31,339,955), XSPR_MASK, PPC405, {RT}},
7947 -{"mfmmcr1", XSPR(31,339,956), XSPR_MASK, PPC750, {RT}},
7948 -{"mfsu0r", XSPR(31,339,956), XSPR_MASK, PPC405, {RT}},
7949 -{"mfdbcr1", XSPR(31,339,957), XSPR_MASK, PPC405, {RT}},
7950 -{"mfpmc3", XSPR(31,339,957), XSPR_MASK, PPC750, {RT}},
7951 -{"mfpmc4", XSPR(31,339,958), XSPR_MASK, PPC750, {RT}},
7952 -{"mficdbdr", XSPR(31,339,979), XSPR_MASK, PPC403, {RT}},
7953 -{"mfesr", XSPR(31,339,980), XSPR_MASK, PPC403, {RT}},
7954 -{"mfdear", XSPR(31,339,981), XSPR_MASK, PPC403, {RT}},
7955 -{"mfevpr", XSPR(31,339,982), XSPR_MASK, PPC403, {RT}},
7956 -{"mfcdbcr", XSPR(31,339,983), XSPR_MASK, PPC403, {RT}},
7957 -{"mftsr", XSPR(31,339,984), XSPR_MASK, PPC403, {RT}},
7958 -{"mftcr", XSPR(31,339,986), XSPR_MASK, PPC403, {RT}},
7959 -{"mfpit", XSPR(31,339,987), XSPR_MASK, PPC403, {RT}},
7960 -{"mftbhi", XSPR(31,339,988), XSPR_MASK, PPC403, {RT}},
7961 -{"mftblo", XSPR(31,339,989), XSPR_MASK, PPC403, {RT}},
7962 -{"mfsrr2", XSPR(31,339,990), XSPR_MASK, PPC403, {RT}},
7963 -{"mfsrr3", XSPR(31,339,991), XSPR_MASK, PPC403, {RT}},
7964 -{"mfdbsr", XSPR(31,339,1008), XSPR_MASK, PPC403, {RT}},
7965 -{"mfdbcr0", XSPR(31,339,1010), XSPR_MASK, PPC405, {RT}},
7966 -{"mfiac1", XSPR(31,339,1012), XSPR_MASK, PPC403, {RT}},
7967 -{"mfiac2", XSPR(31,339,1013), XSPR_MASK, PPC403, {RT}},
7968 -{"mfdac1", XSPR(31,339,1014), XSPR_MASK, PPC403, {RT}},
7969 -{"mfdac2", XSPR(31,339,1015), XSPR_MASK, PPC403, {RT}},
7970 -{"mfl2cr", XSPR(31,339,1017), XSPR_MASK, PPC750, {RT}},
7971 -{"mfdccr", XSPR(31,339,1018), XSPR_MASK, PPC403, {RT}},
7972 -{"mficcr", XSPR(31,339,1019), XSPR_MASK, PPC403, {RT}},
7973 -{"mfictc", XSPR(31,339,1019), XSPR_MASK, PPC750, {RT}},
7974 -{"mfpbl1", XSPR(31,339,1020), XSPR_MASK, PPC403, {RT}},
7975 -{"mfthrm1", XSPR(31,339,1020), XSPR_MASK, PPC750, {RT}},
7976 -{"mfpbu1", XSPR(31,339,1021), XSPR_MASK, PPC403, {RT}},
7977 -{"mfthrm2", XSPR(31,339,1021), XSPR_MASK, PPC750, {RT}},
7978 -{"mfpbl2", XSPR(31,339,1022), XSPR_MASK, PPC403, {RT}},
7979 -{"mfthrm3", XSPR(31,339,1022), XSPR_MASK, PPC750, {RT}},
7980 -{"mfpbu2", XSPR(31,339,1023), XSPR_MASK, PPC403, {RT}},
7981 -{"mfspr", X(31,339), X_MASK, COM, {RT, SPR}},
7982 -
7983 -{"lwax", X(31,341), X_MASK, PPC64, {RT, RA0, RB}},
7984 -
7985 -{"dst", XDSS(31,342,0), XDSS_MASK, PPCVEC, {RA, RB, STRM}},
7986 -
7987 -{"lhax", X(31,343), X_MASK, COM, {RT, RA0, RB}},
7988 -
7989 -{"lhaxe", X(31,351), X_MASK, BOOKE64, {RT, RA0, RB}},
7990 -
7991 -{"lvxl", X(31,359), X_MASK, PPCVEC, {VD, RA, RB}},
7992 -
7993 -{"abs", XO(31,360,0,0), XORB_MASK, M601, {RT, RA}},
7994 -{"abs.", XO(31,360,0,1), XORB_MASK, M601, {RT, RA}},
7995 -
7996 -{"divs", XO(31,363,0,0), XO_MASK, M601, {RT, RA, RB}},
7997 -{"divs.", XO(31,363,0,1), XO_MASK, M601, {RT, RA, RB}},
7998 -
7999 -{"tlbia", X(31,370), 0xffffffff, PPC, {0}},
8000 -
8001 -{"mftbl", XSPR(31,371,268), XSPR_MASK, CLASSIC, {RT}},
8002 -{"mftbu", XSPR(31,371,269), XSPR_MASK, CLASSIC, {RT}},
8003 -{"mftb", X(31,371), X_MASK, CLASSIC, {RT, TBR}},
8004 -
8005 -{"lwaux", X(31,373), X_MASK, PPC64, {RT, RAL, RB}},
8006 -
8007 -{"dstst", XDSS(31,374,0), XDSS_MASK, PPCVEC, {RA, RB, STRM}},
8008 -
8009 -{"lhaux", X(31,375), X_MASK, COM, {RT, RAL, RB}},
8010 -
8011 -{"lhauxe", X(31,383), X_MASK, BOOKE64, {RT, RAL, RB}},
8012 -
8013 -{"mtdcrx", X(31,387), X_MASK, BOOKE, {RA, RS}},
8014 -
8015 -{"dcblc", X(31,390), X_MASK, PPCCHLK, {CT, RA, RB}},
8016 -{"stdfcmx", APU(31,391,0), APU_MASK, PPC405, {FCRT, RA, RB}},
8017 -
8018 -{"subfe64", XO(31,392,0,0), XO_MASK, BOOKE64, {RT, RA, RB}},
8019 -
8020 -{"adde64", XO(31,394,0,0), XO_MASK, BOOKE64, {RT, RA, RB}},
8021 -
8022 -{"dcblce", X(31,398), X_MASK, PPCCHLK64, {CT, RA, RB}},
8023 -
8024 -{"slbmte", X(31,402), XRA_MASK, PPC64, {RS, RB}},
8025 -
8026 -{"sthx", X(31,407), X_MASK, COM, {RS, RA0, RB}},
8027 -
8028 -{"orc", XRC(31,412,0), X_MASK, COM, {RA, RS, RB}},
8029 -{"orc.", XRC(31,412,1), X_MASK, COM, {RA, RS, RB}},
8030 -
8031 -{"sthxe", X(31,415), X_MASK, BOOKE64, {RS, RA0, RB}},
8032 -{"sthepx", X(31,415), X_MASK, E500MC, {RS, RA, RB}},
8033 -
8034 -{"mtdcrux", X(31,419), X_MASK, PPC464, {RA, RS}},
8035 -
8036 -{"slbie", X(31,434), XRTRA_MASK, PPC64, {RB}},
8037 -
8038 -{"ecowx", X(31,438), X_MASK, PPC, {RT, RA, RB}},
8039 -
8040 -{"sthux", X(31,439), X_MASK, COM, {RS, RAS, RB}},
8041 -
8042 -{"mdors", 0x7f9ce378, 0xffffffff, E500MC, {0}},
8043 -
8044 -{"mr", XRC(31,444,0), X_MASK, COM, {RA, RS, RBS}},
8045 -{"or", XRC(31,444,0), X_MASK, COM, {RA, RS, RB}},
8046 -{"mr.", XRC(31,444,1), X_MASK, COM, {RA, RS, RBS}},
8047 -{"or.", XRC(31,444,1), X_MASK, COM, {RA, RS, RB}},
8048 -
8049 -{"sthuxe", X(31,447), X_MASK, BOOKE64, {RS, RAS, RB}},
8050 -
8051 -{"mtexisr", XSPR(31,451, 64), XSPR_MASK, PPC403, {RS}},
8052 -{"mtexier", XSPR(31,451, 66), XSPR_MASK, PPC403, {RS}},
8053 -{"mtbr0", XSPR(31,451,128), XSPR_MASK, PPC403, {RS}},
8054 -{"mtbr1", XSPR(31,451,129), XSPR_MASK, PPC403, {RS}},
8055 -{"mtbr2", XSPR(31,451,130), XSPR_MASK, PPC403, {RS}},
8056 -{"mtbr3", XSPR(31,451,131), XSPR_MASK, PPC403, {RS}},
8057 -{"mtbr4", XSPR(31,451,132), XSPR_MASK, PPC403, {RS}},
8058 -{"mtbr5", XSPR(31,451,133), XSPR_MASK, PPC403, {RS}},
8059 -{"mtbr6", XSPR(31,451,134), XSPR_MASK, PPC403, {RS}},
8060 -{"mtbr7", XSPR(31,451,135), XSPR_MASK, PPC403, {RS}},
8061 -{"mtbear", XSPR(31,451,144), XSPR_MASK, PPC403, {RS}},
8062 -{"mtbesr", XSPR(31,451,145), XSPR_MASK, PPC403, {RS}},
8063 -{"mtiocr", XSPR(31,451,160), XSPR_MASK, PPC403, {RS}},
8064 -{"mtdmacr0", XSPR(31,451,192), XSPR_MASK, PPC403, {RS}},
8065 -{"mtdmact0", XSPR(31,451,193), XSPR_MASK, PPC403, {RS}},
8066 -{"mtdmada0", XSPR(31,451,194), XSPR_MASK, PPC403, {RS}},
8067 -{"mtdmasa0", XSPR(31,451,195), XSPR_MASK, PPC403, {RS}},
8068 -{"mtdmacc0", XSPR(31,451,196), XSPR_MASK, PPC403, {RS}},
8069 -{"mtdmacr1", XSPR(31,451,200), XSPR_MASK, PPC403, {RS}},
8070 -{"mtdmact1", XSPR(31,451,201), XSPR_MASK, PPC403, {RS}},
8071 -{"mtdmada1", XSPR(31,451,202), XSPR_MASK, PPC403, {RS}},
8072 -{"mtdmasa1", XSPR(31,451,203), XSPR_MASK, PPC403, {RS}},
8073 -{"mtdmacc1", XSPR(31,451,204), XSPR_MASK, PPC403, {RS}},
8074 -{"mtdmacr2", XSPR(31,451,208), XSPR_MASK, PPC403, {RS}},
8075 -{"mtdmact2", XSPR(31,451,209), XSPR_MASK, PPC403, {RS}},
8076 -{"mtdmada2", XSPR(31,451,210), XSPR_MASK, PPC403, {RS}},
8077 -{"mtdmasa2", XSPR(31,451,211), XSPR_MASK, PPC403, {RS}},
8078 -{"mtdmacc2", XSPR(31,451,212), XSPR_MASK, PPC403, {RS}},
8079 -{"mtdmacr3", XSPR(31,451,216), XSPR_MASK, PPC403, {RS}},
8080 -{"mtdmact3", XSPR(31,451,217), XSPR_MASK, PPC403, {RS}},
8081 -{"mtdmada3", XSPR(31,451,218), XSPR_MASK, PPC403, {RS}},
8082 -{"mtdmasa3", XSPR(31,451,219), XSPR_MASK, PPC403, {RS}},
8083 -{"mtdmacc3", XSPR(31,451,220), XSPR_MASK, PPC403, {RS}},
8084 -{"mtdmasr", XSPR(31,451,224), XSPR_MASK, PPC403, {RS}},
8085 -{"mtdcr", X(31,451), X_MASK, PPC403|BOOKE, {SPR, RS}},
8086 -
8087 -{"dccci", X(31,454), XRT_MASK, PPC403|PPC440, {RA, RB}},
8088 -
8089 -{"subfze64", XO(31,456,0,0), XORB_MASK, BOOKE64, {RT, RA}},
8090 -
8091 -{"divdu", XO(31,457,0,0), XO_MASK, PPC64, {RT, RA, RB}},
8092 -{"divdu.", XO(31,457,0,1), XO_MASK, PPC64, {RT, RA, RB}},
8093 -
8094 -{"addze64", XO(31,458,0,0), XORB_MASK, BOOKE64, {RT, RA}},
8095 -
8096 -{"divwu", XO(31,459,0,0), XO_MASK, PPC, {RT, RA, RB}},
8097 -{"divwu.", XO(31,459,0,1), XO_MASK, PPC, {RT, RA, RB}},
8098 -
8099 -{"mtpmr", X(31,462), X_MASK, PPCPMR|PPCE300, {PMR, RS}},
8100 -
8101 -{"mtmq", XSPR(31,467, 0), XSPR_MASK, M601, {RS}},
8102 -{"mtxer", XSPR(31,467, 1), XSPR_MASK, COM, {RS}},
8103 -{"mtlr", XSPR(31,467, 8), XSPR_MASK, COM, {RS}},
8104 -{"mtctr", XSPR(31,467, 9), XSPR_MASK, COM, {RS}},
8105 -{"mttid", XSPR(31,467, 17), XSPR_MASK, POWER, {RS}},
8106 -{"mtdsisr", XSPR(31,467, 18), XSPR_MASK, COM, {RS}},
8107 -{"mtdar", XSPR(31,467, 19), XSPR_MASK, COM, {RS}},
8108 -{"mtrtcu", XSPR(31,467, 20), XSPR_MASK, COM, {RS}},
8109 -{"mtrtcl", XSPR(31,467, 21), XSPR_MASK, COM, {RS}},
8110 -{"mtdec", XSPR(31,467, 22), XSPR_MASK, COM, {RS}},
8111 -{"mtsdr0", XSPR(31,467, 24), XSPR_MASK, POWER, {RS}},
8112 -{"mtsdr1", XSPR(31,467, 25), XSPR_MASK, COM, {RS}},
8113 -{"mtsrr0", XSPR(31,467, 26), XSPR_MASK, COM, {RS}},
8114 -{"mtsrr1", XSPR(31,467, 27), XSPR_MASK, COM, {RS}},
8115 -{"mtcfar", XSPR(31,467, 28), XSPR_MASK, POWER6, {RS}},
8116 -{"mtpid", XSPR(31,467, 48), XSPR_MASK, BOOKE, {RS}},
8117 -{"mtdecar", XSPR(31,467, 54), XSPR_MASK, BOOKE, {RS}},
8118 -{"mtcsrr0", XSPR(31,467, 58), XSPR_MASK, BOOKE, {RS}},
8119 -{"mtcsrr1", XSPR(31,467, 59), XSPR_MASK, BOOKE, {RS}},
8120 -{"mtdear", XSPR(31,467, 61), XSPR_MASK, BOOKE, {RS}},
8121 -{"mtesr", XSPR(31,467, 62), XSPR_MASK, BOOKE, {RS}},
8122 -{"mtivpr", XSPR(31,467, 63), XSPR_MASK, BOOKE, {RS}},
8123 -{"mtcmpa", XSPR(31,467,144), XSPR_MASK, PPC860, {RS}},
8124 -{"mtcmpb", XSPR(31,467,145), XSPR_MASK, PPC860, {RS}},
8125 -{"mtcmpc", XSPR(31,467,146), XSPR_MASK, PPC860, {RS}},
8126 -{"mtcmpd", XSPR(31,467,147), XSPR_MASK, PPC860, {RS}},
8127 -{"mticr", XSPR(31,467,148), XSPR_MASK, PPC860, {RS}},
8128 -{"mtder", XSPR(31,467,149), XSPR_MASK, PPC860, {RS}},
8129 -{"mtcounta", XSPR(31,467,150), XSPR_MASK, PPC860, {RS}},
8130 -{"mtcountb", XSPR(31,467,151), XSPR_MASK, PPC860, {RS}},
8131 -{"mtcmpe", XSPR(31,467,152), XSPR_MASK, PPC860, {RS}},
8132 -{"mtcmpf", XSPR(31,467,153), XSPR_MASK, PPC860, {RS}},
8133 -{"mtcmpg", XSPR(31,467,154), XSPR_MASK, PPC860, {RS}},
8134 -{"mtcmph", XSPR(31,467,155), XSPR_MASK, PPC860, {RS}},
8135 -{"mtlctrl1", XSPR(31,467,156), XSPR_MASK, PPC860, {RS}},
8136 -{"mtlctrl2", XSPR(31,467,157), XSPR_MASK, PPC860, {RS}},
8137 -{"mtictrl", XSPR(31,467,158), XSPR_MASK, PPC860, {RS}},
8138 -{"mtbar", XSPR(31,467,159), XSPR_MASK, PPC860, {RS}},
8139 -{"mtvrsave", XSPR(31,467,256), XSPR_MASK, PPCVEC, {RS}},
8140 -{"mtusprg0", XSPR(31,467,256), XSPR_MASK, BOOKE, {RS}},
8141 -{"mtsprg", XSPR(31,467,256), XSPRG_MASK,PPC, {SPRG, RS}},
8142 -{"mtsprg0", XSPR(31,467,272), XSPR_MASK, PPC, {RS}},
8143 -{"mtsprg1", XSPR(31,467,273), XSPR_MASK, PPC, {RS}},
8144 -{"mtsprg2", XSPR(31,467,274), XSPR_MASK, PPC, {RS}},
8145 -{"mtsprg3", XSPR(31,467,275), XSPR_MASK, PPC, {RS}},
8146 -{"mtsprg4", XSPR(31,467,276), XSPR_MASK, PPC405|BOOKE, {RS}},
8147 -{"mtsprg5", XSPR(31,467,277), XSPR_MASK, PPC405|BOOKE, {RS}},
8148 -{"mtsprg6", XSPR(31,467,278), XSPR_MASK, PPC405|BOOKE, {RS}},
8149 -{"mtsprg7", XSPR(31,467,279), XSPR_MASK, PPC405|BOOKE, {RS}},
8150 -{"mtasr", XSPR(31,467,280), XSPR_MASK, PPC64, {RS}},
8151 -{"mtear", XSPR(31,467,282), XSPR_MASK, PPC, {RS}},
8152 -{"mttbl", XSPR(31,467,284), XSPR_MASK, PPC, {RS}},
8153 -{"mttbu", XSPR(31,467,285), XSPR_MASK, PPC, {RS}},
8154 -{"mtdbsr", XSPR(31,467,304), XSPR_MASK, BOOKE, {RS}},
8155 -{"mtdbcr0", XSPR(31,467,308), XSPR_MASK, BOOKE, {RS}},
8156 -{"mtdbcr1", XSPR(31,467,309), XSPR_MASK, BOOKE, {RS}},
8157 -{"mtdbcr2", XSPR(31,467,310), XSPR_MASK, BOOKE, {RS}},
8158 -{"mtiac1", XSPR(31,467,312), XSPR_MASK, BOOKE, {RS}},
8159 -{"mtiac2", XSPR(31,467,313), XSPR_MASK, BOOKE, {RS}},
8160 -{"mtiac3", XSPR(31,467,314), XSPR_MASK, BOOKE, {RS}},
8161 -{"mtiac4", XSPR(31,467,315), XSPR_MASK, BOOKE, {RS}},
8162 -{"mtdac1", XSPR(31,467,316), XSPR_MASK, BOOKE, {RS}},
8163 -{"mtdac2", XSPR(31,467,317), XSPR_MASK, BOOKE, {RS}},
8164 -{"mtdvc1", XSPR(31,467,318), XSPR_MASK, BOOKE, {RS}},
8165 -{"mtdvc2", XSPR(31,467,319), XSPR_MASK, BOOKE, {RS}},
8166 -{"mttsr", XSPR(31,467,336), XSPR_MASK, BOOKE, {RS}},
8167 -{"mttcr", XSPR(31,467,340), XSPR_MASK, BOOKE, {RS}},
8168 -{"mtivor0", XSPR(31,467,400), XSPR_MASK, BOOKE, {RS}},
8169 -{"mtivor1", XSPR(31,467,401), XSPR_MASK, BOOKE, {RS}},
8170 -{"mtivor2", XSPR(31,467,402), XSPR_MASK, BOOKE, {RS}},
8171 -{"mtivor3", XSPR(31,467,403), XSPR_MASK, BOOKE, {RS}},
8172 -{"mtivor4", XSPR(31,467,404), XSPR_MASK, BOOKE, {RS}},
8173 -{"mtivor5", XSPR(31,467,405), XSPR_MASK, BOOKE, {RS}},
8174 -{"mtivor6", XSPR(31,467,406), XSPR_MASK, BOOKE, {RS}},
8175 -{"mtivor7", XSPR(31,467,407), XSPR_MASK, BOOKE, {RS}},
8176 -{"mtivor8", XSPR(31,467,408), XSPR_MASK, BOOKE, {RS}},
8177 -{"mtivor9", XSPR(31,467,409), XSPR_MASK, BOOKE, {RS}},
8178 -{"mtivor10", XSPR(31,467,410), XSPR_MASK, BOOKE, {RS}},
8179 -{"mtivor11", XSPR(31,467,411), XSPR_MASK, BOOKE, {RS}},
8180 -{"mtivor12", XSPR(31,467,412), XSPR_MASK, BOOKE, {RS}},
8181 -{"mtivor13", XSPR(31,467,413), XSPR_MASK, BOOKE, {RS}},
8182 -{"mtivor14", XSPR(31,467,414), XSPR_MASK, BOOKE, {RS}},
8183 -{"mtivor15", XSPR(31,467,415), XSPR_MASK, BOOKE, {RS}},
8184 -{"mtspefscr", XSPR(31,467,512), XSPR_MASK, PPCSPE, {RS}},
8185 -{"mtbbear", XSPR(31,467,513), XSPR_MASK, PPCBRLK, {RS}},
8186 -{"mtbbtar", XSPR(31,467,514), XSPR_MASK, PPCBRLK, {RS}},
8187 -{"mtivor32", XSPR(31,467,528), XSPR_MASK, PPCSPE, {RS}},
8188 -{"mtibatu", XSPR(31,467,528), XSPRBAT_MASK, PPC, {SPRBAT, RS}},
8189 -{"mtivor33", XSPR(31,467,529), XSPR_MASK, PPCSPE, {RS}},
8190 -{"mtibatl", XSPR(31,467,529), XSPRBAT_MASK, PPC, {SPRBAT, RS}},
8191 -{"mtivor34", XSPR(31,467,530), XSPR_MASK, PPCSPE, {RS}},
8192 -{"mtivor35", XSPR(31,467,531), XSPR_MASK, PPCPMR, {RS}},
8193 -{"mtdbatu", XSPR(31,467,536), XSPRBAT_MASK, PPC, {SPRBAT, RS}},
8194 -{"mtdbatl", XSPR(31,467,537), XSPRBAT_MASK, PPC, {SPRBAT, RS}},
8195 -{"mtmcsrr0", XSPR(31,467,570), XSPR_MASK, PPCRFMCI, {RS}},
8196 -{"mtmcsrr1", XSPR(31,467,571), XSPR_MASK, PPCRFMCI, {RS}},
8197 -{"mtmcsr", XSPR(31,467,572), XSPR_MASK, PPCRFMCI, {RS}},
8198 -{"mtummcr0", XSPR(31,467,936), XSPR_MASK, PPC750, {RS}},
8199 -{"mtupmc1", XSPR(31,467,937), XSPR_MASK, PPC750, {RS}},
8200 -{"mtupmc2", XSPR(31,467,938), XSPR_MASK, PPC750, {RS}},
8201 -{"mtusia", XSPR(31,467,939), XSPR_MASK, PPC750, {RS}},
8202 -{"mtummcr1", XSPR(31,467,940), XSPR_MASK, PPC750, {RS}},
8203 -{"mtupmc3", XSPR(31,467,941), XSPR_MASK, PPC750, {RS}},
8204 -{"mtupmc4", XSPR(31,467,942), XSPR_MASK, PPC750, {RS}},
8205 -{"mtzpr", XSPR(31,467,944), XSPR_MASK, PPC403, {RS}},
8206 -{"mtpid", XSPR(31,467,945), XSPR_MASK, PPC403, {RS}},
8207 -{"mtccr0", XSPR(31,467,947), XSPR_MASK, PPC405, {RS}},
8208 -{"mtiac3", XSPR(31,467,948), XSPR_MASK, PPC405, {RS}},
8209 -{"mtiac4", XSPR(31,467,949), XSPR_MASK, PPC405, {RS}},
8210 -{"mtdvc1", XSPR(31,467,950), XSPR_MASK, PPC405, {RS}},
8211 -{"mtdvc2", XSPR(31,467,951), XSPR_MASK, PPC405, {RS}},
8212 -{"mtmmcr0", XSPR(31,467,952), XSPR_MASK, PPC750, {RS}},
8213 -{"mtpmc1", XSPR(31,467,953), XSPR_MASK, PPC750, {RS}},
8214 -{"mtsgr", XSPR(31,467,953), XSPR_MASK, PPC403, {RS}},
8215 -{"mtdcwr", XSPR(31,467,954), XSPR_MASK, PPC403, {RS}},
8216 -{"mtpmc2", XSPR(31,467,954), XSPR_MASK, PPC750, {RS}},
8217 -{"mtsia", XSPR(31,467,955), XSPR_MASK, PPC750, {RS}},
8218 -{"mtsler", XSPR(31,467,955), XSPR_MASK, PPC405, {RS}},
8219 -{"mtmmcr1", XSPR(31,467,956), XSPR_MASK, PPC750, {RS}},
8220 -{"mtsu0r", XSPR(31,467,956), XSPR_MASK, PPC405, {RS}},
8221 -{"mtdbcr1", XSPR(31,467,957), XSPR_MASK, PPC405, {RS}},
8222 -{"mtpmc3", XSPR(31,467,957), XSPR_MASK, PPC750, {RS}},
8223 -{"mtpmc4", XSPR(31,467,958), XSPR_MASK, PPC750, {RS}},
8224 -{"mticdbdr", XSPR(31,467,979), XSPR_MASK, PPC403, {RS}},
8225 -{"mtesr", XSPR(31,467,980), XSPR_MASK, PPC403, {RS}},
8226 -{"mtdear", XSPR(31,467,981), XSPR_MASK, PPC403, {RS}},
8227 -{"mtevpr", XSPR(31,467,982), XSPR_MASK, PPC403, {RS}},
8228 -{"mtcdbcr", XSPR(31,467,983), XSPR_MASK, PPC403, {RS}},
8229 -{"mttsr", XSPR(31,467,984), XSPR_MASK, PPC403, {RS}},
8230 -{"mttcr", XSPR(31,467,986), XSPR_MASK, PPC403, {RS}},
8231 -{"mtpit", XSPR(31,467,987), XSPR_MASK, PPC403, {RS}},
8232 -{"mttbhi", XSPR(31,467,988), XSPR_MASK, PPC403, {RS}},
8233 -{"mttblo", XSPR(31,467,989), XSPR_MASK, PPC403, {RS}},
8234 -{"mtsrr2", XSPR(31,467,990), XSPR_MASK, PPC403, {RS}},
8235 -{"mtsrr3", XSPR(31,467,991), XSPR_MASK, PPC403, {RS}},
8236 -{"mtdbsr", XSPR(31,467,1008), XSPR_MASK, PPC403, {RS}},
8237 -{"mtdbcr0", XSPR(31,467,1010), XSPR_MASK, PPC405, {RS}},
8238 -{"mtiac1", XSPR(31,467,1012), XSPR_MASK, PPC403, {RS}},
8239 -{"mtiac2", XSPR(31,467,1013), XSPR_MASK, PPC403, {RS}},
8240 -{"mtdac1", XSPR(31,467,1014), XSPR_MASK, PPC403, {RS}},
8241 -{"mtdac2", XSPR(31,467,1015), XSPR_MASK, PPC403, {RS}},
8242 -{"mtl2cr", XSPR(31,467,1017), XSPR_MASK, PPC750, {RS}},
8243 -{"mtdccr", XSPR(31,467,1018), XSPR_MASK, PPC403, {RS}},
8244 -{"mticcr", XSPR(31,467,1019), XSPR_MASK, PPC403, {RS}},
8245 -{"mtictc", XSPR(31,467,1019), XSPR_MASK, PPC750, {RS}},
8246 -{"mtpbl1", XSPR(31,467,1020), XSPR_MASK, PPC403, {RS}},
8247 -{"mtthrm1", XSPR(31,467,1020), XSPR_MASK, PPC750, {RS}},
8248 -{"mtpbu1", XSPR(31,467,1021), XSPR_MASK, PPC403, {RS}},
8249 -{"mtthrm2", XSPR(31,467,1021), XSPR_MASK, PPC750, {RS}},
8250 -{"mtpbl2", XSPR(31,467,1022), XSPR_MASK, PPC403, {RS}},
8251 -{"mtthrm3", XSPR(31,467,1022), XSPR_MASK, PPC750, {RS}},
8252 -{"mtpbu2", XSPR(31,467,1023), XSPR_MASK, PPC403, {RS}},
8253 -{"mtspr", X(31,467), X_MASK, COM, {SPR, RS}},
8254 -
8255 -{"dcbi", X(31,470), XRT_MASK, PPC, {RA, RB}},
8256 -
8257 -{"nand", XRC(31,476,0), X_MASK, COM, {RA, RS, RB}},
8258 -{"nand.", XRC(31,476,1), X_MASK, COM, {RA, RS, RB}},
8259 -
8260 -{"dcbie", X(31,478), XRT_MASK, BOOKE64, {RA, RB}},
8261 -
8262 -{"dsn", X(31,483), XRT_MASK, E500MC, {RA, RB}},
8263 -
8264 -{"dcread", X(31,486), X_MASK, PPC403|PPC440, {RT, RA, RB}},
8265 -
8266 -{"icbtls", X(31,486), X_MASK, PPCCHLK, {CT, RA, RB}},
8267 -
8268 -{"stvxl", X(31,487), X_MASK, PPCVEC, {VS, RA, RB}},
8269 -
8270 -{"nabs", XO(31,488,0,0), XORB_MASK, M601, {RT, RA}},
8271 -{"subfme64", XO(31,488,0,0), XORB_MASK, BOOKE64, {RT, RA}},
8272 -{"nabs.", XO(31,488,0,1), XORB_MASK, M601, {RT, RA}},
8273 -
8274 -{"divd", XO(31,489,0,0), XO_MASK, PPC64, {RT, RA, RB}},
8275 -{"divd.", XO(31,489,0,1), XO_MASK, PPC64, {RT, RA, RB}},
8276 -
8277 -{"addme64", XO(31,490,0,0), XORB_MASK, BOOKE64, {RT, RA}},
8278 -
8279 -{"divw", XO(31,491,0,0), XO_MASK, PPC, {RT, RA, RB}},
8280 -{"divw.", XO(31,491,0,1), XO_MASK, PPC, {RT, RA, RB}},
8281 -
8282 -{"icbtlse", X(31,494), X_MASK, PPCCHLK64, {CT, RA, RB}},
8283 -
8284 -{"slbia", X(31,498), 0xffffffff, PPC64, {0}},
8285 -
8286 -{"cli", X(31,502), XRB_MASK, POWER, {RT, RA}},
8287 -
8288 -{"cmpb", X(31,508), X_MASK, POWER6, {RA, RS, RB}},
8289 -
8290 -{"stdcxe.", XRC(31,511,1), X_MASK, BOOKE64, {RS, RA, RB}},
8291 -
8292 -{"mcrxr", X(31,512), XRARB_MASK|(3<<21), COM, {BF}},
8293 -
8294 -{"lbdx", X(31,515), X_MASK, E500MC, {RT, RA, RB}},
8295 -
8296 -{"bblels", X(31,518), X_MASK, PPCBRLK, {0}},
8297 -
8298 -{"lvlx", X(31,519), X_MASK, CELL, {VD, RA0, RB}},
8299 -{"lbfcmux", APU(31,519,0), APU_MASK, PPC405, {FCRT, RA, RB}},
8300 -
8301 -{"subfco", XO(31,8,1,0), XO_MASK, PPCCOM, {RT, RA, RB}},
8302 -{"sfo", XO(31,8,1,0), XO_MASK, PWRCOM, {RT, RA, RB}},
8303 -{"subco", XO(31,8,1,0), XO_MASK, PPC, {RT, RB, RA}},
8304 -{"subfco.", XO(31,8,1,1), XO_MASK, PPCCOM, {RT, RA, RB}},
8305 -{"sfo.", XO(31,8,1,1), XO_MASK, PWRCOM, {RT, RA, RB}},
8306 -{"subco.", XO(31,8,1,1), XO_MASK, PPC, {RT, RB, RA}},
8307 -
8308 -{"addco", XO(31,10,1,0), XO_MASK, PPCCOM, {RT, RA, RB}},
8309 -{"ao", XO(31,10,1,0), XO_MASK, PWRCOM, {RT, RA, RB}},
8310 -{"addco.", XO(31,10,1,1), XO_MASK, PPCCOM, {RT, RA, RB}},
8311 -{"ao.", XO(31,10,1,1), XO_MASK, PWRCOM, {RT, RA, RB}},
8312 -
8313 -{"clcs", X(31,531), XRB_MASK, M601, {RT, RA}},
8314 -
8315 -{"ldbrx", X(31,532), X_MASK, CELL, {RT, RA0, RB}},
8316 -
8317 -{"lswx", X(31,533), X_MASK, PPCCOM, {RT, RA0, RB}},
8318 -{"lsx", X(31,533), X_MASK, PWRCOM, {RT, RA, RB}},
8319 -
8320 -{"lwbrx", X(31,534), X_MASK, PPCCOM, {RT, RA0, RB}},
8321 -{"lbrx", X(31,534), X_MASK, PWRCOM, {RT, RA, RB}},
8322 -
8323 -{"lfsx", X(31,535), X_MASK, COM, {FRT, RA0, RB}},
8324 -
8325 -{"srw", XRC(31,536,0), X_MASK, PPCCOM, {RA, RS, RB}},
8326 -{"sr", XRC(31,536,0), X_MASK, PWRCOM, {RA, RS, RB}},
8327 -{"srw.", XRC(31,536,1), X_MASK, PPCCOM, {RA, RS, RB}},
8328 -{"sr.", XRC(31,536,1), X_MASK, PWRCOM, {RA, RS, RB}},
8329 -
8330 -{"rrib", XRC(31,537,0), X_MASK, M601, {RA, RS, RB}},
8331 -{"rrib.", XRC(31,537,1), X_MASK, M601, {RA, RS, RB}},
8332 -
8333 -{"srd", XRC(31,539,0), X_MASK, PPC64, {RA, RS, RB}},
8334 -{"srd.", XRC(31,539,1), X_MASK, PPC64, {RA, RS, RB}},
8335 -
8336 -{"maskir", XRC(31,541,0), X_MASK, M601, {RA, RS, RB}},
8337 -{"maskir.", XRC(31,541,1), X_MASK, M601, {RA, RS, RB}},
8338 -
8339 -{"lwbrxe", X(31,542), X_MASK, BOOKE64, {RT, RA0, RB}},
8340 -
8341 -{"lfsxe", X(31,543), X_MASK, BOOKE64, {FRT, RA0, RB}},
8342 -
8343 -{"mcrxr64", X(31,544), XRARB_MASK|(3<<21), BOOKE64, {BF}},
8344 -
8345 -{"lhdx", X(31,547), X_MASK, E500MC, {RT, RA, RB}},
8346 -
8347 -{"bbelr", X(31,550), X_MASK, PPCBRLK, {0}},
8348 -
8349 -{"lvrx", X(31,551), X_MASK, CELL, {VD, RA0, RB}},
8350 -{"lhfcmux", APU(31,551,0), APU_MASK, PPC405, {FCRT, RA, RB}},
8351 -
8352 -{"subfo", XO(31,40,1,0), XO_MASK, PPC, {RT, RA, RB}},
8353 -{"subo", XO(31,40,1,0), XO_MASK, PPC, {RT, RB, RA}},
8354 -{"subfo.", XO(31,40,1,1), XO_MASK, PPC, {RT, RA, RB}},
8355 -{"subo.", XO(31,40,1,1), XO_MASK, PPC, {RT, RB, RA}},
8356 -
8357 -{"tlbsync", X(31,566), 0xffffffff, PPC, {0}},
8358 -
8359 -{"lfsux", X(31,567), X_MASK, COM, {FRT, RAS, RB}},
8360 -
8361 -{"lfsuxe", X(31,575), X_MASK, BOOKE64, {FRT, RAS, RB}},
8362 -
8363 -{"lwdx", X(31,579), X_MASK, E500MC, {RT, RA, RB}},
8364 -
8365 -{"lwfcmux", APU(31,583,0), APU_MASK, PPC405, {FCRT, RA, RB}},
8366 -
8367 -{"mfsr", X(31,595), XRB_MASK|(1<<20), COM32, {RT, SR}},
8368 -
8369 -{"lswi", X(31,597), X_MASK, PPCCOM, {RT, RA0, NB}},
8370 -{"lsi", X(31,597), X_MASK, PWRCOM, {RT, RA0, NB}},
8371 -
8372 -{"msync", X(31,598), 0xffffffff, BOOKE, {0}},
8373 -{"lwsync", XSYNC(31,598,1), 0xffffffff, PPC, {0}},
8374 -{"ptesync", XSYNC(31,598,2), 0xffffffff, PPC64, {0}},
8375 -{"sync", X(31,598), XSYNC_MASK, PPCCOM, {LS}},
8376 -{"dcs", X(31,598), 0xffffffff, PWRCOM, {0}},
8377 -
8378 -{"lfdx", X(31,599), X_MASK, COM, {FRT, RA0, RB}},
8379 -
8380 -{"lfdxe", X(31,607), X_MASK, BOOKE64, {FRT, RA0, RB}},
8381 -{"lfdepx", X(31,607), X_MASK, E500MC, {RT, RA, RB}},
8382 -{"mffgpr", XRC(31,607,0), XRA_MASK, POWER6, {FRT, RB}},
8383 -
8384 -{"lddx", X(31,611), X_MASK, E500MC, {RT, RA, RB}},
8385 -
8386 -{"lqfcmux", APU(31,615,0), APU_MASK, PPC405, {FCRT, RA, RB}},
8387 -
8388 -{"nego", XO(31,104,1,0), XORB_MASK, COM, {RT, RA}},
8389 -{"nego.", XO(31,104,1,1), XORB_MASK, COM, {RT, RA}},
8390 -
8391 -{"mulo", XO(31,107,1,0), XO_MASK, M601, {RT, RA, RB}},
8392 -{"mulo.", XO(31,107,1,1), XO_MASK, M601, {RT, RA, RB}},
8393 -
8394 -{"mfsri", X(31,627), X_MASK, PWRCOM, {RT, RA, RB}},
8395 -
8396 -{"dclst", X(31,630), XRB_MASK, PWRCOM, {RS, RA}},
8397 -
8398 -{"lfdux", X(31,631), X_MASK, COM, {FRT, RAS, RB}},
8399 -
8400 -{"lfduxe", X(31,639), X_MASK, BOOKE64, {FRT, RAS, RB}},
8401 -
8402 -{"stbdx", X(31,643), X_MASK, E500MC, {RS, RA, RB}},
8403 -
8404 -{"stvlx", X(31,647), X_MASK, CELL, {VS, RA0, RB}},
8405 -{"stbfcmux", APU(31,647,0), APU_MASK, PPC405, {FCRT, RA, RB}},
8406 -
8407 -{"subfeo", XO(31,136,1,0), XO_MASK, PPCCOM, {RT, RA, RB}},
8408 -{"sfeo", XO(31,136,1,0), XO_MASK, PWRCOM, {RT, RA, RB}},
8409 -{"subfeo.", XO(31,136,1,1), XO_MASK, PPCCOM, {RT, RA, RB}},
8410 -{"sfeo.", XO(31,136,1,1), XO_MASK, PWRCOM, {RT, RA, RB}},
8411 -
8412 -{"addeo", XO(31,138,1,0), XO_MASK, PPCCOM, {RT, RA, RB}},
8413 -{"aeo", XO(31,138,1,0), XO_MASK, PWRCOM, {RT, RA, RB}},
8414 -{"addeo.", XO(31,138,1,1), XO_MASK, PPCCOM, {RT, RA, RB}},
8415 -{"aeo.", XO(31,138,1,1), XO_MASK, PWRCOM, {RT, RA, RB}},
8416 -
8417 -{"mfsrin", X(31,659), XRA_MASK, PPC32, {RT, RB}},
8418 -
8419 -{"stdbrx", X(31,660), X_MASK, CELL, {RS, RA0, RB}},
8420 -
8421 -{"stswx", X(31,661), X_MASK, PPCCOM, {RS, RA0, RB}},
8422 -{"stsx", X(31,661), X_MASK, PWRCOM, {RS, RA0, RB}},
8423 -
8424 -{"stwbrx", X(31,662), X_MASK, PPCCOM, {RS, RA0, RB}},
8425 -{"stbrx", X(31,662), X_MASK, PWRCOM, {RS, RA0, RB}},
8426 -
8427 -{"stfsx", X(31,663), X_MASK, COM, {FRS, RA0, RB}},
8428 -
8429 -{"srq", XRC(31,664,0), X_MASK, M601, {RA, RS, RB}},
8430 -{"srq.", XRC(31,664,1), X_MASK, M601, {RA, RS, RB}},
8431 -
8432 -{"sre", XRC(31,665,0), X_MASK, M601, {RA, RS, RB}},
8433 -{"sre.", XRC(31,665,1), X_MASK, M601, {RA, RS, RB}},
8434 -
8435 -{"stwbrxe", X(31,670), X_MASK, BOOKE64, {RS, RA0, RB}},
8436 -
8437 -{"stfsxe", X(31,671), X_MASK, BOOKE64, {FRS, RA0, RB}},
8438 -
8439 -{"sthdx", X(31,675), X_MASK, E500MC, {RS, RA, RB}},
8440 -
8441 -{"stvrx", X(31,679), X_MASK, CELL, {VS, RA0, RB}},
8442 -{"sthfcmux", APU(31,679,0), APU_MASK, PPC405, {FCRT, RA, RB}},
8443 -
8444 -{"stfsux", X(31,695), X_MASK, COM, {FRS, RAS, RB}},
8445 -
8446 -{"sriq", XRC(31,696,0), X_MASK, M601, {RA, RS, SH}},
8447 -{"sriq.", XRC(31,696,1), X_MASK, M601, {RA, RS, SH}},
8448 -
8449 -{"stfsuxe", X(31,703), X_MASK, BOOKE64, {FRS, RAS, RB}},
8450 -
8451 -{"stwdx", X(31,707), X_MASK, E500MC, {RS, RA, RB}},
8452 -
8453 -{"stwfcmux", APU(31,711,0), APU_MASK, PPC405, {FCRT, RA, RB}},
8454 -
8455 -{"subfzeo", XO(31,200,1,0), XORB_MASK, PPCCOM, {RT, RA}},
8456 -{"sfzeo", XO(31,200,1,0), XORB_MASK, PWRCOM, {RT, RA}},
8457 -{"subfzeo.", XO(31,200,1,1), XORB_MASK, PPCCOM, {RT, RA}},
8458 -{"sfzeo.", XO(31,200,1,1), XORB_MASK, PWRCOM, {RT, RA}},
8459 -
8460 -{"addzeo", XO(31,202,1,0), XORB_MASK, PPCCOM, {RT, RA}},
8461 -{"azeo", XO(31,202,1,0), XORB_MASK, PWRCOM, {RT, RA}},
8462 -{"addzeo.", XO(31,202,1,1), XORB_MASK, PPCCOM, {RT, RA}},
8463 -{"azeo.", XO(31,202,1,1), XORB_MASK, PWRCOM, {RT, RA}},
8464 -
8465 -{"stswi", X(31,725), X_MASK, PPCCOM, {RS, RA0, NB}},
8466 -{"stsi", X(31,725), X_MASK, PWRCOM, {RS, RA0, NB}},
8467 -
8468 -{"stfdx", X(31,727), X_MASK, COM, {FRS, RA0, RB}},
8469 -
8470 -{"srlq", XRC(31,728,0), X_MASK, M601, {RA, RS, RB}},
8471 -{"srlq.", XRC(31,728,1), X_MASK, M601, {RA, RS, RB}},
8472 -
8473 -{"sreq", XRC(31,729,0), X_MASK, M601, {RA, RS, RB}},
8474 -{"sreq.", XRC(31,729,1), X_MASK, M601, {RA, RS, RB}},
8475 -
8476 -{"stfdxe", X(31,735), X_MASK, BOOKE64, {FRS, RA0, RB}},
8477 -{"stfdepx", X(31,735), X_MASK, E500MC, {RS, RA, RB}},
8478 -{"mftgpr", XRC(31,735,0), XRA_MASK, POWER6, {RT, FRB}},
8479 -
8480 -{"stddx", X(31,739), X_MASK, E500MC, {RS, RA, RB}},
8481 -
8482 -{"stqfcmux", APU(31,743,0), APU_MASK, PPC405, {FCRT, RA, RB}},
8483 -
8484 -{"subfmeo", XO(31,232,1,0), XORB_MASK, PPCCOM, {RT, RA}},
8485 -{"sfmeo", XO(31,232,1,0), XORB_MASK, PWRCOM, {RT, RA}},
8486 -{"subfmeo.", XO(31,232,1,1), XORB_MASK, PPCCOM, {RT, RA}},
8487 -{"sfmeo.", XO(31,232,1,1), XORB_MASK, PWRCOM, {RT, RA}},
8488 -
8489 -{"mulldo", XO(31,233,1,0), XO_MASK, PPC64, {RT, RA, RB}},
8490 -{"mulldo.", XO(31,233,1,1), XO_MASK, PPC64, {RT, RA, RB}},
8491 -
8492 -{"addmeo", XO(31,234,1,0), XORB_MASK, PPCCOM, {RT, RA}},
8493 -{"ameo", XO(31,234,1,0), XORB_MASK, PWRCOM, {RT, RA}},
8494 -{"addmeo.", XO(31,234,1,1), XORB_MASK, PPCCOM, {RT, RA}},
8495 -{"ameo.", XO(31,234,1,1), XORB_MASK, PWRCOM, {RT, RA}},
8496 -
8497 -{"mullwo", XO(31,235,1,0), XO_MASK, PPCCOM, {RT, RA, RB}},
8498 -{"mulso", XO(31,235,1,0), XO_MASK, PWRCOM, {RT, RA, RB}},
8499 -{"mullwo.", XO(31,235,1,1), XO_MASK, PPCCOM, {RT, RA, RB}},
8500 -{"mulso.", XO(31,235,1,1), XO_MASK, PWRCOM, {RT, RA, RB}},
8501 -
8502 -{"dcba", X(31,758), XRT_MASK, PPC405|PPC7450|BOOKE, {RA, RB}},
8503 -{"dcbal", XOPL(31,758,1), XRT_MASK, E500MC, {RA, RB}},
8504 -
8505 -{"stfdux", X(31,759), X_MASK, COM, {FRS, RAS, RB}},
8506 -
8507 -{"srliq", XRC(31,760,0), X_MASK, M601, {RA, RS, SH}},
8508 -{"srliq.", XRC(31,760,1), X_MASK, M601, {RA, RS, SH}},
8509 -
8510 -{"dcbae", X(31,766), XRT_MASK, BOOKE64, {RA, RB}},
8511 -
8512 -{"stfduxe", X(31,767), X_MASK, BOOKE64, {FRS, RAS, RB}},
8513 -
8514 -{"lvlxl", X(31,775), X_MASK, CELL, {VD, RA0, RB}},
8515 -{"ldfcmux", APU(31,775,0), APU_MASK, PPC405, {FCRT, RA, RB}},
8516 -
8517 -{"dozo", XO(31,264,1,0), XO_MASK, M601, {RT, RA, RB}},
8518 -{"dozo.", XO(31,264,1,1), XO_MASK, M601, {RT, RA, RB}},
8519 -
8520 -{"addo", XO(31,266,1,0), XO_MASK, PPCCOM, {RT, RA, RB}},
8521 -{"caxo", XO(31,266,1,0), XO_MASK, PWRCOM, {RT, RA, RB}},
8522 -{"addo.", XO(31,266,1,1), XO_MASK, PPCCOM, {RT, RA, RB}},
8523 -{"caxo.", XO(31,266,1,1), XO_MASK, PWRCOM, {RT, RA, RB}},
8524 -
8525 -{"tlbivax", X(31,786), XRT_MASK, BOOKE, {RA, RB}},
8526 -{"tlbivaxe", X(31,787), XRT_MASK, BOOKE64, {RA, RB}},
8527 -{"tlbilx", X(31,787), X_MASK, E500MC, {T, RA0, RB}},
8528 -{"tlbilxlpid", XTO(31,787,0), XTO_MASK, E500MC, {0}},
8529 -{"tlbilxpid", XTO(31,787,1), XTO_MASK, E500MC, {0}},
8530 -{"tlbilxva", XTO(31,787,3), XTO_MASK, E500MC, {RA0, RB}},
8531 -
8532 -{"lwzcix", X(31,789), X_MASK, POWER6, {RT, RA0, RB}},
8533 -
8534 -{"lhbrx", X(31,790), X_MASK, COM, {RT, RA0, RB}},
8535 -
8536 -{"lfqx", X(31,791), X_MASK, POWER2, {FRT, RA, RB}},
8537 -{"lfdpx", X(31,791), X_MASK, POWER6, {FRT, RA, RB}},
8538 -
8539 -{"sraw", XRC(31,792,0), X_MASK, PPCCOM, {RA, RS, RB}},
8540 -{"sra", XRC(31,792,0), X_MASK, PWRCOM, {RA, RS, RB}},
8541 -{"sraw.", XRC(31,792,1), X_MASK, PPCCOM, {RA, RS, RB}},
8542 -{"sra.", XRC(31,792,1), X_MASK, PWRCOM, {RA, RS, RB}},
8543 -
8544 -{"srad", XRC(31,794,0), X_MASK, PPC64, {RA, RS, RB}},
8545 -{"srad.", XRC(31,794,1), X_MASK, PPC64, {RA, RS, RB}},
8546 -
8547 -{"lhbrxe", X(31,798), X_MASK, BOOKE64, {RT, RA0, RB}},
8548 -
8549 -{"ldxe", X(31,799), X_MASK, BOOKE64, {RT, RA0, RB}},
8550 -
8551 -{"lfddx", X(31,803), X_MASK, E500MC, {FRT, RA, RB}},
8552 -
8553 -{"lvrxl", X(31,807), X_MASK, CELL, {VD, RA0, RB}},
8554 -
8555 -{"rac", X(31,818), X_MASK, PWRCOM, {RT, RA, RB}},
8556 -
8557 -{"lhzcix", X(31,821), X_MASK, POWER6, {RT, RA0, RB}},
8558 -
8559 -{"dss", XDSS(31,822,0), XDSS_MASK, PPCVEC, {STRM}},
8560 -
8561 -{"lfqux", X(31,823), X_MASK, POWER2, {FRT, RA, RB}},
8562 -
8563 -{"srawi", XRC(31,824,0), X_MASK, PPCCOM, {RA, RS, SH}},
8564 -{"srai", XRC(31,824,0), X_MASK, PWRCOM, {RA, RS, SH}},
8565 -{"srawi.", XRC(31,824,1), X_MASK, PPCCOM, {RA, RS, SH}},
8566 -{"srai.", XRC(31,824,1), X_MASK, PWRCOM, {RA, RS, SH}},
8567 -
8568 -{"sradi", XS(31,413,0), XS_MASK, PPC64, {RA, RS, SH6}},
8569 -{"sradi.", XS(31,413,1), XS_MASK, PPC64, {RA, RS, SH6}},
8570 -
8571 -{"divo", XO(31,331,1,0), XO_MASK, M601, {RT, RA, RB}},
8572 -{"divo.", XO(31,331,1,1), XO_MASK, M601, {RT, RA, RB}},
8573 -{"lduxe", X(31,831), X_MASK, BOOKE64, {RT, RA0, RB}},
8574 -
8575 -{"lxvd2x", X(31,844), XX1_MASK, PPCVSX, {XT6, RA, RB}},
8576 -
8577 -{"slbmfev", X(31,851), XRA_MASK, PPC64, {RT, RB}},
8578 -
8579 -{"lbzcix", X(31,853), X_MASK, POWER6, {RT, RA0, RB}},
8580 -
8581 -{"mbar", X(31,854), X_MASK, BOOKE, {MO}},
8582 -{"eieio", X(31,854), 0xffffffff, PPC, {0}},
8583 -
8584 -{"lfiwax", X(31,855), X_MASK, POWER6, {FRT, RA0, RB}},
8585 -
8586 -{"abso", XO(31,360,1,0), XORB_MASK, M601, {RT, RA}},
8587 -{"abso.", XO(31,360,1,1), XORB_MASK, M601, {RT, RA}},
8588 -
8589 -{"divso", XO(31,363,1,0), XO_MASK, M601, {RT, RA, RB}},
8590 -{"divso.", XO(31,363,1,1), XO_MASK, M601, {RT, RA, RB}},
8591 -
8592 -{"lxvd2ux", X(31,876), XX1_MASK, PPCVSX, {XT6, RA, RB}},
8593 -
8594 -{"ldcix", X(31,885), X_MASK, POWER6, {RT, RA0, RB}},
8595 -
8596 -{"stvlxl", X(31,903), X_MASK, CELL, {VS, RA0, RB}},
8597 -{"stdfcmux", APU(31,903,0), APU_MASK, PPC405, {FCRT, RA, RB}},
8598 -
8599 -{"subfe64o", XO(31,392,1,0), XO_MASK, BOOKE64, {RT, RA, RB}},
8600 -
8601 -{"adde64o", XO(31,394,1,0), XO_MASK, BOOKE64, {RT, RA, RB}},
8602 -
8603 -{"tlbsx", XRC(31,914,0), X_MASK, PPC403|BOOKE, {RTO, RA, RB}},
8604 -{"tlbsx.", XRC(31,914,1), X_MASK, PPC403|BOOKE, {RTO, RA, RB}},
8605 -
8606 -{"tlbsxe", XRC(31,915,0), X_MASK, BOOKE64, {RTO, RA, RB}},
8607 -{"tlbsxe.", XRC(31,915,1), X_MASK, BOOKE64, {RTO, RA, RB}},
8608 -{"slbmfee", X(31,915), XRA_MASK, PPC64, {RT, RB}},
8609 -
8610 -{"stwcix", X(31,917), X_MASK, POWER6, {RS, RA0, RB}},
8611 -
8612 -{"sthbrx", X(31,918), X_MASK, COM, {RS, RA0, RB}},
8613 -
8614 -{"stfqx", X(31,919), X_MASK, POWER2, {FRS, RA, RB}},
8615 -{"stfdpx", X(31,919), X_MASK, POWER6, {FRS, RA, RB}},
8616 -
8617 -{"sraq", XRC(31,920,0), X_MASK, M601, {RA, RS, RB}},
8618 -{"sraq.", XRC(31,920,1), X_MASK, M601, {RA, RS, RB}},
8619 -
8620 -{"srea", XRC(31,921,0), X_MASK, M601, {RA, RS, RB}},
8621 -{"srea.", XRC(31,921,1), X_MASK, M601, {RA, RS, RB}},
8622 -
8623 -{"extsh", XRC(31,922,0), XRB_MASK, PPCCOM, {RA, RS}},
8624 -{"exts", XRC(31,922,0), XRB_MASK, PWRCOM, {RA, RS}},
8625 -{"extsh.", XRC(31,922,1), XRB_MASK, PPCCOM, {RA, RS}},
8626 -{"exts.", XRC(31,922,1), XRB_MASK, PWRCOM, {RA, RS}},
8627 -
8628 -{"sthbrxe", X(31,926), X_MASK, BOOKE64, {RS, RA0, RB}},
8629 -
8630 -{"stdxe", X(31,927), X_MASK, BOOKE64, {RS, RA0, RB}},
8631 -
8632 -{"stfddx", X(31,931), X_MASK, E500MC, {FRS, RA, RB}},
8633 -
8634 -{"stvrxl", X(31,935), X_MASK, CELL, {VS, RA0, RB}},
8635 -
8636 -{"tlbrehi", XTLB(31,946,0), XTLB_MASK, PPC403, {RT, RA}},
8637 -{"tlbrelo", XTLB(31,946,1), XTLB_MASK, PPC403, {RT, RA}},
8638 -{"tlbre", X(31,946), X_MASK, PPC403|BOOKE, {RSO, RAOPT, SHO}},
8639 -
8640 -{"sthcix", X(31,949), X_MASK, POWER6, {RS, RA0, RB}},
8641 -
8642 -{"stfqux", X(31,951), X_MASK, POWER2, {FRS, RA, RB}},
8643 -
8644 -{"sraiq", XRC(31,952,0), X_MASK, M601, {RA, RS, SH}},
8645 -{"sraiq.", XRC(31,952,1), X_MASK, M601, {RA, RS, SH}},
8646 -
8647 -{"extsb", XRC(31,954,0), XRB_MASK, PPC, {RA, RS}},
8648 -{"extsb.", XRC(31,954,1), XRB_MASK, PPC, {RA, RS}},
8649 -
8650 -{"stduxe", X(31,959), X_MASK, BOOKE64, {RS, RAS, RB}},
8651 -
8652 -{"iccci", X(31,966), XRT_MASK, PPC403|PPC440, {RA, RB}},
8653 -
8654 -{"subfze64o", XO(31,456,1,0), XORB_MASK, BOOKE64, {RT, RA}},
8655 -
8656 -{"divduo", XO(31,457,1,0), XO_MASK, PPC64, {RT, RA, RB}},
8657 -{"divduo.", XO(31,457,1,1), XO_MASK, PPC64, {RT, RA, RB}},
8658 -
8659 -{"addze64o", XO(31,458,1,0), XORB_MASK, BOOKE64, {RT, RA}},
8660 -
8661 -{"divwuo", XO(31,459,1,0), XO_MASK, PPC, {RT, RA, RB}},
8662 -{"divwuo.", XO(31,459,1,1), XO_MASK, PPC, {RT, RA, RB}},
8663 -
8664 -{"stxvd2x", X(31,972), XX1_MASK, PPCVSX, {XS6, RA, RB}},
8665 -
8666 -{"tlbwehi", XTLB(31,978,0), XTLB_MASK, PPC403, {RT, RA}},
8667 -{"tlbwelo", XTLB(31,978,1), XTLB_MASK, PPC403, {RT, RA}},
8668 -{"tlbwe", X(31,978), X_MASK, PPC403|BOOKE, {RSO, RAOPT, SHO}},
8669 -{"tlbld", X(31,978), XRTRA_MASK, PPC, {RB}},
8670 -
8671 -{"stbcix", X(31,981), X_MASK, POWER6, {RS, RA0, RB}},
8672 -
8673 -{"icbi", X(31,982), XRT_MASK, PPC, {RA, RB}},
8674 -
8675 -{"stfiwx", X(31,983), X_MASK, PPC, {FRS, RA0, RB}},
8676 -
8677 -{"extsw", XRC(31,986,0), XRB_MASK, PPC64|BOOKE64, {RA, RS}},
8678 -{"extsw.", XRC(31,986,1), XRB_MASK, PPC64, {RA, RS}},
8679 -
8680 -{"icbie", X(31,990), XRT_MASK, BOOKE64, {RA, RB}},
8681 -{"stfiwxe", X(31,991), X_MASK, BOOKE64, {FRS, RA0, RB}},
8682 -
8683 -{"icbiep", XRT(31,991,0), XRT_MASK, E500MC, {RA, RB}},
8684 -
8685 -{"icread", X(31,998), XRT_MASK, PPC403|PPC440, {RA, RB}},
8686 -
8687 -{"nabso", XO(31,488,1,0), XORB_MASK, M601, {RT, RA}},
8688 -{"subfme64o", XO(31,488,1,0), XORB_MASK, BOOKE64, {RT, RA}},
8689 -{"nabso.", XO(31,488,1,1), XORB_MASK, M601, {RT, RA}},
8690 -
8691 -{"divdo", XO(31,489,1,0), XO_MASK, PPC64, {RT, RA, RB}},
8692 -{"divdo.", XO(31,489,1,1), XO_MASK, PPC64, {RT, RA, RB}},
8693 -
8694 -{"addme64o", XO(31,490,1,0), XORB_MASK, BOOKE64, {RT, RA}},
8695 -
8696 -{"divwo", XO(31,491,1,0), XO_MASK, PPC, {RT, RA, RB}},
8697 -{"divwo.", XO(31,491,1,1), XO_MASK, PPC, {RT, RA, RB}},
8698 -
8699 -{"stxvd2ux", X(31,1004), XX1_MASK, PPCVSX, {XS6, RA, RB}},
8700 -
8701 -{"tlbli", X(31,1010), XRTRA_MASK, PPC, {RB}},
8702 -
8703 -{"stdcix", X(31,1013), X_MASK, POWER6, {RS, RA0, RB}},
8704 -
8705 -{"dcbz", X(31,1014), XRT_MASK, PPC, {RA, RB}},
8706 -{"dclz", X(31,1014), XRT_MASK, PPC, {RA, RB}},
8707 -
8708 -{"dcbze", X(31,1022), XRT_MASK, BOOKE64, {RA, RB}},
8709 -{"dcbzep", XRT(31,1023,0), XRT_MASK, E500MC, {RA, RB}},
8710 -
8711 -{"dcbzl", XOPL(31,1014,1), XRT_MASK, POWER4, {RA, RB}},
8712 -{"dcbzl", XOPL(31,1014,1), XRT_MASK, NOPOWER4|E500MC,{RA, RB}},
8713 -
8714 -{"cctpl", 0x7c210b78, 0xffffffff, CELL, {0}},
8715 -{"cctpm", 0x7c421378, 0xffffffff, CELL, {0}},
8716 -{"cctph", 0x7c631b78, 0xffffffff, CELL, {0}},
8717 -
8718 -{"dstt", XDSS(31,342,1), XDSS_MASK, PPCVEC, {RA, RB, STRM}},
8719 -{"dststt", XDSS(31,374,1), XDSS_MASK, PPCVEC, {RA, RB, STRM}},
8720 -{"dssall", XDSS(31,822,1), XDSS_MASK, PPCVEC, {0}},
8721 -
8722 -{"db8cyc", 0x7f9ce378, 0xffffffff, CELL, {0}},
8723 -{"db10cyc", 0x7fbdeb78, 0xffffffff, CELL, {0}},
8724 -{"db12cyc", 0x7fdef378, 0xffffffff, CELL, {0}},
8725 -{"db16cyc", 0x7ffffb78, 0xffffffff, CELL, {0}},
8726 -
8727 -{"lwz", OP(32), OP_MASK, PPCCOM, {RT, D, RA0}},
8728 -{"l", OP(32), OP_MASK, PWRCOM, {RT, D, RA0}},
8729 -
8730 -{"lwzu", OP(33), OP_MASK, PPCCOM, {RT, D, RAL}},
8731 -{"lu", OP(33), OP_MASK, PWRCOM, {RT, D, RA0}},
8732 -
8733 -{"lbz", OP(34), OP_MASK, COM, {RT, D, RA0}},
8734 -
8735 -{"lbzu", OP(35), OP_MASK, COM, {RT, D, RAL}},
8736 -
8737 -{"stw", OP(36), OP_MASK, PPCCOM, {RS, D, RA0}},
8738 -{"st", OP(36), OP_MASK, PWRCOM, {RS, D, RA0}},
8739 -
8740 -{"stwu", OP(37), OP_MASK, PPCCOM, {RS, D, RAS}},
8741 -{"stu", OP(37), OP_MASK, PWRCOM, {RS, D, RA0}},
8742 -
8743 -{"stb", OP(38), OP_MASK, COM, {RS, D, RA0}},
8744 -
8745 -{"stbu", OP(39), OP_MASK, COM, {RS, D, RAS}},
8746 -
8747 -{"lhz", OP(40), OP_MASK, COM, {RT, D, RA0}},
8748 -
8749 -{"lhzu", OP(41), OP_MASK, COM, {RT, D, RAL}},
8750 -
8751 -{"lha", OP(42), OP_MASK, COM, {RT, D, RA0}},
8752 -
8753 -{"lhau", OP(43), OP_MASK, COM, {RT, D, RAL}},
8754 -
8755 -{"sth", OP(44), OP_MASK, COM, {RS, D, RA0}},
8756 -
8757 -{"sthu", OP(45), OP_MASK, COM, {RS, D, RAS}},
8758 -
8759 -{"lmw", OP(46), OP_MASK, PPCCOM, {RT, D, RAM}},
8760 -{"lm", OP(46), OP_MASK, PWRCOM, {RT, D, RA0}},
8761 -
8762 -{"stmw", OP(47), OP_MASK, PPCCOM, {RS, D, RA0}},
8763 -{"stm", OP(47), OP_MASK, PWRCOM, {RS, D, RA0}},
8764 -
8765 -{"lfs", OP(48), OP_MASK, COM, {FRT, D, RA0}},
8766 -
8767 -{"lfsu", OP(49), OP_MASK, COM, {FRT, D, RAS}},
8768 -
8769 -{"lfd", OP(50), OP_MASK, COM, {FRT, D, RA0}},
8770 -
8771 -{"lfdu", OP(51), OP_MASK, COM, {FRT, D, RAS}},
8772 -
8773 -{"stfs", OP(52), OP_MASK, COM, {FRS, D, RA0}},
8774 -
8775 -{"stfsu", OP(53), OP_MASK, COM, {FRS, D, RAS}},
8776 -
8777 -{"stfd", OP(54), OP_MASK, COM, {FRS, D, RA0}},
8778 -
8779 -{"stfdu", OP(55), OP_MASK, COM, {FRS, D, RAS}},
8780 -
8781 -{"lq", OP(56), OP_MASK, POWER4, {RTQ, DQ, RAQ}},
8782 -
8783 -{"lfq", OP(56), OP_MASK, POWER2, {FRT, D, RA0}},
8784 -
8785 -{"psq_l", OP(56), OP_MASK, PPCPS, {FRT,PSD,RA,PSW,PSQ}},
8786 -
8787 -{"lfqu", OP(57), OP_MASK, POWER2, {FRT, D, RA0}},
8788 -
8789 -{"psq_lu", OP(57), OP_MASK, PPCPS, {FRT,PSD,RA,PSW,PSQ}},
8790 -
8791 -{"lfdp", OP(57), OP_MASK, POWER6, {FRT, D, RA0}},
8792 -
8793 -{"lbze", DEO(58,0), DE_MASK, BOOKE64, {RT, DE, RA0}},
8794 -{"lbzue", DEO(58,1), DE_MASK, BOOKE64, {RT, DE, RAL}},
8795 -{"lhze", DEO(58,2), DE_MASK, BOOKE64, {RT, DE, RA0}},
8796 -{"lhzue", DEO(58,3), DE_MASK, BOOKE64, {RT, DE, RAL}},
8797 -{"lhae", DEO(58,4), DE_MASK, BOOKE64, {RT, DE, RA0}},
8798 -{"lhaue", DEO(58,5), DE_MASK, BOOKE64, {RT, DE, RAL}},
8799 -{"lwze", DEO(58,6), DE_MASK, BOOKE64, {RT, DE, RA0}},
8800 -{"lwzue", DEO(58,7), DE_MASK, BOOKE64, {RT, DE, RAL}},
8801 -{"stbe", DEO(58,8), DE_MASK, BOOKE64, {RS, DE, RA0}},
8802 -{"stbue", DEO(58,9), DE_MASK, BOOKE64, {RS, DE, RAS}},
8803 -{"sthe", DEO(58,10), DE_MASK, BOOKE64, {RS, DE, RA0}},
8804 -{"sthue", DEO(58,11), DE_MASK, BOOKE64, {RS, DE, RAS}},
8805 -{"stwe", DEO(58,14), DE_MASK, BOOKE64, {RS, DE, RA0}},
8806 -{"stwue", DEO(58,15), DE_MASK, BOOKE64, {RS, DE, RAS}},
8807 -
8808 -{"ld", DSO(58,0), DS_MASK, PPC64, {RT, DS, RA0}},
8809 -{"ldu", DSO(58,1), DS_MASK, PPC64, {RT, DS, RAL}},
8810 -{"lwa", DSO(58,2), DS_MASK, PPC64, {RT, DS, RA0}},
8811 -
8812 -{"dadd", XRC(59,2,0), X_MASK, POWER6, {FRT, FRA, FRB}},
8813 -{"dadd.", XRC(59,2,1), X_MASK, POWER6, {FRT, FRA, FRB}},
8814 -
8815 -{"dqua", ZRC(59,3,0), Z2_MASK, POWER6, {FRT,FRA,FRB,RMC}},
8816 -{"dqua.", ZRC(59,3,1), Z2_MASK, POWER6, {FRT,FRA,FRB,RMC}},
8817 -
8818 -{"fdivs", A(59,18,0), AFRC_MASK, PPC, {FRT, FRA, FRB}},
8819 -{"fdivs.", A(59,18,1), AFRC_MASK, PPC, {FRT, FRA, FRB}},
8820 -
8821 -{"fsubs", A(59,20,0), AFRC_MASK, PPC, {FRT, FRA, FRB}},
8822 -{"fsubs.", A(59,20,1), AFRC_MASK, PPC, {FRT, FRA, FRB}},
8823 -
8824 -{"fadds", A(59,21,0), AFRC_MASK, PPC, {FRT, FRA, FRB}},
8825 -{"fadds.", A(59,21,1), AFRC_MASK, PPC, {FRT, FRA, FRB}},
8826 -
8827 -{"fsqrts", A(59,22,0), AFRAFRC_MASK, PPC, {FRT, FRB}},
8828 -{"fsqrts.", A(59,22,1), AFRAFRC_MASK, PPC, {FRT, FRB}},
8829 -
8830 -{"fres", A(59,24,0), AFRALFRC_MASK, PPC, {FRT, FRB, A_L}},
8831 -{"fres.", A(59,24,1), AFRALFRC_MASK, PPC, {FRT, FRB, A_L}},
8832 -
8833 -{"fmuls", A(59,25,0), AFRB_MASK, PPC, {FRT, FRA, FRC}},
8834 -{"fmuls.", A(59,25,1), AFRB_MASK, PPC, {FRT, FRA, FRC}},
8835 -
8836 -{"frsqrtes", A(59,26,0), AFRALFRC_MASK, POWER5, {FRT, FRB, A_L}},
8837 -{"frsqrtes.", A(59,26,1), AFRALFRC_MASK, POWER5, {FRT, FRB, A_L}},
8838 -
8839 -{"fmsubs", A(59,28,0), A_MASK, PPC, {FRT, FRA, FRC, FRB}},
8840 -{"fmsubs.", A(59,28,1), A_MASK, PPC, {FRT, FRA, FRC, FRB}},
8841 -
8842 -{"fmadds", A(59,29,0), A_MASK, PPC, {FRT, FRA, FRC, FRB}},
8843 -{"fmadds.", A(59,29,1), A_MASK, PPC, {FRT, FRA, FRC, FRB}},
8844 -
8845 -{"fnmsubs", A(59,30,0), A_MASK, PPC, {FRT, FRA, FRC, FRB}},
8846 -{"fnmsubs.", A(59,30,1), A_MASK, PPC, {FRT, FRA, FRC, FRB}},
8847 -
8848 -{"fnmadds", A(59,31,0), A_MASK, PPC, {FRT, FRA, FRC, FRB}},
8849 -{"fnmadds.", A(59,31,1), A_MASK, PPC, {FRT, FRA, FRC, FRB}},
8850 -
8851 -{"dmul", XRC(59,34,0), X_MASK, POWER6, {FRT, FRA, FRB}},
8852 -{"dmul.", XRC(59,34,1), X_MASK, POWER6, {FRT, FRA, FRB}},
8853 -
8854 -{"drrnd", ZRC(59,35,0), Z2_MASK, POWER6, {FRT, FRA, FRB, RMC}},
8855 -{"drrnd.", ZRC(59,35,1), Z2_MASK, POWER6, {FRT, FRA, FRB, RMC}},
8856 -
8857 -{"dscli", ZRC(59,66,0), Z_MASK, POWER6, {FRT, FRA, SH16}},
8858 -{"dscli.", ZRC(59,66,1), Z_MASK, POWER6, {FRT, FRA, SH16}},
8859 -
8860 -{"dquai", ZRC(59,67,0), Z2_MASK, POWER6, {TE, FRT,FRB,RMC}},
8861 -{"dquai.", ZRC(59,67,1), Z2_MASK, POWER6, {TE, FRT,FRB,RMC}},
8862 -
8863 -{"dscri", ZRC(59,98,0), Z_MASK, POWER6, {FRT, FRA, SH16}},
8864 -{"dscri.", ZRC(59,98,1), Z_MASK, POWER6, {FRT, FRA, SH16}},
8865 -
8866 -{"drintx", ZRC(59,99,0), Z2_MASK, POWER6, {R, FRT, FRB, RMC}},
8867 -{"drintx.", ZRC(59,99,1), Z2_MASK, POWER6, {R, FRT, FRB, RMC}},
8868 -
8869 -{"dcmpo", X(59,130), X_MASK, POWER6, {BF, FRA, FRB}},
8870 -
8871 -{"dtstex", X(59,162), X_MASK, POWER6, {BF, FRA, FRB}},
8872 -{"dtstdc", Z(59,194), Z_MASK, POWER6, {BF, FRA, DCM}},
8873 -{"dtstdg", Z(59,226), Z_MASK, POWER6, {BF, FRA, DGM}},
8874 -
8875 -{"drintn", ZRC(59,227,0), Z2_MASK, POWER6, {R, FRT, FRB, RMC}},
8876 -{"drintn.", ZRC(59,227,1), Z2_MASK, POWER6, {R, FRT, FRB, RMC}},
8877 -
8878 -{"dctdp", XRC(59,258,0), X_MASK, POWER6, {FRT, FRB}},
8879 -{"dctdp.", XRC(59,258,1), X_MASK, POWER6, {FRT, FRB}},
8880 -
8881 -{"dctfix", XRC(59,290,0), X_MASK, POWER6, {FRT, FRB}},
8882 -{"dctfix.", XRC(59,290,1), X_MASK, POWER6, {FRT, FRB}},
8883 -
8884 -{"ddedpd", XRC(59,322,0), X_MASK, POWER6, {SP, FRT, FRB}},
8885 -{"ddedpd.", XRC(59,322,1), X_MASK, POWER6, {SP, FRT, FRB}},
8886 -
8887 -{"dxex", XRC(59,354,0), X_MASK, POWER6, {FRT, FRB}},
8888 -{"dxex.", XRC(59,354,1), X_MASK, POWER6, {FRT, FRB}},
8889 -
8890 -{"dsub", XRC(59,514,0), X_MASK, POWER6, {FRT, FRA, FRB}},
8891 -{"dsub.", XRC(59,514,1), X_MASK, POWER6, {FRT, FRA, FRB}},
8892 -
8893 -{"ddiv", XRC(59,546,0), X_MASK, POWER6, {FRT, FRA, FRB}},
8894 -{"ddiv.", XRC(59,546,1), X_MASK, POWER6, {FRT, FRA, FRB}},
8895 -
8896 -{"dcmpu", X(59,642), X_MASK, POWER6, {BF, FRA, FRB}},
8897 -
8898 -{"dtstsf", X(59,674), X_MASK, POWER6, {BF, FRA, FRB}},
8899 -
8900 -{"drsp", XRC(59,770,0), X_MASK, POWER6, {FRT, FRB}},
8901 -{"drsp.", XRC(59,770,1), X_MASK, POWER6, {FRT, FRB}},
8902 -
8903 -{"denbcd", XRC(59,834,0), X_MASK, POWER6, {S, FRT, FRB}},
8904 -{"denbcd.", XRC(59,834,1), X_MASK, POWER6, {S, FRT, FRB}},
8905 -
8906 -{"diex", XRC(59,866,0), X_MASK, POWER6, {FRT, FRA, FRB}},
8907 -{"diex.", XRC(59,866,1), X_MASK, POWER6, {FRT, FRA, FRB}},
8908 -
8909 -{"stfq", OP(60), OP_MASK, POWER2, {FRS, D, RA}},
8910 -
8911 -{"psq_st", OP(60), OP_MASK, PPCPS, {FRS,PSD,RA,PSW,PSQ}},
8912 -
8913 -{"xxmrghd", XX3(60,10), XX3_MASK, PPCVSX, {XT6, XA6, XB6}},
8914 -{"xxmrgld", XX3(60,10)|(3<<8), XX3_MASK, PPCVSX, {XT6, XA6, XB6}},
8915 -{"xxpermdi", XX3(60,10), XX3DM_MASK, PPCVSX, {XT6, XA6, XB6, DM}},
8916 -{"xvmovdp", XX3(60,240), XX3_MASK, PPCVSX, {XT6, XA6, XB6S}},
8917 -{"xvcpsgndp", XX3(60,240), XX3_MASK, PPCVSX, {XT6, XA6, XB6}},
8918 -
8919 -{"psq_stu", OP(61), OP_MASK, PPCPS, {FRS,PSD,RA,PSW,PSQ}},
8920 -
8921 -{"stfqu", OP(61), OP_MASK, POWER2, {FRS, D, RA}},
8922 -
8923 -{"stfdp", OP(61), OP_MASK, POWER6, {FRT, D, RA0}},
8924 -
8925 -{"lde", DEO(62,0), DE_MASK, BOOKE64, {RT, DES, RA0}},
8926 -{"ldue", DEO(62,1), DE_MASK, BOOKE64, {RT, DES, RA0}},
8927 -{"lfse", DEO(62,4), DE_MASK, BOOKE64, {FRT, DES, RA0}},
8928 -{"lfsue", DEO(62,5), DE_MASK, BOOKE64, {FRT, DES, RAS}},
8929 -{"lfde", DEO(62,6), DE_MASK, BOOKE64, {FRT, DES, RA0}},
8930 -{"lfdue", DEO(62,7), DE_MASK, BOOKE64, {FRT, DES, RAS}},
8931 -{"stde", DEO(62,8), DE_MASK, BOOKE64, {RS, DES, RA0}},
8932 -{"stdue", DEO(62,9), DE_MASK, BOOKE64, {RS, DES, RAS}},
8933 -{"stfse", DEO(62,12), DE_MASK, BOOKE64, {FRS, DES, RA0}},
8934 -{"stfsue", DEO(62,13), DE_MASK, BOOKE64, {FRS, DES, RAS}},
8935 -{"stfde", DEO(62,14), DE_MASK, BOOKE64, {FRS, DES, RA0}},
8936 -{"stfdue", DEO(62,15), DE_MASK, BOOKE64, {FRS, DES, RAS}},
8937 -
8938 -{"std", DSO(62,0), DS_MASK, PPC64, {RS, DS, RA0}},
8939 -{"stdu", DSO(62,1), DS_MASK, PPC64, {RS, DS, RAS}},
8940 -{"stq", DSO(62,2), DS_MASK, POWER4, {RSQ, DS, RA0}},
8941 -
8942 -{"fcmpu", X(63,0), X_MASK|(3<<21), COM, {BF, FRA, FRB}},
8943 -
8944 -{"daddq", XRC(63,2,0), X_MASK, POWER6, {FRT, FRA, FRB}},
8945 -{"daddq.", XRC(63,2,1), X_MASK, POWER6, {FRT, FRA, FRB}},
8946 -
8947 -{"dquaq", ZRC(63,3,0), Z2_MASK, POWER6, {FRT, FRA, FRB, RMC}},
8948 -{"dquaq.", ZRC(63,3,1), Z2_MASK, POWER6, {FRT, FRA, FRB, RMC}},
8949 -
8950 -{"fcpsgn", XRC(63,8,0), X_MASK, POWER6, {FRT, FRA, FRB}},
8951 -{"fcpsgn.", XRC(63,8,1), X_MASK, POWER6, {FRT, FRA, FRB}},
8952 -
8953 -{"frsp", XRC(63,12,0), XRA_MASK, COM, {FRT, FRB}},
8954 -{"frsp.", XRC(63,12,1), XRA_MASK, COM, {FRT, FRB}},
8955 -
8956 -{"fctiw", XRC(63,14,0), XRA_MASK, PPCCOM, {FRT, FRB}},
8957 -{"fcir", XRC(63,14,0), XRA_MASK, POWER2, {FRT, FRB}},
8958 -{"fctiw.", XRC(63,14,1), XRA_MASK, PPCCOM, {FRT, FRB}},
8959 -{"fcir.", XRC(63,14,1), XRA_MASK, POWER2, {FRT, FRB}},
8960 -
8961 -{"fctiwz", XRC(63,15,0), XRA_MASK, PPCCOM, {FRT, FRB}},
8962 -{"fcirz", XRC(63,15,0), XRA_MASK, POWER2, {FRT, FRB}},
8963 -{"fctiwz.", XRC(63,15,1), XRA_MASK, PPCCOM, {FRT, FRB}},
8964 -{"fcirz.", XRC(63,15,1), XRA_MASK, POWER2, {FRT, FRB}},
8965 -
8966 -{"fdiv", A(63,18,0), AFRC_MASK, PPCCOM, {FRT, FRA, FRB}},
8967 -{"fd", A(63,18,0), AFRC_MASK, PWRCOM, {FRT, FRA, FRB}},
8968 -{"fdiv.", A(63,18,1), AFRC_MASK, PPCCOM, {FRT, FRA, FRB}},
8969 -{"fd.", A(63,18,1), AFRC_MASK, PWRCOM, {FRT, FRA, FRB}},
8970 -
8971 -{"fsub", A(63,20,0), AFRC_MASK, PPCCOM, {FRT, FRA, FRB}},
8972 -{"fs", A(63,20,0), AFRC_MASK, PWRCOM, {FRT, FRA, FRB}},
8973 -{"fsub.", A(63,20,1), AFRC_MASK, PPCCOM, {FRT, FRA, FRB}},
8974 -{"fs.", A(63,20,1), AFRC_MASK, PWRCOM, {FRT, FRA, FRB}},
8975 -
8976 -{"fadd", A(63,21,0), AFRC_MASK, PPCCOM, {FRT, FRA, FRB}},
8977 -{"fa", A(63,21,0), AFRC_MASK, PWRCOM, {FRT, FRA, FRB}},
8978 -{"fadd.", A(63,21,1), AFRC_MASK, PPCCOM, {FRT, FRA, FRB}},
8979 -{"fa.", A(63,21,1), AFRC_MASK, PWRCOM, {FRT, FRA, FRB}},
8980 -
8981 -{"fsqrt", A(63,22,0), AFRAFRC_MASK, PPCPWR2, {FRT, FRB}},
8982 -{"fsqrt.", A(63,22,1), AFRAFRC_MASK, PPCPWR2, {FRT, FRB}},
8983 -
8984 -{"fsel", A(63,23,0), A_MASK, PPC, {FRT, FRA, FRC, FRB}},
8985 -{"fsel.", A(63,23,1), A_MASK, PPC, {FRT, FRA, FRC, FRB}},
8986 -
8987 -{"fre", A(63,24,0), AFRALFRC_MASK, POWER5, {FRT, FRB, A_L}},
8988 -{"fre.", A(63,24,1), AFRALFRC_MASK, POWER5, {FRT, FRB, A_L}},
8989 -
8990 -{"fmul", A(63,25,0), AFRB_MASK, PPCCOM, {FRT, FRA, FRC}},
8991 -{"fm", A(63,25,0), AFRB_MASK, PWRCOM, {FRT, FRA, FRC}},
8992 -{"fmul.", A(63,25,1), AFRB_MASK, PPCCOM, {FRT, FRA, FRC}},
8993 -{"fm.", A(63,25,1), AFRB_MASK, PWRCOM, {FRT, FRA, FRC}},
8994 -
8995 -{"frsqrte", A(63,26,0), AFRALFRC_MASK, PPC, {FRT, FRB, A_L}},
8996 -{"frsqrte.", A(63,26,1), AFRALFRC_MASK, PPC, {FRT, FRB, A_L}},
8997 -
8998 -{"fmsub", A(63,28,0), A_MASK, PPCCOM, {FRT, FRA, FRC, FRB}},
8999 -{"fms", A(63,28,0), A_MASK, PWRCOM, {FRT, FRA, FRC, FRB}},
9000 -{"fmsub.", A(63,28,1), A_MASK, PPCCOM, {FRT, FRA, FRC, FRB}},
9001 -{"fms.", A(63,28,1), A_MASK, PWRCOM, {FRT, FRA, FRC, FRB}},
9002 -
9003 -{"fmadd", A(63,29,0), A_MASK, PPCCOM, {FRT, FRA, FRC, FRB}},
9004 -{"fma", A(63,29,0), A_MASK, PWRCOM, {FRT, FRA, FRC, FRB}},
9005 -{"fmadd.", A(63,29,1), A_MASK, PPCCOM, {FRT, FRA, FRC, FRB}},
9006 -{"fma.", A(63,29,1), A_MASK, PWRCOM, {FRT, FRA, FRC, FRB}},
9007 -
9008 -{"fnmsub", A(63,30,0), A_MASK, PPCCOM, {FRT, FRA, FRC, FRB}},
9009 -{"fnms", A(63,30,0), A_MASK, PWRCOM, {FRT, FRA, FRC, FRB}},
9010 -{"fnmsub.", A(63,30,1), A_MASK, PPCCOM, {FRT, FRA, FRC, FRB}},
9011 -{"fnms.", A(63,30,1), A_MASK, PWRCOM, {FRT, FRA, FRC, FRB}},
9012 -
9013 -{"fnmadd", A(63,31,0), A_MASK, PPCCOM, {FRT, FRA, FRC, FRB}},
9014 -{"fnma", A(63,31,0), A_MASK, PWRCOM, {FRT, FRA, FRC, FRB}},
9015 -{"fnmadd.", A(63,31,1), A_MASK, PPCCOM, {FRT, FRA, FRC, FRB}},
9016 -{"fnma.", A(63,31,1), A_MASK, PWRCOM, {FRT, FRA, FRC, FRB}},
9017 -
9018 -{"fcmpo", X(63,32), X_MASK|(3<<21), COM, {BF, FRA, FRB}},
9019 -
9020 -{"dmulq", XRC(63,34,0), X_MASK, POWER6, {FRT, FRA, FRB}},
9021 -{"dmulq.", XRC(63,34,1), X_MASK, POWER6, {FRT, FRA, FRB}},
9022 -
9023 -{"drrndq", ZRC(63,35,0), Z2_MASK, POWER6, {FRT, FRA, FRB, RMC}},
9024 -{"drrndq.", ZRC(63,35,1), Z2_MASK, POWER6, {FRT, FRA, FRB, RMC}},
9025 -
9026 -{"mtfsb1", XRC(63,38,0), XRARB_MASK, COM, {BT}},
9027 -{"mtfsb1.", XRC(63,38,1), XRARB_MASK, COM, {BT}},
9028 -
9029 -{"fneg", XRC(63,40,0), XRA_MASK, COM, {FRT, FRB}},
9030 -{"fneg.", XRC(63,40,1), XRA_MASK, COM, {FRT, FRB}},
9031 -
9032 -{"mcrfs", X(63,64), XRB_MASK|(3<<21)|(3<<16), COM, {BF, BFA}},
9033 -
9034 -{"dscliq", ZRC(63,66,0), Z_MASK, POWER6, {FRT, FRA, SH16}},
9035 -{"dscliq.", ZRC(63,66,1), Z_MASK, POWER6, {FRT, FRA, SH16}},
9036 -
9037 -{"dquaiq", ZRC(63,67,0), Z2_MASK, POWER6, {TE, FRT, FRB, RMC}},
9038 -{"dquaiq.", ZRC(63,67,1), Z2_MASK, POWER6, {TE, FRT, FRB, RMC}},
9039 -
9040 -{"mtfsb0", XRC(63,70,0), XRARB_MASK, COM, {BT}},
9041 -{"mtfsb0.", XRC(63,70,1), XRARB_MASK, COM, {BT}},
9042 -
9043 -{"fmr", XRC(63,72,0), XRA_MASK, COM, {FRT, FRB}},
9044 -{"fmr.", XRC(63,72,1), XRA_MASK, COM, {FRT, FRB}},
9045 -
9046 -{"dscriq", ZRC(63,98,0), Z_MASK, POWER6, {FRT, FRA, SH16}},
9047 -{"dscriq.", ZRC(63,98,1), Z_MASK, POWER6, {FRT, FRA, SH16}},
9048 -
9049 -{"drintxq", ZRC(63,99,0), Z2_MASK, POWER6, {R, FRT, FRB, RMC}},
9050 -{"drintxq.", ZRC(63,99,1), Z2_MASK, POWER6, {R, FRT, FRB, RMC}},
9051 -
9052 -{"dcmpoq", X(63,130), X_MASK, POWER6, {BF, FRA, FRB}},
9053 -
9054 -{"mtfsfi", XRC(63,134,0), XWRA_MASK|(3<<21)|(1<<11), COM, {BFF, U, W}},
9055 -{"mtfsfi.", XRC(63,134,1), XWRA_MASK|(3<<21)|(1<<11), COM, {BFF, U, W}},
9056 -
9057 -{"fnabs", XRC(63,136,0), XRA_MASK, COM, {FRT, FRB}},
9058 -{"fnabs.", XRC(63,136,1), XRA_MASK, COM, {FRT, FRB}},
9059 -
9060 -{"dtstexq", X(63,162), X_MASK, POWER6, {BF, FRA, FRB}},
9061 -{"dtstdcq", Z(63,194), Z_MASK, POWER6, {BF, FRA, DCM}},
9062 -{"dtstdgq", Z(63,226), Z_MASK, POWER6, {BF, FRA, DGM}},
9063 -
9064 -{"drintnq", ZRC(63,227,0), Z2_MASK, POWER6, {R, FRT, FRB, RMC}},
9065 -{"drintnq.", ZRC(63,227,1), Z2_MASK, POWER6, {R, FRT, FRB, RMC}},
9066 -
9067 -{"dctqpq", XRC(63,258,0), X_MASK, POWER6, {FRT, FRB}},
9068 -{"dctqpq.", XRC(63,258,1), X_MASK, POWER6, {FRT, FRB}},
9069 -
9070 -{"fabs", XRC(63,264,0), XRA_MASK, COM, {FRT, FRB}},
9071 -{"fabs.", XRC(63,264,1), XRA_MASK, COM, {FRT, FRB}},
9072 -
9073 -{"dctfixq", XRC(63,290,0), X_MASK, POWER6, {FRT, FRB}},
9074 -{"dctfixq.", XRC(63,290,1), X_MASK, POWER6, {FRT, FRB}},
9075 -
9076 -{"ddedpdq", XRC(63,322,0), X_MASK, POWER6, {SP, FRT, FRB}},
9077 -{"ddedpdq.", XRC(63,322,1), X_MASK, POWER6, {SP, FRT, FRB}},
9078 -
9079 -{"dxexq", XRC(63,354,0), X_MASK, POWER6, {FRT, FRB}},
9080 -{"dxexq.", XRC(63,354,1), X_MASK, POWER6, {FRT, FRB}},
9081 -
9082 -{"frin", XRC(63,392,0), XRA_MASK, POWER5, {FRT, FRB}},
9083 -{"frin.", XRC(63,392,1), XRA_MASK, POWER5, {FRT, FRB}},
9084 -{"friz", XRC(63,424,0), XRA_MASK, POWER5, {FRT, FRB}},
9085 -{"friz.", XRC(63,424,1), XRA_MASK, POWER5, {FRT, FRB}},
9086 -{"frip", XRC(63,456,0), XRA_MASK, POWER5, {FRT, FRB}},
9087 -{"frip.", XRC(63,456,1), XRA_MASK, POWER5, {FRT, FRB}},
9088 -{"frim", XRC(63,488,0), XRA_MASK, POWER5, {FRT, FRB}},
9089 -{"frim.", XRC(63,488,1), XRA_MASK, POWER5, {FRT, FRB}},
9090 -
9091 -{"dsubq", XRC(63,514,0), X_MASK, POWER6, {FRT, FRA, FRB}},
9092 -{"dsubq.", XRC(63,514,1), X_MASK, POWER6, {FRT, FRA, FRB}},
9093 -
9094 -{"ddivq", XRC(63,546,0), X_MASK, POWER6, {FRT, FRA, FRB}},
9095 -{"ddivq.", XRC(63,546,1), X_MASK, POWER6, {FRT, FRA, FRB}},
9096 -
9097 -{"mffs", XRC(63,583,0), XRARB_MASK, COM, {FRT}},
9098 -{"mffs.", XRC(63,583,1), XRARB_MASK, COM, {FRT}},
9099 -
9100 -{"dcmpuq", X(63,642), X_MASK, POWER6, {BF, FRA, FRB}},
9101 -
9102 -{"dtstsfq", X(63,674), X_MASK, POWER6, {BF, FRA, FRB}},
9103 -
9104 -{"mtfsf", XFL(63,711,0), XFL_MASK, COM, {FLM, FRB, XFL_L, W}},
9105 -{"mtfsf.", XFL(63,711,1), XFL_MASK, COM, {FLM, FRB, XFL_L, W}},
9106 -
9107 -{"drdpq", XRC(63,770,0), X_MASK, POWER6, {FRT, FRB}},
9108 -{"drdpq.", XRC(63,770,1), X_MASK, POWER6, {FRT, FRB}},
9109 -
9110 -{"dcffixq", XRC(63,802,0), X_MASK, POWER6, {FRT, FRB}},
9111 -{"dcffixq.", XRC(63,802,1), X_MASK, POWER6, {FRT, FRB}},
9112 -
9113 -{"fctid", XRC(63,814,0), XRA_MASK, PPC64, {FRT, FRB}},
9114 -{"fctid.", XRC(63,814,1), XRA_MASK, PPC64, {FRT, FRB}},
9115 -
9116 -{"fctidz", XRC(63,815,0), XRA_MASK, PPC64, {FRT, FRB}},
9117 -{"fctidz.", XRC(63,815,1), XRA_MASK, PPC64, {FRT, FRB}},
9118 -
9119 -{"denbcdq", XRC(63,834,0), X_MASK, POWER6, {S, FRT, FRB}},
9120 -{"denbcdq.", XRC(63,834,1), X_MASK, POWER6, {S, FRT, FRB}},
9121 +{"attn", X(0,256), X_MASK, POWER4, PPCNONE, {0}},
9122 +{"tdlgti", OPTO(2,TOLGT), OPTO_MASK, PPC64, PPCNONE, {RA, SI}},
9123 +{"tdllti", OPTO(2,TOLLT), OPTO_MASK, PPC64, PPCNONE, {RA, SI}},
9124 +{"tdeqi", OPTO(2,TOEQ), OPTO_MASK, PPC64, PPCNONE, {RA, SI}},
9125 +{"tdlgei", OPTO(2,TOLGE), OPTO_MASK, PPC64, PPCNONE, {RA, SI}},
9126 +{"tdlnli", OPTO(2,TOLNL), OPTO_MASK, PPC64, PPCNONE, {RA, SI}},
9127 +{"tdllei", OPTO(2,TOLLE), OPTO_MASK, PPC64, PPCNONE, {RA, SI}},
9128 +{"tdlngi", OPTO(2,TOLNG), OPTO_MASK, PPC64, PPCNONE, {RA, SI}},
9129 +{"tdgti", OPTO(2,TOGT), OPTO_MASK, PPC64, PPCNONE, {RA, SI}},
9130 +{"tdgei", OPTO(2,TOGE), OPTO_MASK, PPC64, PPCNONE, {RA, SI}},
9131 +{"tdnli", OPTO(2,TONL), OPTO_MASK, PPC64, PPCNONE, {RA, SI}},
9132 +{"tdlti", OPTO(2,TOLT), OPTO_MASK, PPC64, PPCNONE, {RA, SI}},
9133 +{"tdlei", OPTO(2,TOLE), OPTO_MASK, PPC64, PPCNONE, {RA, SI}},
9134 +{"tdngi", OPTO(2,TONG), OPTO_MASK, PPC64, PPCNONE, {RA, SI}},
9135 +{"tdnei", OPTO(2,TONE), OPTO_MASK, PPC64, PPCNONE, {RA, SI}},
9136 +{"tdi", OP(2), OP_MASK, PPC64, PPCNONE, {TO, RA, SI}},
9137 +
9138 +{"twlgti", OPTO(3,TOLGT), OPTO_MASK, PPCCOM, PPCNONE, {RA, SI}},
9139 +{"tlgti", OPTO(3,TOLGT), OPTO_MASK, PWRCOM, PPCNONE, {RA, SI}},
9140 +{"twllti", OPTO(3,TOLLT), OPTO_MASK, PPCCOM, PPCNONE, {RA, SI}},
9141 +{"tllti", OPTO(3,TOLLT), OPTO_MASK, PWRCOM, PPCNONE, {RA, SI}},
9142 +{"tweqi", OPTO(3,TOEQ), OPTO_MASK, PPCCOM, PPCNONE, {RA, SI}},
9143 +{"teqi", OPTO(3,TOEQ), OPTO_MASK, PWRCOM, PPCNONE, {RA, SI}},
9144 +{"twlgei", OPTO(3,TOLGE), OPTO_MASK, PPCCOM, PPCNONE, {RA, SI}},
9145 +{"tlgei", OPTO(3,TOLGE), OPTO_MASK, PWRCOM, PPCNONE, {RA, SI}},
9146 +{"twlnli", OPTO(3,TOLNL), OPTO_MASK, PPCCOM, PPCNONE, {RA, SI}},
9147 +{"tlnli", OPTO(3,TOLNL), OPTO_MASK, PWRCOM, PPCNONE, {RA, SI}},
9148 +{"twllei", OPTO(3,TOLLE), OPTO_MASK, PPCCOM, PPCNONE, {RA, SI}},
9149 +{"tllei", OPTO(3,TOLLE), OPTO_MASK, PWRCOM, PPCNONE, {RA, SI}},
9150 +{"twlngi", OPTO(3,TOLNG), OPTO_MASK, PPCCOM, PPCNONE, {RA, SI}},
9151 +{"tlngi", OPTO(3,TOLNG), OPTO_MASK, PWRCOM, PPCNONE, {RA, SI}},
9152 +{"twgti", OPTO(3,TOGT), OPTO_MASK, PPCCOM, PPCNONE, {RA, SI}},
9153 +{"tgti", OPTO(3,TOGT), OPTO_MASK, PWRCOM, PPCNONE, {RA, SI}},
9154 +{"twgei", OPTO(3,TOGE), OPTO_MASK, PPCCOM, PPCNONE, {RA, SI}},
9155 +{"tgei", OPTO(3,TOGE), OPTO_MASK, PWRCOM, PPCNONE, {RA, SI}},
9156 +{"twnli", OPTO(3,TONL), OPTO_MASK, PPCCOM, PPCNONE, {RA, SI}},
9157 +{"tnli", OPTO(3,TONL), OPTO_MASK, PWRCOM, PPCNONE, {RA, SI}},
9158 +{"twlti", OPTO(3,TOLT), OPTO_MASK, PPCCOM, PPCNONE, {RA, SI}},
9159 +{"tlti", OPTO(3,TOLT), OPTO_MASK, PWRCOM, PPCNONE, {RA, SI}},
9160 +{"twlei", OPTO(3,TOLE), OPTO_MASK, PPCCOM, PPCNONE, {RA, SI}},
9161 +{"tlei", OPTO(3,TOLE), OPTO_MASK, PWRCOM, PPCNONE, {RA, SI}},
9162 +{"twngi", OPTO(3,TONG), OPTO_MASK, PPCCOM, PPCNONE, {RA, SI}},
9163 +{"tngi", OPTO(3,TONG), OPTO_MASK, PWRCOM, PPCNONE, {RA, SI}},
9164 +{"twnei", OPTO(3,TONE), OPTO_MASK, PPCCOM, PPCNONE, {RA, SI}},
9165 +{"tnei", OPTO(3,TONE), OPTO_MASK, PWRCOM, PPCNONE, {RA, SI}},
9166 +{"twi", OP(3), OP_MASK, PPCCOM, PPCNONE, {TO, RA, SI}},
9167 +{"ti", OP(3), OP_MASK, PWRCOM, PPCNONE, {TO, RA, SI}},
9168 +
9169 +{"ps_cmpu0", X (4, 0), X_MASK|(3<<21), PPCPS, PPCNONE, {BF, FRA, FRB}},
9170 +{"vaddubm", VX (4, 0), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9171 +{"vmaxub", VX (4, 2), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9172 +{"vrlb", VX (4, 4), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9173 +{"vcmpequb", VXR(4, 6,0), VXR_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9174 +{"vmuloub", VX (4, 8), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9175 +{"vaddfp", VX (4, 10), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9176 +{"psq_lx", XW (4, 6,0), XW_MASK, PPCPS, PPCNONE, {FRT,RA,RB,PSWM,PSQM}},
9177 +{"vmrghb", VX (4, 12), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9178 +{"psq_stx", XW (4, 7,0), XW_MASK, PPCPS, PPCNONE, {FRS,RA,RB,PSWM,PSQM}},
9179 +{"vpkuhum", VX (4, 14), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9180 +{"mulhhwu", XRC(4, 8,0), X_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9181 +{"mulhhwu.", XRC(4, 8,1), X_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9182 +{"ps_sum0", A (4, 10,0), A_MASK, PPCPS, PPCNONE, {FRT, FRA, FRC, FRB}},
9183 +{"ps_sum0.", A (4, 10,1), A_MASK, PPCPS, PPCNONE, {FRT, FRA, FRC, FRB}},
9184 +{"ps_sum1", A (4, 11,0), A_MASK, PPCPS, PPCNONE, {FRT, FRA, FRC, FRB}},
9185 +{"ps_sum1.", A (4, 11,1), A_MASK, PPCPS, PPCNONE, {FRT, FRA, FRC, FRB}},
9186 +{"ps_muls0", A (4, 12,0), AFRB_MASK, PPCPS, PPCNONE, {FRT, FRA, FRC}},
9187 +{"machhwu", XO (4, 12,0,0),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9188 +{"ps_muls0.", A (4, 12,1), AFRB_MASK, PPCPS, PPCNONE, {FRT, FRA, FRC}},
9189 +{"machhwu.", XO (4, 12,0,1),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9190 +{"ps_muls1", A (4, 13,0), AFRB_MASK, PPCPS, PPCNONE, {FRT, FRA, FRC}},
9191 +{"ps_muls1.", A (4, 13,1), AFRB_MASK, PPCPS, PPCNONE, {FRT, FRA, FRC}},
9192 +{"ps_madds0", A (4, 14,0), A_MASK, PPCPS, PPCNONE, {FRT, FRA, FRC, FRB}},
9193 +{"ps_madds0.", A (4, 14,1), A_MASK, PPCPS, PPCNONE, {FRT, FRA, FRC, FRB}},
9194 +{"ps_madds1", A (4, 15,0), A_MASK, PPCPS, PPCNONE, {FRT, FRA, FRC, FRB}},
9195 +{"ps_madds1.", A (4, 15,1), A_MASK, PPCPS, PPCNONE, {FRT, FRA, FRC, FRB}},
9196 +{"vmhaddshs", VXA(4, 32), VXA_MASK, PPCVEC, PPCNONE, {VD, VA, VB, VC}},
9197 +{"vmhraddshs", VXA(4, 33), VXA_MASK, PPCVEC, PPCNONE, {VD, VA, VB, VC}},
9198 +{"vmladduhm", VXA(4, 34), VXA_MASK, PPCVEC, PPCNONE, {VD, VA, VB, VC}},
9199 +{"ps_div", A (4, 18,0), AFRC_MASK, PPCPS, PPCNONE, {FRT, FRA, FRB}},
9200 +{"vmsumubm", VXA(4, 36), VXA_MASK, PPCVEC, PPCNONE, {VD, VA, VB, VC}},
9201 +{"ps_div.", A (4, 18,1), AFRC_MASK, PPCPS, PPCNONE, {FRT, FRA, FRB}},
9202 +{"vmsummbm", VXA(4, 37), VXA_MASK, PPCVEC, PPCNONE, {VD, VA, VB, VC}},
9203 +{"vmsumuhm", VXA(4, 38), VXA_MASK, PPCVEC, PPCNONE, {VD, VA, VB, VC}},
9204 +{"vmsumuhs", VXA(4, 39), VXA_MASK, PPCVEC, PPCNONE, {VD, VA, VB, VC}},
9205 +{"ps_sub", A (4, 20,0), AFRC_MASK, PPCPS, PPCNONE, {FRT, FRA, FRB}},
9206 +{"vmsumshm", VXA(4, 40), VXA_MASK, PPCVEC, PPCNONE, {VD, VA, VB, VC}},
9207 +{"ps_sub.", A (4, 20,1), AFRC_MASK, PPCPS, PPCNONE, {FRT, FRA, FRB}},
9208 +{"vmsumshs", VXA(4, 41), VXA_MASK, PPCVEC, PPCNONE, {VD, VA, VB, VC}},
9209 +{"ps_add", A (4, 21,0), AFRC_MASK, PPCPS, PPCNONE, {FRT, FRA, FRB}},
9210 +{"vsel", VXA(4, 42), VXA_MASK, PPCVEC, PPCNONE, {VD, VA, VB, VC}},
9211 +{"ps_add.", A (4, 21,1), AFRC_MASK, PPCPS, PPCNONE, {FRT, FRA, FRB}},
9212 +{"vperm", VXA(4, 43), VXA_MASK, PPCVEC, PPCNONE, {VD, VA, VB, VC}},
9213 +{"vsldoi", VXA(4, 44), VXA_MASK, PPCVEC, PPCNONE, {VD, VA, VB, SHB}},
9214 +{"ps_sel", A (4, 23,0), A_MASK, PPCPS, PPCNONE, {FRT, FRA, FRC, FRB}},
9215 +{"vmaddfp", VXA(4, 46), VXA_MASK, PPCVEC, PPCNONE, {VD, VA, VC, VB}},
9216 +{"ps_sel.", A (4, 23,1), A_MASK, PPCPS, PPCNONE, {FRT, FRA, FRC, FRB}},
9217 +{"vnmsubfp", VXA(4, 47), VXA_MASK, PPCVEC, PPCNONE, {VD, VA, VC, VB}},
9218 +{"ps_res", A (4, 24,0), AFRAFRC_MASK, PPCPS, PPCNONE, {FRT, FRB}},
9219 +{"ps_res.", A (4, 24,1), AFRAFRC_MASK, PPCPS, PPCNONE, {FRT, FRB}},
9220 +{"ps_mul", A (4, 25,0), AFRB_MASK, PPCPS, PPCNONE, {FRT, FRA, FRC}},
9221 +{"ps_mul.", A (4, 25,1), AFRB_MASK, PPCPS, PPCNONE, {FRT, FRA, FRC}},
9222 +{"ps_rsqrte", A (4, 26,0), AFRAFRC_MASK, PPCPS, PPCNONE, {FRT, FRB}},
9223 +{"ps_rsqrte.", A (4, 26,1), AFRAFRC_MASK, PPCPS, PPCNONE, {FRT, FRB}},
9224 +{"ps_msub", A (4, 28,0), A_MASK, PPCPS, PPCNONE, {FRT, FRA, FRC, FRB}},
9225 +{"ps_msub.", A (4, 28,1), A_MASK, PPCPS, PPCNONE, {FRT, FRA, FRC, FRB}},
9226 +{"ps_madd", A (4, 29,0), A_MASK, PPCPS, PPCNONE, {FRT, FRA, FRC, FRB}},
9227 +{"ps_madd.", A (4, 29,1), A_MASK, PPCPS, PPCNONE, {FRT, FRA, FRC, FRB}},
9228 +{"ps_nmsub", A (4, 30,0), A_MASK, PPCPS, PPCNONE, {FRT, FRA, FRC, FRB}},
9229 +{"ps_nmsub.", A (4, 30,1), A_MASK, PPCPS, PPCNONE, {FRT, FRA, FRC, FRB}},
9230 +{"ps_nmadd", A (4, 31,0), A_MASK, PPCPS, PPCNONE, {FRT, FRA, FRC, FRB}},
9231 +{"ps_nmadd.", A (4, 31,1), A_MASK, PPCPS, PPCNONE, {FRT, FRA, FRC, FRB}},
9232 +{"ps_cmpo0", X (4, 32), X_MASK|(3<<21), PPCPS, PPCNONE, {BF, FRA, FRB}},
9233 +{"vadduhm", VX (4, 64), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9234 +{"vmaxuh", VX (4, 66), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9235 +{"vrlh", VX (4, 68), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9236 +{"vcmpequh", VXR(4, 70,0), VXR_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9237 +{"vmulouh", VX (4, 72), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9238 +{"vsubfp", VX (4, 74), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9239 +{"psq_lux", XW (4, 38,0), XW_MASK, PPCPS, PPCNONE, {FRT,RA,RB,PSWM,PSQM}},
9240 +{"vmrghh", VX (4, 76), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9241 +{"psq_stux", XW (4, 39,0), XW_MASK, PPCPS, PPCNONE, {FRS,RA,RB,PSWM,PSQM}},
9242 +{"vpkuwum", VX (4, 78), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9243 +{"ps_neg", XRC(4, 40,0), XRA_MASK, PPCPS, PPCNONE, {FRT, FRB}},
9244 +{"mulhhw", XRC(4, 40,0), X_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9245 +{"ps_neg.", XRC(4, 40,1), XRA_MASK, PPCPS, PPCNONE, {FRT, FRB}},
9246 +{"mulhhw.", XRC(4, 40,1), X_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9247 +{"machhw", XO (4, 44,0,0),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9248 +{"machhw.", XO (4, 44,0,1),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9249 +{"nmachhw", XO (4, 46,0,0),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9250 +{"nmachhw.", XO (4, 46,0,1),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9251 +{"ps_cmpu1", X (4, 64), X_MASK|(3<<21), PPCPS, PPCNONE, {BF, FRA, FRB}},
9252 +{"vadduwm", VX (4, 128), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9253 +{"vmaxuw", VX (4, 130), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9254 +{"vrlw", VX (4, 132), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9255 +{"vcmpequw", VXR(4, 134,0), VXR_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9256 +{"vmrghw", VX (4, 140), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9257 +{"vpkuhus", VX (4, 142), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9258 +{"ps_mr", XRC(4, 72,0), XRA_MASK, PPCPS, PPCNONE, {FRT, FRB}},
9259 +{"ps_mr.", XRC(4, 72,1), XRA_MASK, PPCPS, PPCNONE, {FRT, FRB}},
9260 +{"machhwsu", XO (4, 76,0,0),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9261 +{"machhwsu.", XO (4, 76,0,1),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9262 +{"ps_cmpo1", X (4, 96), X_MASK|(3<<21), PPCPS, PPCNONE, {BF, FRA, FRB}},
9263 +{"vcmpeqfp", VXR(4, 198,0), VXR_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9264 +{"vpkuwus", VX (4, 206), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9265 +{"machhws", XO (4, 108,0,0),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9266 +{"machhws.", XO (4, 108,0,1),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9267 +{"nmachhws", XO (4, 110,0,0),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9268 +{"nmachhws.", XO (4, 110,0,1),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9269 +{"vmaxsb", VX (4, 258), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9270 +{"vslb", VX (4, 260), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9271 +{"vmulosb", VX (4, 264), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9272 +{"vrefp", VX (4, 266), VX_MASK, PPCVEC, PPCNONE, {VD, VB}},
9273 +{"vmrglb", VX (4, 268), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9274 +{"vpkshus", VX (4, 270), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9275 +{"ps_nabs", XRC(4, 136,0), XRA_MASK, PPCPS, PPCNONE, {FRT, FRB}},
9276 +{"mulchwu", XRC(4, 136,0), X_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9277 +{"ps_nabs.", XRC(4, 136,1), XRA_MASK, PPCPS, PPCNONE, {FRT, FRB}},
9278 +{"mulchwu.", XRC(4, 136,1), X_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9279 +{"macchwu", XO (4, 140,0,0),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9280 +{"macchwu.", XO (4, 140,0,1),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9281 +{"vmaxsh", VX (4, 322), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9282 +{"vslh", VX (4, 324), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9283 +{"vmulosh", VX (4, 328), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9284 +{"vrsqrtefp", VX (4, 330), VX_MASK, PPCVEC, PPCNONE, {VD, VB}},
9285 +{"vmrglh", VX (4, 332), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9286 +{"vpkswus", VX (4, 334), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9287 +{"mulchw", XRC(4, 168,0), X_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9288 +{"mulchw.", XRC(4, 168,1), X_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9289 +{"macchw", XO (4, 172,0,0),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9290 +{"macchw.", XO (4, 172,0,1),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9291 +{"nmacchw", XO (4, 174,0,0),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9292 +{"nmacchw.", XO (4, 174,0,1),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9293 +{"vaddcuw", VX (4, 384), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9294 +{"vmaxsw", VX (4, 386), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9295 +{"vslw", VX (4, 388), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9296 +{"vexptefp", VX (4, 394), VX_MASK, PPCVEC, PPCNONE, {VD, VB}},
9297 +{"vmrglw", VX (4, 396), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9298 +{"vpkshss", VX (4, 398), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9299 +{"macchwsu", XO (4, 204,0,0),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9300 +{"macchwsu.", XO (4, 204,0,1),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9301 +{"vsl", VX (4, 452), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9302 +{"vcmpgefp", VXR(4, 454,0), VXR_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9303 +{"vlogefp", VX (4, 458), VX_MASK, PPCVEC, PPCNONE, {VD, VB}},
9304 +{"vpkswss", VX (4, 462), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9305 +{"macchws", XO (4, 236,0,0),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9306 +{"macchws.", XO (4, 236,0,1),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9307 +{"nmacchws", XO (4, 238,0,0),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9308 +{"nmacchws.", XO (4, 238,0,1),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9309 +{"evaddw", VX (4, 512), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9310 +{"vaddubs", VX (4, 512), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9311 +{"evaddiw", VX (4, 514), VX_MASK, PPCSPE, PPCNONE, {RS, RB, UIMM}},
9312 +{"vminub", VX (4, 514), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9313 +{"evsubfw", VX (4, 516), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9314 +{"evsubw", VX (4, 516), VX_MASK, PPCSPE, PPCNONE, {RS, RB, RA}},
9315 +{"vsrb", VX (4, 516), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9316 +{"evsubifw", VX (4, 518), VX_MASK, PPCSPE, PPCNONE, {RS, UIMM, RB}},
9317 +{"evsubiw", VX (4, 518), VX_MASK, PPCSPE, PPCNONE, {RS, RB, UIMM}},
9318 +{"vcmpgtub", VXR(4, 518,0), VXR_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9319 +{"evabs", VX (4, 520), VX_MASK, PPCSPE, PPCNONE, {RS, RA}},
9320 +{"vmuleub", VX (4, 520), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9321 +{"evneg", VX (4, 521), VX_MASK, PPCSPE, PPCNONE, {RS, RA}},
9322 +{"evextsb", VX (4, 522), VX_MASK, PPCSPE, PPCNONE, {RS, RA}},
9323 +{"vrfin", VX (4, 522), VX_MASK, PPCVEC, PPCNONE, {VD, VB}},
9324 +{"evextsh", VX (4, 523), VX_MASK, PPCSPE, PPCNONE, {RS, RA}},
9325 +{"evrndw", VX (4, 524), VX_MASK, PPCSPE, PPCNONE, {RS, RA}},
9326 +{"vspltb", VX (4, 524), VX_MASK, PPCVEC, PPCNONE, {VD, VB, UIMM}},
9327 +{"evcntlzw", VX (4, 525), VX_MASK, PPCSPE, PPCNONE, {RS, RA}},
9328 +{"evcntlsw", VX (4, 526), VX_MASK, PPCSPE, PPCNONE, {RS, RA}},
9329 +{"vupkhsb", VX (4, 526), VX_MASK, PPCVEC, PPCNONE, {VD, VB}},
9330 +{"brinc", VX (4, 527), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9331 +{"ps_abs", XRC(4, 264,0), XRA_MASK, PPCPS, PPCNONE, {FRT, FRB}},
9332 +{"ps_abs.", XRC(4, 264,1), XRA_MASK, PPCPS, PPCNONE, {FRT, FRB}},
9333 +{"evand", VX (4, 529), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9334 +{"evandc", VX (4, 530), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9335 +{"evxor", VX (4, 534), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9336 +{"evmr", VX (4, 535), VX_MASK, PPCSPE, PPCNONE, {RS, RA, BBA}},
9337 +{"evor", VX (4, 535), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9338 +{"evnor", VX (4, 536), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9339 +{"evnot", VX (4, 536), VX_MASK, PPCSPE, PPCNONE, {RS, RA, BBA}},
9340 +{"get", APU(4, 268,0), APU_RA_MASK, PPC405, PPCNONE, {RT, FSL}},
9341 +{"eveqv", VX (4, 537), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9342 +{"evorc", VX (4, 539), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9343 +{"evnand", VX (4, 542), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9344 +{"evsrwu", VX (4, 544), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9345 +{"evsrws", VX (4, 545), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9346 +{"evsrwiu", VX (4, 546), VX_MASK, PPCSPE, PPCNONE, {RS, RA, EVUIMM}},
9347 +{"evsrwis", VX (4, 547), VX_MASK, PPCSPE, PPCNONE, {RS, RA, EVUIMM}},
9348 +{"evslw", VX (4, 548), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9349 +{"evslwi", VX (4, 550), VX_MASK, PPCSPE, PPCNONE, {RS, RA, EVUIMM}},
9350 +{"evrlw", VX (4, 552), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9351 +{"evsplati", VX (4, 553), VX_MASK, PPCSPE, PPCNONE, {RS, SIMM}},
9352 +{"evrlwi", VX (4, 554), VX_MASK, PPCSPE, PPCNONE, {RS, RA, EVUIMM}},
9353 +{"evsplatfi", VX (4, 555), VX_MASK, PPCSPE, PPCNONE, {RS, SIMM}},
9354 +{"evmergehi", VX (4, 556), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9355 +{"evmergelo", VX (4, 557), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9356 +{"evmergehilo", VX (4, 558), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9357 +{"evmergelohi", VX (4, 559), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9358 +{"evcmpgtu", VX (4, 560), VX_MASK, PPCSPE, PPCNONE, {CRFD, RA, RB}},
9359 +{"evcmpgts", VX (4, 561), VX_MASK, PPCSPE, PPCNONE, {CRFD, RA, RB}},
9360 +{"evcmpltu", VX (4, 562), VX_MASK, PPCSPE, PPCNONE, {CRFD, RA, RB}},
9361 +{"evcmplts", VX (4, 563), VX_MASK, PPCSPE, PPCNONE, {CRFD, RA, RB}},
9362 +{"evcmpeq", VX (4, 564), VX_MASK, PPCSPE, PPCNONE, {CRFD, RA, RB}},
9363 +{"cget", APU(4, 284,0), APU_RA_MASK, PPC405, PPCNONE, {RT, FSL}},
9364 +{"vadduhs", VX (4, 576), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9365 +{"vminuh", VX (4, 578), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9366 +{"vsrh", VX (4, 580), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9367 +{"vcmpgtuh", VXR(4, 582,0), VXR_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9368 +{"vmuleuh", VX (4, 584), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9369 +{"vrfiz", VX (4, 586), VX_MASK, PPCVEC, PPCNONE, {VD, VB}},
9370 +{"vsplth", VX (4, 588), VX_MASK, PPCVEC, PPCNONE, {VD, VB, UIMM}},
9371 +{"vupkhsh", VX (4, 590), VX_MASK, PPCVEC, PPCNONE, {VD, VB}},
9372 +{"nget", APU(4, 300,0), APU_RA_MASK, PPC405, PPCNONE, {RT, FSL}},
9373 +{"evsel", EVSEL(4,79), EVSEL_MASK, PPCSPE, PPCNONE, {RS, RA, RB, CRFS}},
9374 +{"ncget", APU(4, 316,0), APU_RA_MASK, PPC405, PPCNONE, {RT, FSL}},
9375 +{"evfsadd", VX (4, 640), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9376 +{"vadduws", VX (4, 640), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9377 +{"evfssub", VX (4, 641), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9378 +{"vminuw", VX (4, 642), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9379 +{"evfsabs", VX (4, 644), VX_MASK, PPCSPE, PPCNONE, {RS, RA}},
9380 +{"vsrw", VX (4, 644), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9381 +{"evfsnabs", VX (4, 645), VX_MASK, PPCSPE, PPCNONE, {RS, RA}},
9382 +{"evfsneg", VX (4, 646), VX_MASK, PPCSPE, PPCNONE, {RS, RA}},
9383 +{"vcmpgtuw", VXR(4, 646,0), VXR_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9384 +{"evfsmul", VX (4, 648), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9385 +{"evfsdiv", VX (4, 649), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9386 +{"vrfip", VX (4, 650), VX_MASK, PPCVEC, PPCNONE, {VD, VB}},
9387 +{"evfscmpgt", VX (4, 652), VX_MASK, PPCSPE, PPCNONE, {CRFD, RA, RB}},
9388 +{"vspltw", VX (4, 652), VX_MASK, PPCVEC, PPCNONE, {VD, VB, UIMM}},
9389 +{"evfscmplt", VX (4, 653), VX_MASK, PPCSPE, PPCNONE, {CRFD, RA, RB}},
9390 +{"evfscmpeq", VX (4, 654), VX_MASK, PPCSPE, PPCNONE, {CRFD, RA, RB}},
9391 +{"vupklsb", VX (4, 654), VX_MASK, PPCVEC, PPCNONE, {VD, VB}},
9392 +{"evfscfui", VX (4, 656), VX_MASK, PPCSPE, PPCNONE, {RS, RB}},
9393 +{"evfscfsi", VX (4, 657), VX_MASK, PPCSPE, PPCNONE, {RS, RB}},
9394 +{"evfscfuf", VX (4, 658), VX_MASK, PPCSPE, PPCNONE, {RS, RB}},
9395 +{"evfscfsf", VX (4, 659), VX_MASK, PPCSPE, PPCNONE, {RS, RB}},
9396 +{"evfsctui", VX (4, 660), VX_MASK, PPCSPE, PPCNONE, {RS, RB}},
9397 +{"evfsctsi", VX (4, 661), VX_MASK, PPCSPE, PPCNONE, {RS, RB}},
9398 +{"evfsctuf", VX (4, 662), VX_MASK, PPCSPE, PPCNONE, {RS, RB}},
9399 +{"evfsctsf", VX (4, 663), VX_MASK, PPCSPE, PPCNONE, {RS, RB}},
9400 +{"evfsctuiz", VX (4, 664), VX_MASK, PPCSPE, PPCNONE, {RS, RB}},
9401 +{"put", APU(4, 332,0), APU_RT_MASK, PPC405, PPCNONE, {RA, FSL}},
9402 +{"evfsctsiz", VX (4, 666), VX_MASK, PPCSPE, PPCNONE, {RS, RB}},
9403 +{"evfststgt", VX (4, 668), VX_MASK, PPCSPE, PPCNONE, {CRFD, RA, RB}},
9404 +{"evfststlt", VX (4, 669), VX_MASK, PPCSPE, PPCNONE, {CRFD, RA, RB}},
9405 +{"evfststeq", VX (4, 670), VX_MASK, PPCSPE, PPCNONE, {CRFD, RA, RB}},
9406 +{"cput", APU(4, 348,0), APU_RT_MASK, PPC405, PPCNONE, {RA, FSL}},
9407 +{"efsadd", VX (4, 704), VX_MASK, PPCEFS, PPCNONE, {RS, RA, RB}},
9408 +{"efssub", VX (4, 705), VX_MASK, PPCEFS, PPCNONE, {RS, RA, RB}},
9409 +{"efsabs", VX (4, 708), VX_MASK, PPCEFS, PPCNONE, {RS, RA}},
9410 +{"vsr", VX (4, 708), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9411 +{"efsnabs", VX (4, 709), VX_MASK, PPCEFS, PPCNONE, {RS, RA}},
9412 +{"efsneg", VX (4, 710), VX_MASK, PPCEFS, PPCNONE, {RS, RA}},
9413 +{"vcmpgtfp", VXR(4, 710,0), VXR_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9414 +{"efsmul", VX (4, 712), VX_MASK, PPCEFS, PPCNONE, {RS, RA, RB}},
9415 +{"efsdiv", VX (4, 713), VX_MASK, PPCEFS, PPCNONE, {RS, RA, RB}},
9416 +{"vrfim", VX (4, 714), VX_MASK, PPCVEC, PPCNONE, {VD, VB}},
9417 +{"efscmpgt", VX (4, 716), VX_MASK, PPCEFS, PPCNONE, {CRFD, RA, RB}},
9418 +{"efscmplt", VX (4, 717), VX_MASK, PPCEFS, PPCNONE, {CRFD, RA, RB}},
9419 +{"efscmpeq", VX (4, 718), VX_MASK, PPCEFS, PPCNONE, {CRFD, RA, RB}},
9420 +{"vupklsh", VX (4, 718), VX_MASK, PPCVEC, PPCNONE, {VD, VB}},
9421 +{"efscfd", VX (4, 719), VX_MASK, PPCEFS, PPCNONE, {RS, RB}},
9422 +{"efscfui", VX (4, 720), VX_MASK, PPCEFS, PPCNONE, {RS, RB}},
9423 +{"efscfsi", VX (4, 721), VX_MASK, PPCEFS, PPCNONE, {RS, RB}},
9424 +{"efscfuf", VX (4, 722), VX_MASK, PPCEFS, PPCNONE, {RS, RB}},
9425 +{"efscfsf", VX (4, 723), VX_MASK, PPCEFS, PPCNONE, {RS, RB}},
9426 +{"efsctui", VX (4, 724), VX_MASK, PPCEFS, PPCNONE, {RS, RB}},
9427 +{"efsctsi", VX (4, 725), VX_MASK, PPCEFS, PPCNONE, {RS, RB}},
9428 +{"efsctuf", VX (4, 726), VX_MASK, PPCEFS, PPCNONE, {RS, RB}},
9429 +{"efsctsf", VX (4, 727), VX_MASK, PPCEFS, PPCNONE, {RS, RB}},
9430 +{"efsctuiz", VX (4, 728), VX_MASK, PPCEFS, PPCNONE, {RS, RB}},
9431 +{"nput", APU(4, 364,0), APU_RT_MASK, PPC405, PPCNONE, {RA, FSL}},
9432 +{"efsctsiz", VX (4, 730), VX_MASK, PPCEFS, PPCNONE, {RS, RB}},
9433 +{"efststgt", VX (4, 732), VX_MASK, PPCEFS, PPCNONE, {CRFD, RA, RB}},
9434 +{"efststlt", VX (4, 733), VX_MASK, PPCEFS, PPCNONE, {CRFD, RA, RB}},
9435 +{"efststeq", VX (4, 734), VX_MASK, PPCEFS, PPCNONE, {CRFD, RA, RB}},
9436 +{"efdadd", VX (4, 736), VX_MASK, PPCEFS, PPCNONE, {RS, RA, RB}},
9437 +{"efdsub", VX (4, 737), VX_MASK, PPCEFS, PPCNONE, {RS, RA, RB}},
9438 +{"efdcfuid", VX (4, 738), VX_MASK, PPCEFS, PPCNONE, {RS, RB}},
9439 +{"efdcfsid", VX (4, 739), VX_MASK, PPCEFS, PPCNONE, {RS, RB}},
9440 +{"efdabs", VX (4, 740), VX_MASK, PPCEFS, PPCNONE, {RS, RA}},
9441 +{"efdnabs", VX (4, 741), VX_MASK, PPCEFS, PPCNONE, {RS, RA}},
9442 +{"efdneg", VX (4, 742), VX_MASK, PPCEFS, PPCNONE, {RS, RA}},
9443 +{"efdmul", VX (4, 744), VX_MASK, PPCEFS, PPCNONE, {RS, RA, RB}},
9444 +{"efddiv", VX (4, 745), VX_MASK, PPCEFS, PPCNONE, {RS, RA, RB}},
9445 +{"efdctuidz", VX (4, 746), VX_MASK, PPCEFS, PPCNONE, {RS, RB}},
9446 +{"efdctsidz", VX (4, 747), VX_MASK, PPCEFS, PPCNONE, {RS, RB}},
9447 +{"efdcmpgt", VX (4, 748), VX_MASK, PPCEFS, PPCNONE, {CRFD, RA, RB}},
9448 +{"efdcmplt", VX (4, 749), VX_MASK, PPCEFS, PPCNONE, {CRFD, RA, RB}},
9449 +{"efdcmpeq", VX (4, 750), VX_MASK, PPCEFS, PPCNONE, {CRFD, RA, RB}},
9450 +{"efdcfs", VX (4, 751), VX_MASK, PPCEFS, PPCNONE, {RS, RB}},
9451 +{"efdcfui", VX (4, 752), VX_MASK, PPCEFS, PPCNONE, {RS, RB}},
9452 +{"efdcfsi", VX (4, 753), VX_MASK, PPCEFS, PPCNONE, {RS, RB}},
9453 +{"efdcfuf", VX (4, 754), VX_MASK, PPCEFS, PPCNONE, {RS, RB}},
9454 +{"efdcfsf", VX (4, 755), VX_MASK, PPCEFS, PPCNONE, {RS, RB}},
9455 +{"efdctui", VX (4, 756), VX_MASK, PPCEFS, PPCNONE, {RS, RB}},
9456 +{"efdctsi", VX (4, 757), VX_MASK, PPCEFS, PPCNONE, {RS, RB}},
9457 +{"efdctuf", VX (4, 758), VX_MASK, PPCEFS, PPCNONE, {RS, RB}},
9458 +{"efdctsf", VX (4, 759), VX_MASK, PPCEFS, PPCNONE, {RS, RB}},
9459 +{"efdctuiz", VX (4, 760), VX_MASK, PPCEFS, PPCNONE, {RS, RB}},
9460 +{"ncput", APU(4, 380,0), APU_RT_MASK, PPC405, PPCNONE, {RA, FSL}},
9461 +{"efdctsiz", VX (4, 762), VX_MASK, PPCEFS, PPCNONE, {RS, RB}},
9462 +{"efdtstgt", VX (4, 764), VX_MASK, PPCEFS, PPCNONE, {CRFD, RA, RB}},
9463 +{"efdtstlt", VX (4, 765), VX_MASK, PPCEFS, PPCNONE, {CRFD, RA, RB}},
9464 +{"efdtsteq", VX (4, 766), VX_MASK, PPCEFS, PPCNONE, {CRFD, RA, RB}},
9465 +{"evlddx", VX (4, 768), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9466 +{"vaddsbs", VX (4, 768), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9467 +{"evldd", VX (4, 769), VX_MASK, PPCSPE, PPCNONE, {RS, EVUIMM_8, RA}},
9468 +{"evldwx", VX (4, 770), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9469 +{"vminsb", VX (4, 770), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9470 +{"evldw", VX (4, 771), VX_MASK, PPCSPE, PPCNONE, {RS, EVUIMM_8, RA}},
9471 +{"evldhx", VX (4, 772), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9472 +{"vsrab", VX (4, 772), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9473 +{"evldh", VX (4, 773), VX_MASK, PPCSPE, PPCNONE, {RS, EVUIMM_8, RA}},
9474 +{"vcmpgtsb", VXR(4, 774,0), VXR_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9475 +{"evlhhesplatx",VX (4, 776), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9476 +{"vmulesb", VX (4, 776), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9477 +{"evlhhesplat", VX (4, 777), VX_MASK, PPCSPE, PPCNONE, {RS, EVUIMM_2, RA}},
9478 +{"vcfux", VX (4, 778), VX_MASK, PPCVEC, PPCNONE, {VD, VB, UIMM}},
9479 +{"evlhhousplatx",VX(4, 780), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9480 +{"vspltisb", VX (4, 780), VX_MASK, PPCVEC, PPCNONE, {VD, SIMM}},
9481 +{"evlhhousplat",VX (4, 781), VX_MASK, PPCSPE, PPCNONE, {RS, EVUIMM_2, RA}},
9482 +{"evlhhossplatx",VX(4, 782), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9483 +{"vpkpx", VX (4, 782), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9484 +{"evlhhossplat",VX (4, 783), VX_MASK, PPCSPE, PPCNONE, {RS, EVUIMM_2, RA}},
9485 +{"mullhwu", XRC(4, 392,0), X_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9486 +{"evlwhex", VX (4, 784), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9487 +{"mullhwu.", XRC(4, 392,1), X_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9488 +{"evlwhe", VX (4, 785), VX_MASK, PPCSPE, PPCNONE, {RS, EVUIMM_4, RA}},
9489 +{"evlwhoux", VX (4, 788), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9490 +{"evlwhou", VX (4, 789), VX_MASK, PPCSPE, PPCNONE, {RS, EVUIMM_4, RA}},
9491 +{"evlwhosx", VX (4, 790), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9492 +{"evlwhos", VX (4, 791), VX_MASK, PPCSPE, PPCNONE, {RS, EVUIMM_4, RA}},
9493 +{"maclhwu", XO (4, 396,0,0),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9494 +{"evlwwsplatx", VX (4, 792), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9495 +{"maclhwu.", XO (4, 396,0,1),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9496 +{"evlwwsplat", VX (4, 793), VX_MASK, PPCSPE, PPCNONE, {RS, EVUIMM_4, RA}},
9497 +{"evlwhsplatx", VX (4, 796), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9498 +{"evlwhsplat", VX (4, 797), VX_MASK, PPCSPE, PPCNONE, {RS, EVUIMM_4, RA}},
9499 +{"evstddx", VX (4, 800), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9500 +{"evstdd", VX (4, 801), VX_MASK, PPCSPE, PPCNONE, {RS, EVUIMM_8, RA}},
9501 +{"evstdwx", VX (4, 802), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9502 +{"evstdw", VX (4, 803), VX_MASK, PPCSPE, PPCNONE, {RS, EVUIMM_8, RA}},
9503 +{"evstdhx", VX (4, 804), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9504 +{"evstdh", VX (4, 805), VX_MASK, PPCSPE, PPCNONE, {RS, EVUIMM_8, RA}},
9505 +{"evstwhex", VX (4, 816), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9506 +{"evstwhe", VX (4, 817), VX_MASK, PPCSPE, PPCNONE, {RS, EVUIMM_4, RA}},
9507 +{"evstwhox", VX (4, 820), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9508 +{"evstwho", VX (4, 821), VX_MASK, PPCSPE, PPCNONE, {RS, EVUIMM_4, RA}},
9509 +{"evstwwex", VX (4, 824), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9510 +{"evstwwe", VX (4, 825), VX_MASK, PPCSPE, PPCNONE, {RS, EVUIMM_4, RA}},
9511 +{"evstwwox", VX (4, 828), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9512 +{"evstwwo", VX (4, 829), VX_MASK, PPCSPE, PPCNONE, {RS, EVUIMM_4, RA}},
9513 +{"vaddshs", VX (4, 832), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9514 +{"vminsh", VX (4, 834), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9515 +{"vsrah", VX (4, 836), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9516 +{"vcmpgtsh", VXR(4, 838,0), VXR_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9517 +{"vmulesh", VX (4, 840), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9518 +{"vcfsx", VX (4, 842), VX_MASK, PPCVEC, PPCNONE, {VD, VB, UIMM}},
9519 +{"vspltish", VX (4, 844), VX_MASK, PPCVEC, PPCNONE, {VD, SIMM}},
9520 +{"vupkhpx", VX (4, 846), VX_MASK, PPCVEC, PPCNONE, {VD, VB}},
9521 +{"mullhw", XRC(4, 424,0), X_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9522 +{"mullhw.", XRC(4, 424,1), X_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9523 +{"maclhw", XO (4, 428,0,0),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9524 +{"maclhw.", XO (4, 428,0,1),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9525 +{"nmaclhw", XO (4, 430,0,0),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9526 +{"nmaclhw.", XO (4, 430,0,1),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9527 +{"vaddsws", VX (4, 896), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9528 +{"vminsw", VX (4, 898), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9529 +{"vsraw", VX (4, 900), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9530 +{"vcmpgtsw", VXR(4, 902,0), VXR_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9531 +{"vctuxs", VX (4, 906), VX_MASK, PPCVEC, PPCNONE, {VD, VB, UIMM}},
9532 +{"vspltisw", VX (4, 908), VX_MASK, PPCVEC, PPCNONE, {VD, SIMM}},
9533 +{"maclhwsu", XO (4, 460,0,0),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9534 +{"maclhwsu.", XO (4, 460,0,1),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9535 +{"vcmpbfp", VXR(4, 966,0), VXR_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9536 +{"vctsxs", VX (4, 970), VX_MASK, PPCVEC, PPCNONE, {VD, VB, UIMM}},
9537 +{"vupklpx", VX (4, 974), VX_MASK, PPCVEC, PPCNONE, {VD, VB}},
9538 +{"maclhws", XO (4, 492,0,0),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9539 +{"maclhws.", XO (4, 492,0,1),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9540 +{"nmaclhws", XO (4, 494,0,0),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9541 +{"nmaclhws.", XO (4, 494,0,1),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9542 +{"vsububm", VX (4,1024), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9543 +{"vavgub", VX (4,1026), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9544 +{"evmhessf", VX (4,1027), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9545 +{"vand", VX (4,1028), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9546 +{"vcmpequb.", VXR(4, 6,1), VXR_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9547 +{"udi0fcm.", APU(4, 515,0), APU_MASK, PPC405|PPC440, PPCNONE, {URT, URA, URB}},
9548 +{"udi0fcm", APU(4, 515,1), APU_MASK, PPC405|PPC440, PPCNONE, {URT, URA, URB}},
9549 +{"evmhossf", VX (4,1031), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9550 +{"evmheumi", VX (4,1032), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9551 +{"evmhesmi", VX (4,1033), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9552 +{"vmaxfp", VX (4,1034), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9553 +{"evmhesmf", VX (4,1035), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9554 +{"evmhoumi", VX (4,1036), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9555 +{"vslo", VX (4,1036), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9556 +{"evmhosmi", VX (4,1037), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9557 +{"evmhosmf", VX (4,1039), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9558 +{"machhwuo", XO (4, 12,1,0),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9559 +{"machhwuo.", XO (4, 12,1,1),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9560 +{"ps_merge00", XOPS(4,528,0), XOPS_MASK, PPCPS, PPCNONE, {FRT, FRA, FRB}},
9561 +{"ps_merge00.", XOPS(4,528,1), XOPS_MASK, PPCPS, PPCNONE, {FRT, FRA, FRB}},
9562 +{"evmhessfa", VX (4,1059), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9563 +{"evmhossfa", VX (4,1063), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9564 +{"evmheumia", VX (4,1064), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9565 +{"evmhesmia", VX (4,1065), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9566 +{"evmhesmfa", VX (4,1067), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9567 +{"evmhoumia", VX (4,1068), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9568 +{"evmhosmia", VX (4,1069), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9569 +{"evmhosmfa", VX (4,1071), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9570 +{"vsubuhm", VX (4,1088), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9571 +{"vavguh", VX (4,1090), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9572 +{"vandc", VX (4,1092), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9573 +{"vcmpequh.", VXR(4, 70,1), VXR_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9574 +{"udi1fcm.", APU(4, 547,0), APU_MASK, PPC405|PPC440, PPCNONE, {URT, URA, URB}},
9575 +{"udi1fcm", APU(4, 547,1), APU_MASK, PPC405|PPC440, PPCNONE, {URT, URA, URB}},
9576 +{"evmwhssf", VX (4,1095), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9577 +{"evmwlumi", VX (4,1096), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9578 +{"vminfp", VX (4,1098), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9579 +{"evmwhumi", VX (4,1100), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9580 +{"vsro", VX (4,1100), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9581 +{"evmwhsmi", VX (4,1101), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9582 +{"evmwhsmf", VX (4,1103), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9583 +{"evmwssf", VX (4,1107), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9584 +{"machhwo", XO (4, 44,1,0),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9585 +{"evmwumi", VX (4,1112), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9586 +{"machhwo.", XO (4, 44,1,1),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9587 +{"evmwsmi", VX (4,1113), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9588 +{"evmwsmf", VX (4,1115), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9589 +{"nmachhwo", XO (4, 46,1,0),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9590 +{"nmachhwo.", XO (4, 46,1,1),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9591 +{"ps_merge01", XOPS(4,560,0), XOPS_MASK, PPCPS, PPCNONE, {FRT, FRA, FRB}},
9592 +{"ps_merge01.", XOPS(4,560,1), XOPS_MASK, PPCPS, PPCNONE, {FRT, FRA, FRB}},
9593 +{"evmwhssfa", VX (4,1127), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9594 +{"evmwlumia", VX (4,1128), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9595 +{"evmwhumia", VX (4,1132), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9596 +{"evmwhsmia", VX (4,1133), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9597 +{"evmwhsmfa", VX (4,1135), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9598 +{"evmwssfa", VX (4,1139), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9599 +{"evmwumia", VX (4,1144), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9600 +{"evmwsmia", VX (4,1145), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9601 +{"evmwsmfa", VX (4,1147), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9602 +{"vsubuwm", VX (4,1152), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9603 +{"vavguw", VX (4,1154), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9604 +{"vor", VX (4,1156), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9605 +{"vcmpequw.", VXR(4, 134,1), VXR_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9606 +{"udi2fcm.", APU(4, 579,0), APU_MASK, PPC405|PPC440, PPCNONE, {URT, URA, URB}},
9607 +{"udi2fcm", APU(4, 579,1), APU_MASK, PPC405|PPC440, PPCNONE, {URT, URA, URB}},
9608 +{"machhwsuo", XO (4, 76,1,0),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9609 +{"machhwsuo.", XO (4, 76,1,1),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9610 +{"ps_merge10", XOPS(4,592,0), XOPS_MASK, PPCPS, PPCNONE, {FRT, FRA, FRB}},
9611 +{"ps_merge10.", XOPS(4,592,1), XOPS_MASK, PPCPS, PPCNONE, {FRT, FRA, FRB}},
9612 +{"evaddusiaaw", VX (4,1216), VX_MASK, PPCSPE, PPCNONE, {RS, RA}},
9613 +{"evaddssiaaw", VX (4,1217), VX_MASK, PPCSPE, PPCNONE, {RS, RA}},
9614 +{"evsubfusiaaw",VX (4,1218), VX_MASK, PPCSPE, PPCNONE, {RS, RA}},
9615 +{"evsubfssiaaw",VX (4,1219), VX_MASK, PPCSPE, PPCNONE, {RS, RA}},
9616 +{"evmra", VX (4,1220), VX_MASK, PPCSPE, PPCNONE, {RS, RA}},
9617 +{"vxor", VX (4,1220), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9618 +{"evdivws", VX (4,1222), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9619 +{"vcmpeqfp.", VXR(4, 198,1), VXR_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9620 +{"udi3fcm.", APU(4, 611,0), APU_MASK, PPC405|PPC440, PPCNONE, {URT, URA, URB}},
9621 +{"udi3fcm", APU(4, 611,1), APU_MASK, PPC405|PPC440, PPCNONE, {URT, URA, URB}},
9622 +{"evdivwu", VX (4,1223), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9623 +{"evaddumiaaw", VX (4,1224), VX_MASK, PPCSPE, PPCNONE, {RS, RA}},
9624 +{"evaddsmiaaw", VX (4,1225), VX_MASK, PPCSPE, PPCNONE, {RS, RA}},
9625 +{"evsubfumiaaw",VX (4,1226), VX_MASK, PPCSPE, PPCNONE, {RS, RA}},
9626 +{"evsubfsmiaaw",VX (4,1227), VX_MASK, PPCSPE, PPCNONE, {RS, RA}},
9627 +{"machhwso", XO (4, 108,1,0),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9628 +{"machhwso.", XO (4, 108,1,1),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9629 +{"nmachhwso", XO (4, 110,1,0),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9630 +{"nmachhwso.", XO (4, 110,1,1),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9631 +{"ps_merge11", XOPS(4,624,0), XOPS_MASK, PPCPS, PPCNONE, {FRT, FRA, FRB}},
9632 +{"ps_merge11.", XOPS(4,624,1), XOPS_MASK, PPCPS, PPCNONE, {FRT, FRA, FRB}},
9633 +{"evmheusiaaw", VX (4,1280), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9634 +{"evmhessiaaw", VX (4,1281), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9635 +{"vavgsb", VX (4,1282), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9636 +{"evmhessfaaw", VX (4,1283), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9637 +{"evmhousiaaw", VX (4,1284), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9638 +{"vnor", VX (4,1284), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9639 +{"evmhossiaaw", VX (4,1285), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9640 +{"udi4fcm.", APU(4, 643,0), APU_MASK, PPC405|PPC440, PPCNONE, {URT, URA, URB}},
9641 +{"udi4fcm", APU(4, 643,1), APU_MASK, PPC405|PPC440, PPCNONE, {URT, URA, URB}},
9642 +{"evmhossfaaw", VX (4,1287), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9643 +{"evmheumiaaw", VX (4,1288), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9644 +{"evmhesmiaaw", VX (4,1289), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9645 +{"evmhesmfaaw", VX (4,1291), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9646 +{"evmhoumiaaw", VX (4,1292), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9647 +{"evmhosmiaaw", VX (4,1293), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9648 +{"evmhosmfaaw", VX (4,1295), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9649 +{"macchwuo", XO (4, 140,1,0),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9650 +{"macchwuo.", XO (4, 140,1,1),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9651 +{"evmhegumiaa", VX (4,1320), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9652 +{"evmhegsmiaa", VX (4,1321), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9653 +{"evmhegsmfaa", VX (4,1323), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9654 +{"evmhogumiaa", VX (4,1324), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9655 +{"evmhogsmiaa", VX (4,1325), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9656 +{"evmhogsmfaa", VX (4,1327), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9657 +{"evmwlusiaaw", VX (4,1344), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9658 +{"evmwlssiaaw", VX (4,1345), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9659 +{"vavgsh", VX (4,1346), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9660 +{"udi5fcm.", APU(4, 675,0), APU_MASK, PPC405|PPC440, PPCNONE, {URT, URA, URB}},
9661 +{"udi5fcm", APU(4, 675,1), APU_MASK, PPC405|PPC440, PPCNONE, {URT, URA, URB}},
9662 +{"evmwlumiaaw", VX (4,1352), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9663 +{"evmwlsmiaaw", VX (4,1353), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9664 +{"evmwssfaa", VX (4,1363), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9665 +{"macchwo", XO (4, 172,1,0),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9666 +{"evmwumiaa", VX (4,1368), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9667 +{"macchwo.", XO (4, 172,1,1),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9668 +{"evmwsmiaa", VX (4,1369), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9669 +{"evmwsmfaa", VX (4,1371), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9670 +{"nmacchwo", XO (4, 174,1,0),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9671 +{"nmacchwo.", XO (4, 174,1,1),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9672 +{"evmheusianw", VX (4,1408), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9673 +{"vsubcuw", VX (4,1408), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9674 +{"evmhessianw", VX (4,1409), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9675 +{"vavgsw", VX (4,1410), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9676 +{"evmhessfanw", VX (4,1411), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9677 +{"evmhousianw", VX (4,1412), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9678 +{"evmhossianw", VX (4,1413), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9679 +{"udi6fcm.", APU(4, 707,0), APU_MASK, PPC405|PPC440, PPCNONE, {URT, URA, URB}},
9680 +{"udi6fcm", APU(4, 707,1), APU_MASK, PPC405|PPC440, PPCNONE, {URT, URA, URB}},
9681 +{"evmhossfanw", VX (4,1415), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9682 +{"evmheumianw", VX (4,1416), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9683 +{"evmhesmianw", VX (4,1417), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9684 +{"evmhesmfanw", VX (4,1419), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9685 +{"evmhoumianw", VX (4,1420), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9686 +{"evmhosmianw", VX (4,1421), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9687 +{"evmhosmfanw", VX (4,1423), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9688 +{"macchwsuo", XO (4, 204,1,0),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9689 +{"macchwsuo.", XO (4, 204,1,1),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9690 +{"evmhegumian", VX (4,1448), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9691 +{"evmhegsmian", VX (4,1449), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9692 +{"evmhegsmfan", VX (4,1451), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9693 +{"evmhogumian", VX (4,1452), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9694 +{"evmhogsmian", VX (4,1453), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9695 +{"evmhogsmfan", VX (4,1455), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9696 +{"evmwlusianw", VX (4,1472), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9697 +{"evmwlssianw", VX (4,1473), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9698 +{"vcmpgefp.", VXR(4, 454,1), VXR_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9699 +{"udi7fcm.", APU(4, 739,0), APU_MASK, PPC405|PPC440, PPCNONE, {URT, URA, URB}},
9700 +{"udi7fcm", APU(4, 739,1), APU_MASK, PPC405|PPC440, PPCNONE, {URT, URA, URB}},
9701 +{"evmwlumianw", VX (4,1480), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9702 +{"evmwlsmianw", VX (4,1481), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9703 +{"evmwssfan", VX (4,1491), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9704 +{"macchwso", XO (4, 236,1,0),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9705 +{"evmwumian", VX (4,1496), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9706 +{"macchwso.", XO (4, 236,1,1),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9707 +{"evmwsmian", VX (4,1497), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9708 +{"evmwsmfan", VX (4,1499), VX_MASK, PPCSPE, PPCNONE, {RS, RA, RB}},
9709 +{"nmacchwso", XO (4, 238,1,0),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9710 +{"nmacchwso.", XO (4, 238,1,1),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9711 +{"vsububs", VX (4,1536), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9712 +{"mfvscr", VX (4,1540), VX_MASK, PPCVEC, PPCNONE, {VD}},
9713 +{"vcmpgtub.", VXR(4, 518,1), VXR_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9714 +{"udi8fcm.", APU(4, 771,0), APU_MASK, PPC440, PPCNONE, {URT, URA, URB}},
9715 +{"udi8fcm", APU(4, 771,1), APU_MASK, PPC440, PPCNONE, {URT, URA, URB}},
9716 +{"vsum4ubs", VX (4,1544), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9717 +{"vsubuhs", VX (4,1600), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9718 +{"mtvscr", VX (4,1604), VX_MASK, PPCVEC, PPCNONE, {VB}},
9719 +{"vcmpgtuh.", VXR(4, 582,1), VXR_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9720 +{"vsum4shs", VX (4,1608), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9721 +{"udi9fcm.", APU(4, 804,0), APU_MASK, PPC440, PPCNONE, {URT, URA, URB}},
9722 +{"udi9fcm", APU(4, 804,1), APU_MASK, PPC440, PPCNONE, {URT, URA, URB}},
9723 +{"vsubuws", VX (4,1664), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9724 +{"vcmpgtuw.", VXR(4, 646,1), VXR_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9725 +{"udi10fcm.", APU(4, 835,0), APU_MASK, PPC440, PPCNONE, {URT, URA, URB}},
9726 +{"udi10fcm", APU(4, 835,1), APU_MASK, PPC440, PPCNONE, {URT, URA, URB}},
9727 +{"vsum2sws", VX (4,1672), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9728 +{"vcmpgtfp.", VXR(4, 710,1), VXR_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9729 +{"udi11fcm.", APU(4, 867,0), APU_MASK, PPC440, PPCNONE, {URT, URA, URB}},
9730 +{"udi11fcm", APU(4, 867,1), APU_MASK, PPC440, PPCNONE, {URT, URA, URB}},
9731 +{"vsubsbs", VX (4,1792), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9732 +{"vcmpgtsb.", VXR(4, 774,1), VXR_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9733 +{"udi12fcm.", APU(4, 899,0), APU_MASK, PPC440, PPCNONE, {URT, URA, URB}},
9734 +{"udi12fcm", APU(4, 899,1), APU_MASK, PPC440, PPCNONE, {URT, URA, URB}},
9735 +{"vsum4sbs", VX (4,1800), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9736 +{"maclhwuo", XO (4, 396,1,0),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9737 +{"maclhwuo.", XO (4, 396,1,1),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9738 +{"vsubshs", VX (4,1856), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9739 +{"vcmpgtsh.", VXR(4, 838,1), VXR_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9740 +{"udi13fcm.", APU(4, 931,0), APU_MASK, PPC440, PPCNONE, {URT, URA, URB}},
9741 +{"udi13fcm", APU(4, 931,1), APU_MASK, PPC440, PPCNONE, {URT, URA, URB}},
9742 +{"maclhwo", XO (4, 428,1,0),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9743 +{"maclhwo.", XO (4, 428,1,1),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9744 +{"nmaclhwo", XO (4, 430,1,0),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9745 +{"nmaclhwo.", XO (4, 430,1,1),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9746 +{"vsubsws", VX (4,1920), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9747 +{"vcmpgtsw.", VXR(4, 902,1), VXR_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9748 +{"udi14fcm.", APU(4, 963,0), APU_MASK, PPC440, PPCNONE, {URT, URA, URB}},
9749 +{"udi14fcm", APU(4, 963,1), APU_MASK, PPC440, PPCNONE, {URT, URA, URB}},
9750 +{"vsumsws", VX (4,1928), VX_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9751 +{"maclhwsuo", XO (4, 460,1,0),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9752 +{"maclhwsuo.", XO (4, 460,1,1),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9753 +{"vcmpbfp.", VXR(4, 966,1), VXR_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
9754 +{"udi15fcm.", APU(4, 995,0), APU_MASK, PPC440, PPCNONE, {URT, URA, URB}},
9755 +{"udi15fcm", APU(4, 995,1), APU_MASK, PPC440, PPCNONE, {URT, URA, URB}},
9756 +{"maclhwso", XO (4, 492,1,0),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9757 +{"maclhwso.", XO (4, 492,1,1),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9758 +{"nmaclhwso", XO (4, 494,1,0),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9759 +{"nmaclhwso.", XO (4, 494,1,1),XO_MASK, PPC405|PPC440, PPCNONE, {RT, RA, RB}},
9760 +{"dcbz_l", X (4,1014), XRT_MASK, PPCPS, PPCNONE, {RA, RB}},
9761 +
9762 +{"mulli", OP(7), OP_MASK, PPCCOM, PPCNONE, {RT, RA, SI}},
9763 +{"muli", OP(7), OP_MASK, PWRCOM, PPCNONE, {RT, RA, SI}},
9764 +
9765 +{"subfic", OP(8), OP_MASK, PPCCOM, PPCNONE, {RT, RA, SI}},
9766 +{"sfi", OP(8), OP_MASK, PWRCOM, PPCNONE, {RT, RA, SI}},
9767 +
9768 +{"dozi", OP(9), OP_MASK, M601, PPCNONE, {RT, RA, SI}},
9769 +
9770 +{"cmplwi", OPL(10,0), OPL_MASK, PPCCOM, PPCNONE, {OBF, RA, UI}},
9771 +{"cmpldi", OPL(10,1), OPL_MASK, PPC64, PPCNONE, {OBF, RA, UI}},
9772 +{"cmpli", OP(10), OP_MASK, PPC, PPCNONE, {BF, L, RA, UI}},
9773 +{"cmpli", OP(10), OP_MASK, PWRCOM, PPCNONE, {BF, RA, UI}},
9774 +
9775 +{"cmpwi", OPL(11,0), OPL_MASK, PPCCOM, PPCNONE, {OBF, RA, SI}},
9776 +{"cmpdi", OPL(11,1), OPL_MASK, PPC64, PPCNONE, {OBF, RA, SI}},
9777 +{"cmpi", OP(11), OP_MASK, PPC, PPCNONE, {BF, L, RA, SI}},
9778 +{"cmpi", OP(11), OP_MASK, PWRCOM, PPCNONE, {BF, RA, SI}},
9779 +
9780 +{"addic", OP(12), OP_MASK, PPCCOM, PPCNONE, {RT, RA, SI}},
9781 +{"ai", OP(12), OP_MASK, PWRCOM, PPCNONE, {RT, RA, SI}},
9782 +{"subic", OP(12), OP_MASK, PPCCOM, PPCNONE, {RT, RA, NSI}},
9783 +
9784 +{"addic.", OP(13), OP_MASK, PPCCOM, PPCNONE, {RT, RA, SI}},
9785 +{"ai.", OP(13), OP_MASK, PWRCOM, PPCNONE, {RT, RA, SI}},
9786 +{"subic.", OP(13), OP_MASK, PPCCOM, PPCNONE, {RT, RA, NSI}},
9787 +
9788 +{"li", OP(14), DRA_MASK, PPCCOM, PPCNONE, {RT, SI}},
9789 +{"lil", OP(14), DRA_MASK, PWRCOM, PPCNONE, {RT, SI}},
9790 +{"addi", OP(14), OP_MASK, PPCCOM, PPCNONE, {RT, RA0, SI}},
9791 +{"cal", OP(14), OP_MASK, PWRCOM, PPCNONE, {RT, D, RA0}},
9792 +{"subi", OP(14), OP_MASK, PPCCOM, PPCNONE, {RT, RA0, NSI}},
9793 +{"la", OP(14), OP_MASK, PPCCOM, PPCNONE, {RT, D, RA0}},
9794 +
9795 +{"lis", OP(15), DRA_MASK, PPCCOM, PPCNONE, {RT, SISIGNOPT}},
9796 +{"liu", OP(15), DRA_MASK, PWRCOM, PPCNONE, {RT, SISIGNOPT}},
9797 +{"addis", OP(15), OP_MASK, PPCCOM, PPCNONE, {RT, RA0, SISIGNOPT}},
9798 +{"cau", OP(15), OP_MASK, PWRCOM, PPCNONE, {RT, RA0, SISIGNOPT}},
9799 +{"subis", OP(15), OP_MASK, PPCCOM, PPCNONE, {RT, RA0, NSI}},
9800 +
9801 +{"bdnz-", BBO(16,BODNZ,0,0), BBOATBI_MASK, PPCCOM, PPCNONE, {BDM}},
9802 +{"bdnz+", BBO(16,BODNZ,0,0), BBOATBI_MASK, PPCCOM, PPCNONE, {BDP}},
9803 +{"bdnz", BBO(16,BODNZ,0,0), BBOATBI_MASK, PPCCOM, PPCNONE, {BD}},
9804 +{"bdn", BBO(16,BODNZ,0,0), BBOATBI_MASK, PWRCOM, PPCNONE, {BD}},
9805 +{"bdnzl-", BBO(16,BODNZ,0,1), BBOATBI_MASK, PPCCOM, PPCNONE, {BDM}},
9806 +{"bdnzl+", BBO(16,BODNZ,0,1), BBOATBI_MASK, PPCCOM, PPCNONE, {BDP}},
9807 +{"bdnzl", BBO(16,BODNZ,0,1), BBOATBI_MASK, PPCCOM, PPCNONE, {BD}},
9808 +{"bdnl", BBO(16,BODNZ,0,1), BBOATBI_MASK, PWRCOM, PPCNONE, {BD}},
9809 +{"bdnza-", BBO(16,BODNZ,1,0), BBOATBI_MASK, PPCCOM, PPCNONE, {BDMA}},
9810 +{"bdnza+", BBO(16,BODNZ,1,0), BBOATBI_MASK, PPCCOM, PPCNONE, {BDPA}},
9811 +{"bdnza", BBO(16,BODNZ,1,0), BBOATBI_MASK, PPCCOM, PPCNONE, {BDA}},
9812 +{"bdna", BBO(16,BODNZ,1,0), BBOATBI_MASK, PWRCOM, PPCNONE, {BDA}},
9813 +{"bdnzla-", BBO(16,BODNZ,1,1), BBOATBI_MASK, PPCCOM, PPCNONE, {BDMA}},
9814 +{"bdnzla+", BBO(16,BODNZ,1,1), BBOATBI_MASK, PPCCOM, PPCNONE, {BDPA}},
9815 +{"bdnzla", BBO(16,BODNZ,1,1), BBOATBI_MASK, PPCCOM, PPCNONE, {BDA}},
9816 +{"bdnla", BBO(16,BODNZ,1,1), BBOATBI_MASK, PWRCOM, PPCNONE, {BDA}},
9817 +{"bdz-", BBO(16,BODZ,0,0), BBOATBI_MASK, PPCCOM, PPCNONE, {BDM}},
9818 +{"bdz+", BBO(16,BODZ,0,0), BBOATBI_MASK, PPCCOM, PPCNONE, {BDP}},
9819 +{"bdz", BBO(16,BODZ,0,0), BBOATBI_MASK, COM, PPCNONE, {BD}},
9820 +{"bdzl-", BBO(16,BODZ,0,1), BBOATBI_MASK, PPCCOM, PPCNONE, {BDM}},
9821 +{"bdzl+", BBO(16,BODZ,0,1), BBOATBI_MASK, PPCCOM, PPCNONE, {BDP}},
9822 +{"bdzl", BBO(16,BODZ,0,1), BBOATBI_MASK, COM, PPCNONE, {BD}},
9823 +{"bdza-", BBO(16,BODZ,1,0), BBOATBI_MASK, PPCCOM, PPCNONE, {BDMA}},
9824 +{"bdza+", BBO(16,BODZ,1,0), BBOATBI_MASK, PPCCOM, PPCNONE, {BDPA}},
9825 +{"bdza", BBO(16,BODZ,1,0), BBOATBI_MASK, COM, PPCNONE, {BDA}},
9826 +{"bdzla-", BBO(16,BODZ,1,1), BBOATBI_MASK, PPCCOM, PPCNONE, {BDMA}},
9827 +{"bdzla+", BBO(16,BODZ,1,1), BBOATBI_MASK, PPCCOM, PPCNONE, {BDPA}},
9828 +{"bdzla", BBO(16,BODZ,1,1), BBOATBI_MASK, COM, PPCNONE, {BDA}},
9829 +
9830 +{"bge-", BBOCB(16,BOF,CBLT,0,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDM}},
9831 +{"bge+", BBOCB(16,BOF,CBLT,0,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDP}},
9832 +{"bge", BBOCB(16,BOF,CBLT,0,0), BBOATCB_MASK, COM, PPCNONE, {CR, BD}},
9833 +{"bnl-", BBOCB(16,BOF,CBLT,0,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDM}},
9834 +{"bnl+", BBOCB(16,BOF,CBLT,0,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDP}},
9835 +{"bnl", BBOCB(16,BOF,CBLT,0,0), BBOATCB_MASK, COM, PPCNONE, {CR, BD}},
9836 +{"bgel-", BBOCB(16,BOF,CBLT,0,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDM}},
9837 +{"bgel+", BBOCB(16,BOF,CBLT,0,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDP}},
9838 +{"bgel", BBOCB(16,BOF,CBLT,0,1), BBOATCB_MASK, COM, PPCNONE, {CR, BD}},
9839 +{"bnll-", BBOCB(16,BOF,CBLT,0,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDM}},
9840 +{"bnll+", BBOCB(16,BOF,CBLT,0,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDP}},
9841 +{"bnll", BBOCB(16,BOF,CBLT,0,1), BBOATCB_MASK, COM, PPCNONE, {CR, BD}},
9842 +{"bgea-", BBOCB(16,BOF,CBLT,1,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDMA}},
9843 +{"bgea+", BBOCB(16,BOF,CBLT,1,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDPA}},
9844 +{"bgea", BBOCB(16,BOF,CBLT,1,0), BBOATCB_MASK, COM, PPCNONE, {CR, BDA}},
9845 +{"bnla-", BBOCB(16,BOF,CBLT,1,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDMA}},
9846 +{"bnla+", BBOCB(16,BOF,CBLT,1,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDPA}},
9847 +{"bnla", BBOCB(16,BOF,CBLT,1,0), BBOATCB_MASK, COM, PPCNONE, {CR, BDA}},
9848 +{"bgela-", BBOCB(16,BOF,CBLT,1,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDMA}},
9849 +{"bgela+", BBOCB(16,BOF,CBLT,1,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDPA}},
9850 +{"bgela", BBOCB(16,BOF,CBLT,1,1), BBOATCB_MASK, COM, PPCNONE, {CR, BDA}},
9851 +{"bnlla-", BBOCB(16,BOF,CBLT,1,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDMA}},
9852 +{"bnlla+", BBOCB(16,BOF,CBLT,1,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDPA}},
9853 +{"bnlla", BBOCB(16,BOF,CBLT,1,1), BBOATCB_MASK, COM, PPCNONE, {CR, BDA}},
9854 +{"ble-", BBOCB(16,BOF,CBGT,0,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDM}},
9855 +{"ble+", BBOCB(16,BOF,CBGT,0,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDP}},
9856 +{"ble", BBOCB(16,BOF,CBGT,0,0), BBOATCB_MASK, COM, PPCNONE, {CR, BD}},
9857 +{"bng-", BBOCB(16,BOF,CBGT,0,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDM}},
9858 +{"bng+", BBOCB(16,BOF,CBGT,0,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDP}},
9859 +{"bng", BBOCB(16,BOF,CBGT,0,0), BBOATCB_MASK, COM, PPCNONE, {CR, BD}},
9860 +{"blel-", BBOCB(16,BOF,CBGT,0,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDM}},
9861 +{"blel+", BBOCB(16,BOF,CBGT,0,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDP}},
9862 +{"blel", BBOCB(16,BOF,CBGT,0,1), BBOATCB_MASK, COM, PPCNONE, {CR, BD}},
9863 +{"bngl-", BBOCB(16,BOF,CBGT,0,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDM}},
9864 +{"bngl+", BBOCB(16,BOF,CBGT,0,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDP}},
9865 +{"bngl", BBOCB(16,BOF,CBGT,0,1), BBOATCB_MASK, COM, PPCNONE, {CR, BD}},
9866 +{"blea-", BBOCB(16,BOF,CBGT,1,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDMA}},
9867 +{"blea+", BBOCB(16,BOF,CBGT,1,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDPA}},
9868 +{"blea", BBOCB(16,BOF,CBGT,1,0), BBOATCB_MASK, COM, PPCNONE, {CR, BDA}},
9869 +{"bnga-", BBOCB(16,BOF,CBGT,1,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDMA}},
9870 +{"bnga+", BBOCB(16,BOF,CBGT,1,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDPA}},
9871 +{"bnga", BBOCB(16,BOF,CBGT,1,0), BBOATCB_MASK, COM, PPCNONE, {CR, BDA}},
9872 +{"blela-", BBOCB(16,BOF,CBGT,1,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDMA}},
9873 +{"blela+", BBOCB(16,BOF,CBGT,1,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDPA}},
9874 +{"blela", BBOCB(16,BOF,CBGT,1,1), BBOATCB_MASK, COM, PPCNONE, {CR, BDA}},
9875 +{"bngla-", BBOCB(16,BOF,CBGT,1,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDMA}},
9876 +{"bngla+", BBOCB(16,BOF,CBGT,1,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDPA}},
9877 +{"bngla", BBOCB(16,BOF,CBGT,1,1), BBOATCB_MASK, COM, PPCNONE, {CR, BDA}},
9878 +{"bne-", BBOCB(16,BOF,CBEQ,0,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDM}},
9879 +{"bne+", BBOCB(16,BOF,CBEQ,0,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDP}},
9880 +{"bne", BBOCB(16,BOF,CBEQ,0,0), BBOATCB_MASK, COM, PPCNONE, {CR, BD}},
9881 +{"bnel-", BBOCB(16,BOF,CBEQ,0,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDM}},
9882 +{"bnel+", BBOCB(16,BOF,CBEQ,0,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDP}},
9883 +{"bnel", BBOCB(16,BOF,CBEQ,0,1), BBOATCB_MASK, COM, PPCNONE, {CR, BD}},
9884 +{"bnea-", BBOCB(16,BOF,CBEQ,1,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDMA}},
9885 +{"bnea+", BBOCB(16,BOF,CBEQ,1,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDPA}},
9886 +{"bnea", BBOCB(16,BOF,CBEQ,1,0), BBOATCB_MASK, COM, PPCNONE, {CR, BDA}},
9887 +{"bnela-", BBOCB(16,BOF,CBEQ,1,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDMA}},
9888 +{"bnela+", BBOCB(16,BOF,CBEQ,1,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDPA}},
9889 +{"bnela", BBOCB(16,BOF,CBEQ,1,1), BBOATCB_MASK, COM, PPCNONE, {CR, BDA}},
9890 +{"bns-", BBOCB(16,BOF,CBSO,0,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDM}},
9891 +{"bns+", BBOCB(16,BOF,CBSO,0,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDP}},
9892 +{"bns", BBOCB(16,BOF,CBSO,0,0), BBOATCB_MASK, COM, PPCNONE, {CR, BD}},
9893 +{"bnu-", BBOCB(16,BOF,CBSO,0,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDM}},
9894 +{"bnu+", BBOCB(16,BOF,CBSO,0,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDP}},
9895 +{"bnu", BBOCB(16,BOF,CBSO,0,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BD}},
9896 +{"bnsl-", BBOCB(16,BOF,CBSO,0,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDM}},
9897 +{"bnsl+", BBOCB(16,BOF,CBSO,0,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDP}},
9898 +{"bnsl", BBOCB(16,BOF,CBSO,0,1), BBOATCB_MASK, COM, PPCNONE, {CR, BD}},
9899 +{"bnul-", BBOCB(16,BOF,CBSO,0,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDM}},
9900 +{"bnul+", BBOCB(16,BOF,CBSO,0,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDP}},
9901 +{"bnul", BBOCB(16,BOF,CBSO,0,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BD}},
9902 +{"bnsa-", BBOCB(16,BOF,CBSO,1,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDMA}},
9903 +{"bnsa+", BBOCB(16,BOF,CBSO,1,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDPA}},
9904 +{"bnsa", BBOCB(16,BOF,CBSO,1,0), BBOATCB_MASK, COM, PPCNONE, {CR, BDA}},
9905 +{"bnua-", BBOCB(16,BOF,CBSO,1,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDMA}},
9906 +{"bnua+", BBOCB(16,BOF,CBSO,1,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDPA}},
9907 +{"bnua", BBOCB(16,BOF,CBSO,1,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDA}},
9908 +{"bnsla-", BBOCB(16,BOF,CBSO,1,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDMA}},
9909 +{"bnsla+", BBOCB(16,BOF,CBSO,1,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDPA}},
9910 +{"bnsla", BBOCB(16,BOF,CBSO,1,1), BBOATCB_MASK, COM, PPCNONE, {CR, BDA}},
9911 +{"bnula-", BBOCB(16,BOF,CBSO,1,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDMA}},
9912 +{"bnula+", BBOCB(16,BOF,CBSO,1,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDPA}},
9913 +{"bnula", BBOCB(16,BOF,CBSO,1,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDA}},
9914 +
9915 +{"blt-", BBOCB(16,BOT,CBLT,0,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDM}},
9916 +{"blt+", BBOCB(16,BOT,CBLT,0,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDP}},
9917 +{"blt", BBOCB(16,BOT,CBLT,0,0), BBOATCB_MASK, COM, PPCNONE, {CR, BD}},
9918 +{"bltl-", BBOCB(16,BOT,CBLT,0,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDM}},
9919 +{"bltl+", BBOCB(16,BOT,CBLT,0,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDP}},
9920 +{"bltl", BBOCB(16,BOT,CBLT,0,1), BBOATCB_MASK, COM, PPCNONE, {CR, BD}},
9921 +{"blta-", BBOCB(16,BOT,CBLT,1,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDMA}},
9922 +{"blta+", BBOCB(16,BOT,CBLT,1,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDPA}},
9923 +{"blta", BBOCB(16,BOT,CBLT,1,0), BBOATCB_MASK, COM, PPCNONE, {CR, BDA}},
9924 +{"bltla-", BBOCB(16,BOT,CBLT,1,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDMA}},
9925 +{"bltla+", BBOCB(16,BOT,CBLT,1,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDPA}},
9926 +{"bltla", BBOCB(16,BOT,CBLT,1,1), BBOATCB_MASK, COM, PPCNONE, {CR, BDA}},
9927 +{"bgt-", BBOCB(16,BOT,CBGT,0,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDM}},
9928 +{"bgt+", BBOCB(16,BOT,CBGT,0,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDP}},
9929 +{"bgt", BBOCB(16,BOT,CBGT,0,0), BBOATCB_MASK, COM, PPCNONE, {CR, BD}},
9930 +{"bgtl-", BBOCB(16,BOT,CBGT,0,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDM}},
9931 +{"bgtl+", BBOCB(16,BOT,CBGT,0,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDP}},
9932 +{"bgtl", BBOCB(16,BOT,CBGT,0,1), BBOATCB_MASK, COM, PPCNONE, {CR, BD}},
9933 +{"bgta-", BBOCB(16,BOT,CBGT,1,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDMA}},
9934 +{"bgta+", BBOCB(16,BOT,CBGT,1,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDPA}},
9935 +{"bgta", BBOCB(16,BOT,CBGT,1,0), BBOATCB_MASK, COM, PPCNONE, {CR, BDA}},
9936 +{"bgtla-", BBOCB(16,BOT,CBGT,1,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDMA}},
9937 +{"bgtla+", BBOCB(16,BOT,CBGT,1,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDPA}},
9938 +{"bgtla", BBOCB(16,BOT,CBGT,1,1), BBOATCB_MASK, COM, PPCNONE, {CR, BDA}},
9939 +{"beq-", BBOCB(16,BOT,CBEQ,0,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDM}},
9940 +{"beq+", BBOCB(16,BOT,CBEQ,0,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDP}},
9941 +{"beq", BBOCB(16,BOT,CBEQ,0,0), BBOATCB_MASK, COM, PPCNONE, {CR, BD}},
9942 +{"beql-", BBOCB(16,BOT,CBEQ,0,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDM}},
9943 +{"beql+", BBOCB(16,BOT,CBEQ,0,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDP}},
9944 +{"beql", BBOCB(16,BOT,CBEQ,0,1), BBOATCB_MASK, COM, PPCNONE, {CR, BD}},
9945 +{"beqa-", BBOCB(16,BOT,CBEQ,1,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDMA}},
9946 +{"beqa+", BBOCB(16,BOT,CBEQ,1,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDPA}},
9947 +{"beqa", BBOCB(16,BOT,CBEQ,1,0), BBOATCB_MASK, COM, PPCNONE, {CR, BDA}},
9948 +{"beqla-", BBOCB(16,BOT,CBEQ,1,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDMA}},
9949 +{"beqla+", BBOCB(16,BOT,CBEQ,1,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDPA}},
9950 +{"beqla", BBOCB(16,BOT,CBEQ,1,1), BBOATCB_MASK, COM, PPCNONE, {CR, BDA}},
9951 +{"bso-", BBOCB(16,BOT,CBSO,0,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDM}},
9952 +{"bso+", BBOCB(16,BOT,CBSO,0,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDP}},
9953 +{"bso", BBOCB(16,BOT,CBSO,0,0), BBOATCB_MASK, COM, PPCNONE, {CR, BD}},
9954 +{"bun-", BBOCB(16,BOT,CBSO,0,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDM}},
9955 +{"bun+", BBOCB(16,BOT,CBSO,0,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDP}},
9956 +{"bun", BBOCB(16,BOT,CBSO,0,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BD}},
9957 +{"bsol-", BBOCB(16,BOT,CBSO,0,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDM}},
9958 +{"bsol+", BBOCB(16,BOT,CBSO,0,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDP}},
9959 +{"bsol", BBOCB(16,BOT,CBSO,0,1), BBOATCB_MASK, COM, PPCNONE, {CR, BD}},
9960 +{"bunl-", BBOCB(16,BOT,CBSO,0,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDM}},
9961 +{"bunl+", BBOCB(16,BOT,CBSO,0,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDP}},
9962 +{"bunl", BBOCB(16,BOT,CBSO,0,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BD}},
9963 +{"bsoa-", BBOCB(16,BOT,CBSO,1,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDMA}},
9964 +{"bsoa+", BBOCB(16,BOT,CBSO,1,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDPA}},
9965 +{"bsoa", BBOCB(16,BOT,CBSO,1,0), BBOATCB_MASK, COM, PPCNONE, {CR, BDA}},
9966 +{"buna-", BBOCB(16,BOT,CBSO,1,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDMA}},
9967 +{"buna+", BBOCB(16,BOT,CBSO,1,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDPA}},
9968 +{"buna", BBOCB(16,BOT,CBSO,1,0), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDA}},
9969 +{"bsola-", BBOCB(16,BOT,CBSO,1,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDMA}},
9970 +{"bsola+", BBOCB(16,BOT,CBSO,1,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDPA}},
9971 +{"bsola", BBOCB(16,BOT,CBSO,1,1), BBOATCB_MASK, COM, PPCNONE, {CR, BDA}},
9972 +{"bunla-", BBOCB(16,BOT,CBSO,1,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDMA}},
9973 +{"bunla+", BBOCB(16,BOT,CBSO,1,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDPA}},
9974 +{"bunla", BBOCB(16,BOT,CBSO,1,1), BBOATCB_MASK, PPCCOM, PPCNONE, {CR, BDA}},
9975 +
9976 +{"bdnzf-", BBO(16,BODNZF,0,0), BBOY_MASK, PPCCOM, POWER4, {BI, BDM}},
9977 +{"bdnzf+", BBO(16,BODNZF,0,0), BBOY_MASK, PPCCOM, POWER4, {BI, BDP}},
9978 +{"bdnzf", BBO(16,BODNZF,0,0), BBOY_MASK, PPCCOM, PPCNONE, {BI, BD}},
9979 +{"bdnzfl-", BBO(16,BODNZF,0,1), BBOY_MASK, PPCCOM, POWER4, {BI, BDM}},
9980 +{"bdnzfl+", BBO(16,BODNZF,0,1), BBOY_MASK, PPCCOM, POWER4, {BI, BDP}},
9981 +{"bdnzfl", BBO(16,BODNZF,0,1), BBOY_MASK, PPCCOM, PPCNONE, {BI, BD}},
9982 +{"bdnzfa-", BBO(16,BODNZF,1,0), BBOY_MASK, PPCCOM, POWER4, {BI, BDMA}},
9983 +{"bdnzfa+", BBO(16,BODNZF,1,0), BBOY_MASK, PPCCOM, POWER4, {BI, BDPA}},
9984 +{"bdnzfa", BBO(16,BODNZF,1,0), BBOY_MASK, PPCCOM, PPCNONE, {BI, BDA}},
9985 +{"bdnzfla-", BBO(16,BODNZF,1,1), BBOY_MASK, PPCCOM, POWER4, {BI, BDMA}},
9986 +{"bdnzfla+", BBO(16,BODNZF,1,1), BBOY_MASK, PPCCOM, POWER4, {BI, BDPA}},
9987 +{"bdnzfla", BBO(16,BODNZF,1,1), BBOY_MASK, PPCCOM, PPCNONE, {BI, BDA}},
9988 +{"bdzf-", BBO(16,BODZF,0,0), BBOY_MASK, PPCCOM, POWER4, {BI, BDM}},
9989 +{"bdzf+", BBO(16,BODZF,0,0), BBOY_MASK, PPCCOM, POWER4, {BI, BDP}},
9990 +{"bdzf", BBO(16,BODZF,0,0), BBOY_MASK, PPCCOM, PPCNONE, {BI, BD}},
9991 +{"bdzfl-", BBO(16,BODZF,0,1), BBOY_MASK, PPCCOM, POWER4, {BI, BDM}},
9992 +{"bdzfl+", BBO(16,BODZF,0,1), BBOY_MASK, PPCCOM, POWER4, {BI, BDP}},
9993 +{"bdzfl", BBO(16,BODZF,0,1), BBOY_MASK, PPCCOM, PPCNONE, {BI, BD}},
9994 +{"bdzfa-", BBO(16,BODZF,1,0), BBOY_MASK, PPCCOM, POWER4, {BI, BDMA}},
9995 +{"bdzfa+", BBO(16,BODZF,1,0), BBOY_MASK, PPCCOM, POWER4, {BI, BDPA}},
9996 +{"bdzfa", BBO(16,BODZF,1,0), BBOY_MASK, PPCCOM, PPCNONE, {BI, BDA}},
9997 +{"bdzfla-", BBO(16,BODZF,1,1), BBOY_MASK, PPCCOM, POWER4, {BI, BDMA}},
9998 +{"bdzfla+", BBO(16,BODZF,1,1), BBOY_MASK, PPCCOM, POWER4, {BI, BDPA}},
9999 +{"bdzfla", BBO(16,BODZF,1,1), BBOY_MASK, PPCCOM, PPCNONE, {BI, BDA}},
10000 +
10001 +{"bf-", BBO(16,BOF,0,0), BBOAT_MASK, PPCCOM, PPCNONE, {BI, BDM}},
10002 +{"bf+", BBO(16,BOF,0,0), BBOAT_MASK, PPCCOM, PPCNONE, {BI, BDP}},
10003 +{"bf", BBO(16,BOF,0,0), BBOAT_MASK, PPCCOM, PPCNONE, {BI, BD}},
10004 +{"bbf", BBO(16,BOF,0,0), BBOAT_MASK, PWRCOM, PPCNONE, {BI, BD}},
10005 +{"bfl-", BBO(16,BOF,0,1), BBOAT_MASK, PPCCOM, PPCNONE, {BI, BDM}},
10006 +{"bfl+", BBO(16,BOF,0,1), BBOAT_MASK, PPCCOM, PPCNONE, {BI, BDP}},
10007 +{"bfl", BBO(16,BOF,0,1), BBOAT_MASK, PPCCOM, PPCNONE, {BI, BD}},
10008 +{"bbfl", BBO(16,BOF,0,1), BBOAT_MASK, PWRCOM, PPCNONE, {BI, BD}},
10009 +{"bfa-", BBO(16,BOF,1,0), BBOAT_MASK, PPCCOM, PPCNONE, {BI, BDMA}},
10010 +{"bfa+", BBO(16,BOF,1,0), BBOAT_MASK, PPCCOM, PPCNONE, {BI, BDPA}},
10011 +{"bfa", BBO(16,BOF,1,0), BBOAT_MASK, PPCCOM, PPCNONE, {BI, BDA}},
10012 +{"bbfa", BBO(16,BOF,1,0), BBOAT_MASK, PWRCOM, PPCNONE, {BI, BDA}},
10013 +{"bfla-", BBO(16,BOF,1,1), BBOAT_MASK, PPCCOM, PPCNONE, {BI, BDMA}},
10014 +{"bfla+", BBO(16,BOF,1,1), BBOAT_MASK, PPCCOM, PPCNONE, {BI, BDPA}},
10015 +{"bfla", BBO(16,BOF,1,1), BBOAT_MASK, PPCCOM, PPCNONE, {BI, BDA}},
10016 +{"bbfla", BBO(16,BOF,1,1), BBOAT_MASK, PWRCOM, PPCNONE, {BI, BDA}},
10017 +
10018 +{"bdnzt-", BBO(16,BODNZT,0,0), BBOY_MASK, PPCCOM, POWER4, {BI, BDM}},
10019 +{"bdnzt+", BBO(16,BODNZT,0,0), BBOY_MASK, PPCCOM, POWER4, {BI, BDP}},
10020 +{"bdnzt", BBO(16,BODNZT,0,0), BBOY_MASK, PPCCOM, PPCNONE, {BI, BD}},
10021 +{"bdnztl-", BBO(16,BODNZT,0,1), BBOY_MASK, PPCCOM, POWER4, {BI, BDM}},
10022 +{"bdnztl+", BBO(16,BODNZT,0,1), BBOY_MASK, PPCCOM, POWER4, {BI, BDP}},
10023 +{"bdnztl", BBO(16,BODNZT,0,1), BBOY_MASK, PPCCOM, PPCNONE, {BI, BD}},
10024 +{"bdnzta-", BBO(16,BODNZT,1,0), BBOY_MASK, PPCCOM, POWER4, {BI, BDMA}},
10025 +{"bdnzta+", BBO(16,BODNZT,1,0), BBOY_MASK, PPCCOM, POWER4, {BI, BDPA}},
10026 +{"bdnzta", BBO(16,BODNZT,1,0), BBOY_MASK, PPCCOM, PPCNONE, {BI, BDA}},
10027 +{"bdnztla-", BBO(16,BODNZT,1,1), BBOY_MASK, PPCCOM, POWER4, {BI, BDMA}},
10028 +{"bdnztla+", BBO(16,BODNZT,1,1), BBOY_MASK, PPCCOM, POWER4, {BI, BDPA}},
10029 +{"bdnztla", BBO(16,BODNZT,1,1), BBOY_MASK, PPCCOM, PPCNONE, {BI, BDA}},
10030 +{"bdzt-", BBO(16,BODZT,0,0), BBOY_MASK, PPCCOM, POWER4, {BI, BDM}},
10031 +{"bdzt+", BBO(16,BODZT,0,0), BBOY_MASK, PPCCOM, POWER4, {BI, BDP}},
10032 +{"bdzt", BBO(16,BODZT,0,0), BBOY_MASK, PPCCOM, PPCNONE, {BI, BD}},
10033 +{"bdztl-", BBO(16,BODZT,0,1), BBOY_MASK, PPCCOM, POWER4, {BI, BDM}},
10034 +{"bdztl+", BBO(16,BODZT,0,1), BBOY_MASK, PPCCOM, POWER4, {BI, BDP}},
10035 +{"bdztl", BBO(16,BODZT,0,1), BBOY_MASK, PPCCOM, PPCNONE, {BI, BD}},
10036 +{"bdzta-", BBO(16,BODZT,1,0), BBOY_MASK, PPCCOM, POWER4, {BI, BDMA}},
10037 +{"bdzta+", BBO(16,BODZT,1,0), BBOY_MASK, PPCCOM, POWER4, {BI, BDPA}},
10038 +{"bdzta", BBO(16,BODZT,1,0), BBOY_MASK, PPCCOM, PPCNONE, {BI, BDA}},
10039 +{"bdztla-", BBO(16,BODZT,1,1), BBOY_MASK, PPCCOM, POWER4, {BI, BDMA}},
10040 +{"bdztla+", BBO(16,BODZT,1,1), BBOY_MASK, PPCCOM, POWER4, {BI, BDPA}},
10041 +{"bdztla", BBO(16,BODZT,1,1), BBOY_MASK, PPCCOM, PPCNONE, {BI, BDA}},
10042 +
10043 +{"bt-", BBO(16,BOT,0,0), BBOAT_MASK, PPCCOM, PPCNONE, {BI, BDM}},
10044 +{"bt+", BBO(16,BOT,0,0), BBOAT_MASK, PPCCOM, PPCNONE, {BI, BDP}},
10045 +{"bt", BBO(16,BOT,0,0), BBOAT_MASK, PPCCOM, PPCNONE, {BI, BD}},
10046 +{"bbt", BBO(16,BOT,0,0), BBOAT_MASK, PWRCOM, PPCNONE, {BI, BD}},
10047 +{"btl-", BBO(16,BOT,0,1), BBOAT_MASK, PPCCOM, PPCNONE, {BI, BDM}},
10048 +{"btl+", BBO(16,BOT,0,1), BBOAT_MASK, PPCCOM, PPCNONE, {BI, BDP}},
10049 +{"btl", BBO(16,BOT,0,1), BBOAT_MASK, PPCCOM, PPCNONE, {BI, BD}},
10050 +{"bbtl", BBO(16,BOT,0,1), BBOAT_MASK, PWRCOM, PPCNONE, {BI, BD}},
10051 +{"bta-", BBO(16,BOT,1,0), BBOAT_MASK, PPCCOM, PPCNONE, {BI, BDMA}},
10052 +{"bta+", BBO(16,BOT,1,0), BBOAT_MASK, PPCCOM, PPCNONE, {BI, BDPA}},
10053 +{"bta", BBO(16,BOT,1,0), BBOAT_MASK, PPCCOM, PPCNONE, {BI, BDA}},
10054 +{"bbta", BBO(16,BOT,1,0), BBOAT_MASK, PWRCOM, PPCNONE, {BI, BDA}},
10055 +{"btla-", BBO(16,BOT,1,1), BBOAT_MASK, PPCCOM, PPCNONE, {BI, BDMA}},
10056 +{"btla+", BBO(16,BOT,1,1), BBOAT_MASK, PPCCOM, PPCNONE, {BI, BDPA}},
10057 +{"btla", BBO(16,BOT,1,1), BBOAT_MASK, PPCCOM, PPCNONE, {BI, BDA}},
10058 +{"bbtla", BBO(16,BOT,1,1), BBOAT_MASK, PWRCOM, PPCNONE, {BI, BDA}},
10059 +
10060 +{"bc-", B(16,0,0), B_MASK, PPCCOM, PPCNONE, {BOE, BI, BDM}},
10061 +{"bc+", B(16,0,0), B_MASK, PPCCOM, PPCNONE, {BOE, BI, BDP}},
10062 +{"bc", B(16,0,0), B_MASK, COM, PPCNONE, {BO, BI, BD}},
10063 +{"bcl-", B(16,0,1), B_MASK, PPCCOM, PPCNONE, {BOE, BI, BDM}},
10064 +{"bcl+", B(16,0,1), B_MASK, PPCCOM, PPCNONE, {BOE, BI, BDP}},
10065 +{"bcl", B(16,0,1), B_MASK, COM, PPCNONE, {BO, BI, BD}},
10066 +{"bca-", B(16,1,0), B_MASK, PPCCOM, PPCNONE, {BOE, BI, BDMA}},
10067 +{"bca+", B(16,1,0), B_MASK, PPCCOM, PPCNONE, {BOE, BI, BDPA}},
10068 +{"bca", B(16,1,0), B_MASK, COM, PPCNONE, {BO, BI, BDA}},
10069 +{"bcla-", B(16,1,1), B_MASK, PPCCOM, PPCNONE, {BOE, BI, BDMA}},
10070 +{"bcla+", B(16,1,1), B_MASK, PPCCOM, PPCNONE, {BOE, BI, BDPA}},
10071 +{"bcla", B(16,1,1), B_MASK, COM, PPCNONE, {BO, BI, BDA}},
10072 +
10073 +{"svc", SC(17,0,0), SC_MASK, POWER, PPCNONE, {SVC_LEV, FL1, FL2}},
10074 +{"svcl", SC(17,0,1), SC_MASK, POWER, PPCNONE, {SVC_LEV, FL1, FL2}},
10075 +{"sc", SC(17,1,0), SC_MASK, PPC, PPCNONE, {LEV}},
10076 +{"svca", SC(17,1,0), SC_MASK, PWRCOM, PPCNONE, {SV}},
10077 +{"svcla", SC(17,1,1), SC_MASK, POWER, PPCNONE, {SV}},
10078 +
10079 +{"b", B(18,0,0), B_MASK, COM, PPCNONE, {LI}},
10080 +{"bl", B(18,0,1), B_MASK, COM, PPCNONE, {LI}},
10081 +{"ba", B(18,1,0), B_MASK, COM, PPCNONE, {LIA}},
10082 +{"bla", B(18,1,1), B_MASK, COM, PPCNONE, {LIA}},
10083 +
10084 +{"mcrf", XL(19,0), XLBB_MASK|(3<<21)|(3<<16), COM, PPCNONE, {BF, BFA}},
10085 +
10086 +{"bdnzlr", XLO(19,BODNZ,16,0), XLBOBIBB_MASK, PPCCOM, PPCNONE, {0}},
10087 +{"bdnzlr-", XLO(19,BODNZ,16,0), XLBOBIBB_MASK, PPCCOM, POWER4, {0}},
10088 +{"bdnzlrl", XLO(19,BODNZ,16,1), XLBOBIBB_MASK, PPCCOM, PPCNONE, {0}},
10089 +{"bdnzlrl-", XLO(19,BODNZ,16,1), XLBOBIBB_MASK, PPCCOM, POWER4, {0}},
10090 +{"bdnzlr+", XLO(19,BODNZP,16,0), XLBOBIBB_MASK, PPCCOM, POWER4, {0}},
10091 +{"bdnzlrl+", XLO(19,BODNZP,16,1), XLBOBIBB_MASK, PPCCOM, POWER4, {0}},
10092 +{"bdzlr", XLO(19,BODZ,16,0), XLBOBIBB_MASK, PPCCOM, PPCNONE, {0}},
10093 +{"bdzlr-", XLO(19,BODZ,16,0), XLBOBIBB_MASK, PPCCOM, POWER4, {0}},
10094 +{"bdzlrl", XLO(19,BODZ,16,1), XLBOBIBB_MASK, PPCCOM, PPCNONE, {0}},
10095 +{"bdzlrl-", XLO(19,BODZ,16,1), XLBOBIBB_MASK, PPCCOM, POWER4, {0}},
10096 +{"bdzlr+", XLO(19,BODZP,16,0), XLBOBIBB_MASK, PPCCOM, POWER4, {0}},
10097 +{"bdzlrl+", XLO(19,BODZP,16,1), XLBOBIBB_MASK, PPCCOM, POWER4, {0}},
10098 +{"blr", XLO(19,BOU,16,0), XLBOBIBB_MASK, PPCCOM, PPCNONE, {0}},
10099 +{"br", XLO(19,BOU,16,0), XLBOBIBB_MASK, PWRCOM, PPCNONE, {0}},
10100 +{"blrl", XLO(19,BOU,16,1), XLBOBIBB_MASK, PPCCOM, PPCNONE, {0}},
10101 +{"brl", XLO(19,BOU,16,1), XLBOBIBB_MASK, PWRCOM, PPCNONE, {0}},
10102 +{"bdnzlr-", XLO(19,BODNZM4,16,0), XLBOBIBB_MASK, POWER4, PPCNONE, {0}},
10103 +{"bdnzlrl-", XLO(19,BODNZM4,16,1), XLBOBIBB_MASK, POWER4, PPCNONE, {0}},
10104 +{"bdnzlr+", XLO(19,BODNZP4,16,0), XLBOBIBB_MASK, POWER4, PPCNONE, {0}},
10105 +{"bdnzlrl+", XLO(19,BODNZP4,16,1), XLBOBIBB_MASK, POWER4, PPCNONE, {0}},
10106 +{"bdzlr-", XLO(19,BODZM4,16,0), XLBOBIBB_MASK, POWER4, PPCNONE, {0}},
10107 +{"bdzlrl-", XLO(19,BODZM4,16,1), XLBOBIBB_MASK, POWER4, PPCNONE, {0}},
10108 +{"bdzlr+", XLO(19,BODZP4,16,0), XLBOBIBB_MASK, POWER4, PPCNONE, {0}},
10109 +{"bdzlrl+", XLO(19,BODZP4,16,1), XLBOBIBB_MASK, POWER4, PPCNONE, {0}},
10110 +
10111 +{"bgelr", XLOCB(19,BOF,CBLT,16,0), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10112 +{"bgelr-", XLOCB(19,BOF,CBLT,16,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10113 +{"bger", XLOCB(19,BOF,CBLT,16,0), XLBOCBBB_MASK, PWRCOM, PPCNONE, {CR}},
10114 +{"bnllr", XLOCB(19,BOF,CBLT,16,0), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10115 +{"bnllr-", XLOCB(19,BOF,CBLT,16,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10116 +{"bnlr", XLOCB(19,BOF,CBLT,16,0), XLBOCBBB_MASK, PWRCOM, PPCNONE, {CR}},
10117 +{"bgelrl", XLOCB(19,BOF,CBLT,16,1), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10118 +{"bgelrl-", XLOCB(19,BOF,CBLT,16,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10119 +{"bgerl", XLOCB(19,BOF,CBLT,16,1), XLBOCBBB_MASK, PWRCOM, PPCNONE, {CR}},
10120 +{"bnllrl", XLOCB(19,BOF,CBLT,16,1), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10121 +{"bnllrl-", XLOCB(19,BOF,CBLT,16,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10122 +{"bnlrl", XLOCB(19,BOF,CBLT,16,1), XLBOCBBB_MASK, PWRCOM, PPCNONE, {CR}},
10123 +{"blelr", XLOCB(19,BOF,CBGT,16,0), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10124 +{"blelr-", XLOCB(19,BOF,CBGT,16,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10125 +{"bler", XLOCB(19,BOF,CBGT,16,0), XLBOCBBB_MASK, PWRCOM, PPCNONE, {CR}},
10126 +{"bnglr", XLOCB(19,BOF,CBGT,16,0), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10127 +{"bnglr-", XLOCB(19,BOF,CBGT,16,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10128 +{"bngr", XLOCB(19,BOF,CBGT,16,0), XLBOCBBB_MASK, PWRCOM, PPCNONE, {CR}},
10129 +{"blelrl", XLOCB(19,BOF,CBGT,16,1), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10130 +{"blelrl-", XLOCB(19,BOF,CBGT,16,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10131 +{"blerl", XLOCB(19,BOF,CBGT,16,1), XLBOCBBB_MASK, PWRCOM, PPCNONE, {CR}},
10132 +{"bnglrl", XLOCB(19,BOF,CBGT,16,1), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10133 +{"bnglrl-", XLOCB(19,BOF,CBGT,16,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10134 +{"bngrl", XLOCB(19,BOF,CBGT,16,1), XLBOCBBB_MASK, PWRCOM, PPCNONE, {CR}},
10135 +{"bnelr", XLOCB(19,BOF,CBEQ,16,0), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10136 +{"bnelr-", XLOCB(19,BOF,CBEQ,16,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10137 +{"bner", XLOCB(19,BOF,CBEQ,16,0), XLBOCBBB_MASK, PWRCOM, PPCNONE, {CR}},
10138 +{"bnelrl", XLOCB(19,BOF,CBEQ,16,1), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10139 +{"bnelrl-", XLOCB(19,BOF,CBEQ,16,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10140 +{"bnerl", XLOCB(19,BOF,CBEQ,16,1), XLBOCBBB_MASK, PWRCOM, PPCNONE, {CR}},
10141 +{"bnslr", XLOCB(19,BOF,CBSO,16,0), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10142 +{"bnslr-", XLOCB(19,BOF,CBSO,16,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10143 +{"bnsr", XLOCB(19,BOF,CBSO,16,0), XLBOCBBB_MASK, PWRCOM, PPCNONE, {CR}},
10144 +{"bnulr", XLOCB(19,BOF,CBSO,16,0), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10145 +{"bnulr-", XLOCB(19,BOF,CBSO,16,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10146 +{"bnslrl", XLOCB(19,BOF,CBSO,16,1), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10147 +{"bnslrl-", XLOCB(19,BOF,CBSO,16,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10148 +{"bnsrl", XLOCB(19,BOF,CBSO,16,1), XLBOCBBB_MASK, PWRCOM, PPCNONE, {CR}},
10149 +{"bnulrl", XLOCB(19,BOF,CBSO,16,1), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10150 +{"bnulrl-", XLOCB(19,BOF,CBSO,16,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10151 +{"bgelr+", XLOCB(19,BOFP,CBLT,16,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10152 +{"bnllr+", XLOCB(19,BOFP,CBLT,16,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10153 +{"bgelrl+", XLOCB(19,BOFP,CBLT,16,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10154 +{"bnllrl+", XLOCB(19,BOFP,CBLT,16,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10155 +{"blelr+", XLOCB(19,BOFP,CBGT,16,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10156 +{"bnglr+", XLOCB(19,BOFP,CBGT,16,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10157 +{"blelrl+", XLOCB(19,BOFP,CBGT,16,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10158 +{"bnglrl+", XLOCB(19,BOFP,CBGT,16,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10159 +{"bnelr+", XLOCB(19,BOFP,CBEQ,16,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10160 +{"bnelrl+", XLOCB(19,BOFP,CBEQ,16,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10161 +{"bnslr+", XLOCB(19,BOFP,CBSO,16,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10162 +{"bnulr+", XLOCB(19,BOFP,CBSO,16,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10163 +{"bnslrl+", XLOCB(19,BOFP,CBSO,16,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10164 +{"bnulrl+", XLOCB(19,BOFP,CBSO,16,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10165 +{"bgelr-", XLOCB(19,BOFM4,CBLT,16,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10166 +{"bnllr-", XLOCB(19,BOFM4,CBLT,16,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10167 +{"bgelrl-", XLOCB(19,BOFM4,CBLT,16,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10168 +{"bnllrl-", XLOCB(19,BOFM4,CBLT,16,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10169 +{"blelr-", XLOCB(19,BOFM4,CBGT,16,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10170 +{"bnglr-", XLOCB(19,BOFM4,CBGT,16,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10171 +{"blelrl-", XLOCB(19,BOFM4,CBGT,16,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10172 +{"bnglrl-", XLOCB(19,BOFM4,CBGT,16,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10173 +{"bnelr-", XLOCB(19,BOFM4,CBEQ,16,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10174 +{"bnelrl-", XLOCB(19,BOFM4,CBEQ,16,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10175 +{"bnslr-", XLOCB(19,BOFM4,CBSO,16,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10176 +{"bnulr-", XLOCB(19,BOFM4,CBSO,16,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10177 +{"bnslrl-", XLOCB(19,BOFM4,CBSO,16,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10178 +{"bnulrl-", XLOCB(19,BOFM4,CBSO,16,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10179 +{"bgelr+", XLOCB(19,BOFP4,CBLT,16,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10180 +{"bnllr+", XLOCB(19,BOFP4,CBLT,16,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10181 +{"bgelrl+", XLOCB(19,BOFP4,CBLT,16,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10182 +{"bnllrl+", XLOCB(19,BOFP4,CBLT,16,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10183 +{"blelr+", XLOCB(19,BOFP4,CBGT,16,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10184 +{"bnglr+", XLOCB(19,BOFP4,CBGT,16,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10185 +{"blelrl+", XLOCB(19,BOFP4,CBGT,16,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10186 +{"bnglrl+", XLOCB(19,BOFP4,CBGT,16,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10187 +{"bnelr+", XLOCB(19,BOFP4,CBEQ,16,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10188 +{"bnelrl+", XLOCB(19,BOFP4,CBEQ,16,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10189 +{"bnslr+", XLOCB(19,BOFP4,CBSO,16,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10190 +{"bnulr+", XLOCB(19,BOFP4,CBSO,16,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10191 +{"bnslrl+", XLOCB(19,BOFP4,CBSO,16,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10192 +{"bnulrl+", XLOCB(19,BOFP4,CBSO,16,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10193 +{"bltlr", XLOCB(19,BOT,CBLT,16,0), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10194 +{"bltlr-", XLOCB(19,BOT,CBLT,16,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10195 +{"bltr", XLOCB(19,BOT,CBLT,16,0), XLBOCBBB_MASK, PWRCOM, PPCNONE, {CR}},
10196 +{"bltlrl", XLOCB(19,BOT,CBLT,16,1), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10197 +{"bltlrl-", XLOCB(19,BOT,CBLT,16,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10198 +{"bltrl", XLOCB(19,BOT,CBLT,16,1), XLBOCBBB_MASK, PWRCOM, PPCNONE, {CR}},
10199 +{"bgtlr", XLOCB(19,BOT,CBGT,16,0), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10200 +{"bgtlr-", XLOCB(19,BOT,CBGT,16,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10201 +{"bgtr", XLOCB(19,BOT,CBGT,16,0), XLBOCBBB_MASK, PWRCOM, PPCNONE, {CR}},
10202 +{"bgtlrl", XLOCB(19,BOT,CBGT,16,1), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10203 +{"bgtlrl-", XLOCB(19,BOT,CBGT,16,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10204 +{"bgtrl", XLOCB(19,BOT,CBGT,16,1), XLBOCBBB_MASK, PWRCOM, PPCNONE, {CR}},
10205 +{"beqlr", XLOCB(19,BOT,CBEQ,16,0), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10206 +{"beqlr-", XLOCB(19,BOT,CBEQ,16,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10207 +{"beqr", XLOCB(19,BOT,CBEQ,16,0), XLBOCBBB_MASK, PWRCOM, PPCNONE, {CR}},
10208 +{"beqlrl", XLOCB(19,BOT,CBEQ,16,1), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10209 +{"beqlrl-", XLOCB(19,BOT,CBEQ,16,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10210 +{"beqrl", XLOCB(19,BOT,CBEQ,16,1), XLBOCBBB_MASK, PWRCOM, PPCNONE, {CR}},
10211 +{"bsolr", XLOCB(19,BOT,CBSO,16,0), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10212 +{"bsolr-", XLOCB(19,BOT,CBSO,16,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10213 +{"bsor", XLOCB(19,BOT,CBSO,16,0), XLBOCBBB_MASK, PWRCOM, PPCNONE, {CR}},
10214 +{"bunlr", XLOCB(19,BOT,CBSO,16,0), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10215 +{"bunlr-", XLOCB(19,BOT,CBSO,16,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10216 +{"bsolrl", XLOCB(19,BOT,CBSO,16,1), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10217 +{"bsolrl-", XLOCB(19,BOT,CBSO,16,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10218 +{"bsorl", XLOCB(19,BOT,CBSO,16,1), XLBOCBBB_MASK, PWRCOM, PPCNONE, {CR}},
10219 +{"bunlrl", XLOCB(19,BOT,CBSO,16,1), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10220 +{"bunlrl-", XLOCB(19,BOT,CBSO,16,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10221 +{"bltlr+", XLOCB(19,BOTP,CBLT,16,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10222 +{"bltlrl+", XLOCB(19,BOTP,CBLT,16,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10223 +{"bgtlr+", XLOCB(19,BOTP,CBGT,16,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10224 +{"bgtlrl+", XLOCB(19,BOTP,CBGT,16,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10225 +{"beqlr+", XLOCB(19,BOTP,CBEQ,16,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10226 +{"beqlrl+", XLOCB(19,BOTP,CBEQ,16,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10227 +{"bsolr+", XLOCB(19,BOTP,CBSO,16,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10228 +{"bunlr+", XLOCB(19,BOTP,CBSO,16,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10229 +{"bsolrl+", XLOCB(19,BOTP,CBSO,16,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10230 +{"bunlrl+", XLOCB(19,BOTP,CBSO,16,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10231 +{"bltlr-", XLOCB(19,BOTM4,CBLT,16,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10232 +{"bltlrl-", XLOCB(19,BOTM4,CBLT,16,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10233 +{"bgtlr-", XLOCB(19,BOTM4,CBGT,16,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10234 +{"bgtlrl-", XLOCB(19,BOTM4,CBGT,16,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10235 +{"beqlr-", XLOCB(19,BOTM4,CBEQ,16,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10236 +{"beqlrl-", XLOCB(19,BOTM4,CBEQ,16,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10237 +{"bsolr-", XLOCB(19,BOTM4,CBSO,16,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10238 +{"bunlr-", XLOCB(19,BOTM4,CBSO,16,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10239 +{"bsolrl-", XLOCB(19,BOTM4,CBSO,16,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10240 +{"bunlrl-", XLOCB(19,BOTM4,CBSO,16,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10241 +{"bltlr+", XLOCB(19,BOTP4,CBLT,16,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10242 +{"bltlrl+", XLOCB(19,BOTP4,CBLT,16,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10243 +{"bgtlr+", XLOCB(19,BOTP4,CBGT,16,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10244 +{"bgtlrl+", XLOCB(19,BOTP4,CBGT,16,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10245 +{"beqlr+", XLOCB(19,BOTP4,CBEQ,16,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10246 +{"beqlrl+", XLOCB(19,BOTP4,CBEQ,16,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10247 +{"bsolr+", XLOCB(19,BOTP4,CBSO,16,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10248 +{"bunlr+", XLOCB(19,BOTP4,CBSO,16,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10249 +{"bsolrl+", XLOCB(19,BOTP4,CBSO,16,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10250 +{"bunlrl+", XLOCB(19,BOTP4,CBSO,16,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10251 +
10252 +{"bdnzflr", XLO(19,BODNZF,16,0), XLBOBB_MASK, PPCCOM, PPCNONE, {BI}},
10253 +{"bdnzflr-", XLO(19,BODNZF,16,0), XLBOBB_MASK, PPCCOM, POWER4, {BI}},
10254 +{"bdnzflrl", XLO(19,BODNZF,16,1), XLBOBB_MASK, PPCCOM, PPCNONE, {BI}},
10255 +{"bdnzflrl-",XLO(19,BODNZF,16,1), XLBOBB_MASK, PPCCOM, POWER4, {BI}},
10256 +{"bdnzflr+", XLO(19,BODNZFP,16,0), XLBOBB_MASK, PPCCOM, POWER4, {BI}},
10257 +{"bdnzflrl+",XLO(19,BODNZFP,16,1), XLBOBB_MASK, PPCCOM, POWER4, {BI}},
10258 +{"bdzflr", XLO(19,BODZF,16,0), XLBOBB_MASK, PPCCOM, PPCNONE, {BI}},
10259 +{"bdzflr-", XLO(19,BODZF,16,0), XLBOBB_MASK, PPCCOM, POWER4, {BI}},
10260 +{"bdzflrl", XLO(19,BODZF,16,1), XLBOBB_MASK, PPCCOM, PPCNONE, {BI}},
10261 +{"bdzflrl-", XLO(19,BODZF,16,1), XLBOBB_MASK, PPCCOM, POWER4, {BI}},
10262 +{"bdzflr+", XLO(19,BODZFP,16,0), XLBOBB_MASK, PPCCOM, POWER4, {BI}},
10263 +{"bdzflrl+", XLO(19,BODZFP,16,1), XLBOBB_MASK, PPCCOM, POWER4, {BI}},
10264 +{"bflr", XLO(19,BOF,16,0), XLBOBB_MASK, PPCCOM, PPCNONE, {BI}},
10265 +{"bflr-", XLO(19,BOF,16,0), XLBOBB_MASK, PPCCOM, POWER4, {BI}},
10266 +{"bbfr", XLO(19,BOF,16,0), XLBOBB_MASK, PWRCOM, PPCNONE, {BI}},
10267 +{"bflrl", XLO(19,BOF,16,1), XLBOBB_MASK, PPCCOM, PPCNONE, {BI}},
10268 +{"bflrl-", XLO(19,BOF,16,1), XLBOBB_MASK, PPCCOM, POWER4, {BI}},
10269 +{"bbfrl", XLO(19,BOF,16,1), XLBOBB_MASK, PWRCOM, PPCNONE, {BI}},
10270 +{"bflr+", XLO(19,BOFP,16,0), XLBOBB_MASK, PPCCOM, POWER4, {BI}},
10271 +{"bflrl+", XLO(19,BOFP,16,1), XLBOBB_MASK, PPCCOM, POWER4, {BI}},
10272 +{"bflr-", XLO(19,BOFM4,16,0), XLBOBB_MASK, POWER4, PPCNONE, {BI}},
10273 +{"bflrl-", XLO(19,BOFM4,16,1), XLBOBB_MASK, POWER4, PPCNONE, {BI}},
10274 +{"bflr+", XLO(19,BOFP4,16,0), XLBOBB_MASK, POWER4, PPCNONE, {BI}},
10275 +{"bflrl+", XLO(19,BOFP4,16,1), XLBOBB_MASK, POWER4, PPCNONE, {BI}},
10276 +{"bdnztlr", XLO(19,BODNZT,16,0), XLBOBB_MASK, PPCCOM, PPCNONE, {BI}},
10277 +{"bdnztlr-", XLO(19,BODNZT,16,0), XLBOBB_MASK, PPCCOM, POWER4, {BI}},
10278 +{"bdnztlrl", XLO(19,BODNZT,16,1), XLBOBB_MASK, PPCCOM, PPCNONE, {BI}},
10279 +{"bdnztlrl-",XLO(19,BODNZT,16,1), XLBOBB_MASK, PPCCOM, POWER4, {BI}},
10280 +{"bdnztlr+", XLO(19,BODNZTP,16,0), XLBOBB_MASK, PPCCOM, POWER4, {BI}},
10281 +{"bdnztlrl+",XLO(19,BODNZTP,16,1), XLBOBB_MASK, PPCCOM, POWER4, {BI}},
10282 +{"bdztlr", XLO(19,BODZT,16,0), XLBOBB_MASK, PPCCOM, PPCNONE, {BI}},
10283 +{"bdztlr-", XLO(19,BODZT,16,0), XLBOBB_MASK, PPCCOM, POWER4, {BI}},
10284 +{"bdztlrl", XLO(19,BODZT,16,1), XLBOBB_MASK, PPCCOM, PPCNONE, {BI}},
10285 +{"bdztlrl-", XLO(19,BODZT,16,1), XLBOBB_MASK, PPCCOM, POWER4, {BI}},
10286 +{"bdztlr+", XLO(19,BODZTP,16,0), XLBOBB_MASK, PPCCOM, POWER4, {BI}},
10287 +{"bdztlrl+", XLO(19,BODZTP,16,1), XLBOBB_MASK, PPCCOM, POWER4, {BI}},
10288 +{"btlr", XLO(19,BOT,16,0), XLBOBB_MASK, PPCCOM, PPCNONE, {BI}},
10289 +{"btlr-", XLO(19,BOT,16,0), XLBOBB_MASK, PPCCOM, POWER4, {BI}},
10290 +{"bbtr", XLO(19,BOT,16,0), XLBOBB_MASK, PWRCOM, PPCNONE, {BI}},
10291 +{"btlrl", XLO(19,BOT,16,1), XLBOBB_MASK, PPCCOM, PPCNONE, {BI}},
10292 +{"btlrl-", XLO(19,BOT,16,1), XLBOBB_MASK, PPCCOM, POWER4, {BI}},
10293 +{"bbtrl", XLO(19,BOT,16,1), XLBOBB_MASK, PWRCOM, PPCNONE, {BI}},
10294 +{"btlr+", XLO(19,BOTP,16,0), XLBOBB_MASK, PPCCOM, POWER4, {BI}},
10295 +{"btlrl+", XLO(19,BOTP,16,1), XLBOBB_MASK, PPCCOM, POWER4, {BI}},
10296 +{"btlr-", XLO(19,BOTM4,16,0), XLBOBB_MASK, POWER4, PPCNONE, {BI}},
10297 +{"btlrl-", XLO(19,BOTM4,16,1), XLBOBB_MASK, POWER4, PPCNONE, {BI}},
10298 +{"btlr+", XLO(19,BOTP4,16,0), XLBOBB_MASK, POWER4, PPCNONE, {BI}},
10299 +{"btlrl+", XLO(19,BOTP4,16,1), XLBOBB_MASK, POWER4, PPCNONE, {BI}},
10300 +
10301 +{"bclr-", XLYLK(19,16,0,0), XLYBB_MASK, PPCCOM, PPCNONE, {BOE, BI}},
10302 +{"bclrl-", XLYLK(19,16,0,1), XLYBB_MASK, PPCCOM, PPCNONE, {BOE, BI}},
10303 +{"bclr+", XLYLK(19,16,1,0), XLYBB_MASK, PPCCOM, PPCNONE, {BOE, BI}},
10304 +{"bclrl+", XLYLK(19,16,1,1), XLYBB_MASK, PPCCOM, PPCNONE, {BOE, BI}},
10305 +{"bclr", XLLK(19,16,0), XLBH_MASK, PPCCOM, PPCNONE, {BO, BI, BH}},
10306 +{"bcr", XLLK(19,16,0), XLBB_MASK, PWRCOM, PPCNONE, {BO, BI}},
10307 +{"bclrl", XLLK(19,16,1), XLBH_MASK, PPCCOM, PPCNONE, {BO, BI, BH}},
10308 +{"bcrl", XLLK(19,16,1), XLBB_MASK, PWRCOM, PPCNONE, {BO, BI}},
10309 +
10310 +{"rfid", XL(19,18), 0xffffffff, PPC64, PPCNONE, {0}},
10311 +
10312 +{"crnot", XL(19,33), XL_MASK, PPCCOM, PPCNONE, {BT, BA, BBA}},
10313 +{"crnor", XL(19,33), XL_MASK, COM, PPCNONE, {BT, BA, BB}},
10314 +{"rfmci", X(19,38), 0xffffffff, PPCRFMCI, PPCNONE, {0}},
10315 +
10316 +{"rfdi", XL(19,39), 0xffffffff, E500MC, PPCNONE, {0}},
10317 +{"rfi", XL(19,50), 0xffffffff, COM, PPCNONE, {0}},
10318 +{"rfci", XL(19,51), 0xffffffff, PPC403|BOOKE|PPCE300, PPCNONE, {0}},
10319 +
10320 +{"rfsvc", XL(19,82), 0xffffffff, POWER, PPCNONE, {0}},
10321 +
10322 +{"rfgi", XL(19,102), 0xffffffff, E500MC, PPCNONE, {0}},
10323 +
10324 +{"crandc", XL(19,129), XL_MASK, COM, PPCNONE, {BT, BA, BB}},
10325 +
10326 +{"isync", XL(19,150), 0xffffffff, PPCCOM, PPCNONE, {0}},
10327 +{"ics", XL(19,150), 0xffffffff, PWRCOM, PPCNONE, {0}},
10328 +
10329 +{"crclr", XL(19,193), XL_MASK, PPCCOM, PPCNONE, {BT, BAT, BBA}},
10330 +{"crxor", XL(19,193), XL_MASK, COM, PPCNONE, {BT, BA, BB}},
10331 +
10332 +{"dnh", X(19,198), X_MASK, E500MC, PPCNONE, {DUI, DUIS}},
10333 +
10334 +{"crnand", XL(19,225), XL_MASK, COM, PPCNONE, {BT, BA, BB}},
10335 +
10336 +{"crand", XL(19,257), XL_MASK, COM, PPCNONE, {BT, BA, BB}},
10337 +
10338 +{"hrfid", XL(19,274), 0xffffffff, POWER5|CELL, PPCNONE, {0}},
10339 +
10340 +{"crset", XL(19,289), XL_MASK, PPCCOM, PPCNONE, {BT, BAT, BBA}},
10341 +{"creqv", XL(19,289), XL_MASK, COM, PPCNONE, {BT, BA, BB}},
10342 +
10343 +{"doze", XL(19,402), 0xffffffff, POWER6, PPCNONE, {0}},
10344 +
10345 +{"crorc", XL(19,417), XL_MASK, COM, PPCNONE, {BT, BA, BB}},
10346 +
10347 +{"nap", XL(19,434), 0xffffffff, POWER6, PPCNONE, {0}},
10348 +
10349 +{"crmove", XL(19,449), XL_MASK, PPCCOM, PPCNONE, {BT, BA, BBA}},
10350 +{"cror", XL(19,449), XL_MASK, COM, PPCNONE, {BT, BA, BB}},
10351 +
10352 +{"sleep", XL(19,466), 0xffffffff, POWER6, PPCNONE, {0}},
10353 +{"rvwinkle", XL(19,498), 0xffffffff, POWER6, PPCNONE, {0}},
10354 +
10355 +{"bctr", XLO(19,BOU,528,0), XLBOBIBB_MASK, COM, PPCNONE, {0}},
10356 +{"bctrl", XLO(19,BOU,528,1), XLBOBIBB_MASK, COM, PPCNONE, {0}},
10357 +
10358 +{"bgectr", XLOCB(19,BOF,CBLT,528,0), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10359 +{"bgectr-", XLOCB(19,BOF,CBLT,528,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10360 +{"bnlctr", XLOCB(19,BOF,CBLT,528,0), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10361 +{"bnlctr-", XLOCB(19,BOF,CBLT,528,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10362 +{"bgectrl", XLOCB(19,BOF,CBLT,528,1), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10363 +{"bgectrl-",XLOCB(19,BOF,CBLT,528,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10364 +{"bnlctrl", XLOCB(19,BOF,CBLT,528,1), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10365 +{"bnlctrl-",XLOCB(19,BOF,CBLT,528,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10366 +{"blectr", XLOCB(19,BOF,CBGT,528,0), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10367 +{"blectr-", XLOCB(19,BOF,CBGT,528,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10368 +{"bngctr", XLOCB(19,BOF,CBGT,528,0), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10369 +{"bngctr-", XLOCB(19,BOF,CBGT,528,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10370 +{"blectrl", XLOCB(19,BOF,CBGT,528,1), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10371 +{"blectrl-",XLOCB(19,BOF,CBGT,528,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10372 +{"bngctrl", XLOCB(19,BOF,CBGT,528,1), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10373 +{"bngctrl-",XLOCB(19,BOF,CBGT,528,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10374 +{"bnectr", XLOCB(19,BOF,CBEQ,528,0), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10375 +{"bnectr-", XLOCB(19,BOF,CBEQ,528,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10376 +{"bnectrl", XLOCB(19,BOF,CBEQ,528,1), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10377 +{"bnectrl-",XLOCB(19,BOF,CBEQ,528,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10378 +{"bnsctr", XLOCB(19,BOF,CBSO,528,0), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10379 +{"bnsctr-", XLOCB(19,BOF,CBSO,528,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10380 +{"bnuctr", XLOCB(19,BOF,CBSO,528,0), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10381 +{"bnuctr-", XLOCB(19,BOF,CBSO,528,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10382 +{"bnsctrl", XLOCB(19,BOF,CBSO,528,1), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10383 +{"bnsctrl-",XLOCB(19,BOF,CBSO,528,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10384 +{"bnuctrl", XLOCB(19,BOF,CBSO,528,1), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10385 +{"bnuctrl-",XLOCB(19,BOF,CBSO,528,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10386 +{"bgectr+", XLOCB(19,BOFP,CBLT,528,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10387 +{"bnlctr+", XLOCB(19,BOFP,CBLT,528,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10388 +{"bgectrl+",XLOCB(19,BOFP,CBLT,528,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10389 +{"bnlctrl+",XLOCB(19,BOFP,CBLT,528,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10390 +{"blectr+", XLOCB(19,BOFP,CBGT,528,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10391 +{"bngctr+", XLOCB(19,BOFP,CBGT,528,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10392 +{"blectrl+",XLOCB(19,BOFP,CBGT,528,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10393 +{"bngctrl+",XLOCB(19,BOFP,CBGT,528,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10394 +{"bnectr+", XLOCB(19,BOFP,CBEQ,528,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10395 +{"bnectrl+",XLOCB(19,BOFP,CBEQ,528,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10396 +{"bnsctr+", XLOCB(19,BOFP,CBSO,528,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10397 +{"bnuctr+", XLOCB(19,BOFP,CBSO,528,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10398 +{"bnsctrl+",XLOCB(19,BOFP,CBSO,528,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10399 +{"bnuctrl+",XLOCB(19,BOFP,CBSO,528,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10400 +{"bgectr-", XLOCB(19,BOFM4,CBLT,528,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10401 +{"bnlctr-", XLOCB(19,BOFM4,CBLT,528,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10402 +{"bgectrl-",XLOCB(19,BOFM4,CBLT,528,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10403 +{"bnlctrl-",XLOCB(19,BOFM4,CBLT,528,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10404 +{"blectr-", XLOCB(19,BOFM4,CBGT,528,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10405 +{"bngctr-", XLOCB(19,BOFM4,CBGT,528,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10406 +{"blectrl-",XLOCB(19,BOFM4,CBGT,528,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10407 +{"bngctrl-",XLOCB(19,BOFM4,CBGT,528,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10408 +{"bnectr-", XLOCB(19,BOFM4,CBEQ,528,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10409 +{"bnectrl-",XLOCB(19,BOFM4,CBEQ,528,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10410 +{"bnsctr-", XLOCB(19,BOFM4,CBSO,528,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10411 +{"bnuctr-", XLOCB(19,BOFM4,CBSO,528,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10412 +{"bnsctrl-",XLOCB(19,BOFM4,CBSO,528,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10413 +{"bnuctrl-",XLOCB(19,BOFM4,CBSO,528,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10414 +{"bgectr+", XLOCB(19,BOFP4,CBLT,528,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10415 +{"bnlctr+", XLOCB(19,BOFP4,CBLT,528,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10416 +{"bgectrl+",XLOCB(19,BOFP4,CBLT,528,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10417 +{"bnlctrl+",XLOCB(19,BOFP4,CBLT,528,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10418 +{"blectr+", XLOCB(19,BOFP4,CBGT,528,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10419 +{"bngctr+", XLOCB(19,BOFP4,CBGT,528,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10420 +{"blectrl+",XLOCB(19,BOFP4,CBGT,528,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10421 +{"bngctrl+",XLOCB(19,BOFP4,CBGT,528,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10422 +{"bnectr+", XLOCB(19,BOFP4,CBEQ,528,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10423 +{"bnectrl+",XLOCB(19,BOFP4,CBEQ,528,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10424 +{"bnsctr+", XLOCB(19,BOFP4,CBSO,528,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10425 +{"bnuctr+", XLOCB(19,BOFP4,CBSO,528,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10426 +{"bnsctrl+",XLOCB(19,BOFP4,CBSO,528,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10427 +{"bnuctrl+",XLOCB(19,BOFP4,CBSO,528,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10428 +{"bltctr", XLOCB(19,BOT,CBLT,528,0), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10429 +{"bltctr-", XLOCB(19,BOT,CBLT,528,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10430 +{"bltctrl", XLOCB(19,BOT,CBLT,528,1), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10431 +{"bltctrl-",XLOCB(19,BOT,CBLT,528,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10432 +{"bgtctr", XLOCB(19,BOT,CBGT,528,0), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10433 +{"bgtctr-", XLOCB(19,BOT,CBGT,528,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10434 +{"bgtctrl", XLOCB(19,BOT,CBGT,528,1), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10435 +{"bgtctrl-",XLOCB(19,BOT,CBGT,528,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10436 +{"beqctr", XLOCB(19,BOT,CBEQ,528,0), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10437 +{"beqctr-", XLOCB(19,BOT,CBEQ,528,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10438 +{"beqctrl", XLOCB(19,BOT,CBEQ,528,1), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10439 +{"beqctrl-",XLOCB(19,BOT,CBEQ,528,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10440 +{"bsoctr", XLOCB(19,BOT,CBSO,528,0), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10441 +{"bsoctr-", XLOCB(19,BOT,CBSO,528,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10442 +{"bunctr", XLOCB(19,BOT,CBSO,528,0), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10443 +{"bunctr-", XLOCB(19,BOT,CBSO,528,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10444 +{"bsoctrl", XLOCB(19,BOT,CBSO,528,1), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10445 +{"bsoctrl-",XLOCB(19,BOT,CBSO,528,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10446 +{"bunctrl", XLOCB(19,BOT,CBSO,528,1), XLBOCBBB_MASK, PPCCOM, PPCNONE, {CR}},
10447 +{"bunctrl-",XLOCB(19,BOT,CBSO,528,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10448 +{"bltctr+", XLOCB(19,BOTP,CBLT,528,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10449 +{"bltctrl+",XLOCB(19,BOTP,CBLT,528,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10450 +{"bgtctr+", XLOCB(19,BOTP,CBGT,528,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10451 +{"bgtctrl+",XLOCB(19,BOTP,CBGT,528,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10452 +{"beqctr+", XLOCB(19,BOTP,CBEQ,528,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10453 +{"beqctrl+",XLOCB(19,BOTP,CBEQ,528,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10454 +{"bsoctr+", XLOCB(19,BOTP,CBSO,528,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10455 +{"bunctr+", XLOCB(19,BOTP,CBSO,528,0), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10456 +{"bsoctrl+",XLOCB(19,BOTP,CBSO,528,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10457 +{"bunctrl+",XLOCB(19,BOTP,CBSO,528,1), XLBOCBBB_MASK, PPCCOM, POWER4, {CR}},
10458 +{"bltctr-", XLOCB(19,BOTM4,CBLT,528,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10459 +{"bltctrl-",XLOCB(19,BOTM4,CBLT,528,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10460 +{"bgtctr-", XLOCB(19,BOTM4,CBGT,528,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10461 +{"bgtctrl-",XLOCB(19,BOTM4,CBGT,528,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10462 +{"beqctr-", XLOCB(19,BOTM4,CBEQ,528,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10463 +{"beqctrl-",XLOCB(19,BOTM4,CBEQ,528,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10464 +{"bsoctr-", XLOCB(19,BOTM4,CBSO,528,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10465 +{"bunctr-", XLOCB(19,BOTM4,CBSO,528,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10466 +{"bsoctrl-",XLOCB(19,BOTM4,CBSO,528,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10467 +{"bunctrl-",XLOCB(19,BOTM4,CBSO,528,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10468 +{"bltctr+", XLOCB(19,BOTP4,CBLT,528,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10469 +{"bltctrl+",XLOCB(19,BOTP4,CBLT,528,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10470 +{"bgtctr+", XLOCB(19,BOTP4,CBGT,528,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10471 +{"bgtctrl+",XLOCB(19,BOTP4,CBGT,528,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10472 +{"beqctr+", XLOCB(19,BOTP4,CBEQ,528,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10473 +{"beqctrl+",XLOCB(19,BOTP4,CBEQ,528,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10474 +{"bsoctr+", XLOCB(19,BOTP4,CBSO,528,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10475 +{"bunctr+", XLOCB(19,BOTP4,CBSO,528,0), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10476 +{"bsoctrl+",XLOCB(19,BOTP4,CBSO,528,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10477 +{"bunctrl+",XLOCB(19,BOTP4,CBSO,528,1), XLBOCBBB_MASK, POWER4, PPCNONE, {CR}},
10478 +
10479 +{"bfctr", XLO(19,BOF,528,0), XLBOBB_MASK, PPCCOM, PPCNONE, {BI}},
10480 +{"bfctr-", XLO(19,BOF,528,0), XLBOBB_MASK, PPCCOM, POWER4, {BI}},
10481 +{"bfctrl", XLO(19,BOF,528,1), XLBOBB_MASK, PPCCOM, PPCNONE, {BI}},
10482 +{"bfctrl-", XLO(19,BOF,528,1), XLBOBB_MASK, PPCCOM, POWER4, {BI}},
10483 +{"bfctr+", XLO(19,BOFP,528,0), XLBOBB_MASK, PPCCOM, POWER4, {BI}},
10484 +{"bfctrl+", XLO(19,BOFP,528,1), XLBOBB_MASK, PPCCOM, POWER4, {BI}},
10485 +{"bfctr-", XLO(19,BOFM4,528,0), XLBOBB_MASK, POWER4, PPCNONE, {BI}},
10486 +{"bfctrl-", XLO(19,BOFM4,528,1), XLBOBB_MASK, POWER4, PPCNONE, {BI}},
10487 +{"bfctr+", XLO(19,BOFP4,528,0), XLBOBB_MASK, POWER4, PPCNONE, {BI}},
10488 +{"bfctrl+", XLO(19,BOFP4,528,1), XLBOBB_MASK, POWER4, PPCNONE, {BI}},
10489 +{"btctr", XLO(19,BOT,528,0), XLBOBB_MASK, PPCCOM, PPCNONE, {BI}},
10490 +{"btctr-", XLO(19,BOT,528,0), XLBOBB_MASK, PPCCOM, POWER4, {BI}},
10491 +{"btctrl", XLO(19,BOT,528,1), XLBOBB_MASK, PPCCOM, PPCNONE, {BI}},
10492 +{"btctrl-", XLO(19,BOT,528,1), XLBOBB_MASK, PPCCOM, POWER4, {BI}},
10493 +{"btctr+", XLO(19,BOTP,528,0), XLBOBB_MASK, PPCCOM, POWER4, {BI}},
10494 +{"btctrl+", XLO(19,BOTP,528,1), XLBOBB_MASK, PPCCOM, POWER4, {BI}},
10495 +{"btctr-", XLO(19,BOTM4,528,0), XLBOBB_MASK, POWER4, PPCNONE, {BI}},
10496 +{"btctrl-", XLO(19,BOTM4,528,1), XLBOBB_MASK, POWER4, PPCNONE, {BI}},
10497 +{"btctr+", XLO(19,BOTP4,528,0), XLBOBB_MASK, POWER4, PPCNONE, {BI}},
10498 +{"btctrl+", XLO(19,BOTP4,528,1), XLBOBB_MASK, POWER4, PPCNONE, {BI}},
10499 +
10500 +{"bcctr-", XLYLK(19,528,0,0), XLYBB_MASK, PPCCOM, PPCNONE, {BOE, BI}},
10501 +{"bcctrl-", XLYLK(19,528,0,1), XLYBB_MASK, PPCCOM, PPCNONE, {BOE, BI}},
10502 +{"bcctr+", XLYLK(19,528,1,0), XLYBB_MASK, PPCCOM, PPCNONE, {BOE, BI}},
10503 +{"bcctrl+", XLYLK(19,528,1,1), XLYBB_MASK, PPCCOM, PPCNONE, {BOE, BI}},
10504 +{"bcctr", XLLK(19,528,0), XLBH_MASK, PPCCOM, PPCNONE, {BO, BI, BH}},
10505 +{"bcc", XLLK(19,528,0), XLBB_MASK, PWRCOM, PPCNONE, {BO, BI}},
10506 +{"bcctrl", XLLK(19,528,1), XLBH_MASK, PPCCOM, PPCNONE, {BO, BI, BH}},
10507 +{"bccl", XLLK(19,528,1), XLBB_MASK, PWRCOM, PPCNONE, {BO, BI}},
10508 +
10509 +{"rlwimi", M(20,0), M_MASK, PPCCOM, PPCNONE, {RA, RS, SH, MBE, ME}},
10510 +{"rlimi", M(20,0), M_MASK, PWRCOM, PPCNONE, {RA, RS, SH, MBE, ME}},
10511 +
10512 +{"rlwimi.", M(20,1), M_MASK, PPCCOM, PPCNONE, {RA, RS, SH, MBE, ME}},
10513 +{"rlimi.", M(20,1), M_MASK, PWRCOM, PPCNONE, {RA, RS, SH, MBE, ME}},
10514 +
10515 +{"rotlwi", MME(21,31,0), MMBME_MASK, PPCCOM, PPCNONE, {RA, RS, SH}},
10516 +{"clrlwi", MME(21,31,0), MSHME_MASK, PPCCOM, PPCNONE, {RA, RS, MB}},
10517 +{"rlwinm", M(21,0), M_MASK, PPCCOM, PPCNONE, {RA, RS, SH, MBE, ME}},
10518 +{"rlinm", M(21,0), M_MASK, PWRCOM, PPCNONE, {RA, RS, SH, MBE, ME}},
10519 +{"rotlwi.", MME(21,31,1), MMBME_MASK, PPCCOM, PPCNONE, {RA, RS, SH}},
10520 +{"clrlwi.", MME(21,31,1), MSHME_MASK, PPCCOM, PPCNONE, {RA, RS, MB}},
10521 +{"rlwinm.", M(21,1), M_MASK, PPCCOM, PPCNONE, {RA, RS, SH, MBE, ME}},
10522 +{"rlinm.", M(21,1), M_MASK, PWRCOM, PPCNONE, {RA, RS, SH, MBE, ME}},
10523 +
10524 +{"rlmi", M(22,0), M_MASK, M601, PPCNONE, {RA, RS, RB, MBE, ME}},
10525 +{"rlmi.", M(22,1), M_MASK, M601, PPCNONE, {RA, RS, RB, MBE, ME}},
10526 +
10527 +{"rotlw", MME(23,31,0), MMBME_MASK, PPCCOM, PPCNONE, {RA, RS, RB}},
10528 +{"rlwnm", M(23,0), M_MASK, PPCCOM, PPCNONE, {RA, RS, RB, MBE, ME}},
10529 +{"rlnm", M(23,0), M_MASK, PWRCOM, PPCNONE, {RA, RS, RB, MBE, ME}},
10530 +{"rotlw.", MME(23,31,1), MMBME_MASK, PPCCOM, PPCNONE, {RA, RS, RB}},
10531 +{"rlwnm.", M(23,1), M_MASK, PPCCOM, PPCNONE, {RA, RS, RB, MBE, ME}},
10532 +{"rlnm.", M(23,1), M_MASK, PWRCOM, PPCNONE, {RA, RS, RB, MBE, ME}},
10533 +
10534 +{"nop", OP(24), 0xffffffff, PPCCOM, PPCNONE, {0}},
10535 +{"ori", OP(24), OP_MASK, PPCCOM, PPCNONE, {RA, RS, UI}},
10536 +{"oril", OP(24), OP_MASK, PWRCOM, PPCNONE, {RA, RS, UI}},
10537 +
10538 +{"oris", OP(25), OP_MASK, PPCCOM, PPCNONE, {RA, RS, UI}},
10539 +{"oriu", OP(25), OP_MASK, PWRCOM, PPCNONE, {RA, RS, UI}},
10540 +
10541 +{"xori", OP(26), OP_MASK, PPCCOM, PPCNONE, {RA, RS, UI}},
10542 +{"xoril", OP(26), OP_MASK, PWRCOM, PPCNONE, {RA, RS, UI}},
10543 +
10544 +{"xoris", OP(27), OP_MASK, PPCCOM, PPCNONE, {RA, RS, UI}},
10545 +{"xoriu", OP(27), OP_MASK, PWRCOM, PPCNONE, {RA, RS, UI}},
10546 +
10547 +{"andi.", OP(28), OP_MASK, PPCCOM, PPCNONE, {RA, RS, UI}},
10548 +{"andil.", OP(28), OP_MASK, PWRCOM, PPCNONE, {RA, RS, UI}},
10549 +
10550 +{"andis.", OP(29), OP_MASK, PPCCOM, PPCNONE, {RA, RS, UI}},
10551 +{"andiu.", OP(29), OP_MASK, PWRCOM, PPCNONE, {RA, RS, UI}},
10552 +
10553 +{"rotldi", MD(30,0,0), MDMB_MASK, PPC64, PPCNONE, {RA, RS, SH6}},
10554 +{"clrldi", MD(30,0,0), MDSH_MASK, PPC64, PPCNONE, {RA, RS, MB6}},
10555 +{"rldicl", MD(30,0,0), MD_MASK, PPC64, PPCNONE, {RA, RS, SH6, MB6}},
10556 +{"rotldi.", MD(30,0,1), MDMB_MASK, PPC64, PPCNONE, {RA, RS, SH6}},
10557 +{"clrldi.", MD(30,0,1), MDSH_MASK, PPC64, PPCNONE, {RA, RS, MB6}},
10558 +{"rldicl.", MD(30,0,1), MD_MASK, PPC64, PPCNONE, {RA, RS, SH6, MB6}},
10559 +
10560 +{"rldicr", MD(30,1,0), MD_MASK, PPC64, PPCNONE, {RA, RS, SH6, ME6}},
10561 +{"rldicr.", MD(30,1,1), MD_MASK, PPC64, PPCNONE, {RA, RS, SH6, ME6}},
10562 +
10563 +{"rldic", MD(30,2,0), MD_MASK, PPC64, PPCNONE, {RA, RS, SH6, MB6}},
10564 +{"rldic.", MD(30,2,1), MD_MASK, PPC64, PPCNONE, {RA, RS, SH6, MB6}},
10565 +
10566 +{"rldimi", MD(30,3,0), MD_MASK, PPC64, PPCNONE, {RA, RS, SH6, MB6}},
10567 +{"rldimi.", MD(30,3,1), MD_MASK, PPC64, PPCNONE, {RA, RS, SH6, MB6}},
10568 +
10569 +{"rotld", MDS(30,8,0), MDSMB_MASK, PPC64, PPCNONE, {RA, RS, RB}},
10570 +{"rldcl", MDS(30,8,0), MDS_MASK, PPC64, PPCNONE, {RA, RS, RB, MB6}},
10571 +{"rotld.", MDS(30,8,1), MDSMB_MASK, PPC64, PPCNONE, {RA, RS, RB}},
10572 +{"rldcl.", MDS(30,8,1), MDS_MASK, PPC64, PPCNONE, {RA, RS, RB, MB6}},
10573 +
10574 +{"rldcr", MDS(30,9,0), MDS_MASK, PPC64, PPCNONE, {RA, RS, RB, ME6}},
10575 +{"rldcr.", MDS(30,9,1), MDS_MASK, PPC64, PPCNONE, {RA, RS, RB, ME6}},
10576 +
10577 +{"cmpw", XOPL(31,0,0), XCMPL_MASK, PPCCOM, PPCNONE, {OBF, RA, RB}},
10578 +{"cmpd", XOPL(31,0,1), XCMPL_MASK, PPC64, PPCNONE, {OBF, RA, RB}},
10579 +{"cmp", X(31,0), XCMP_MASK, PPC, PPCNONE, {BF, L, RA, RB}},
10580 +{"cmp", X(31,0), XCMPL_MASK, PWRCOM, PPCNONE, {BF, RA, RB}},
10581 +
10582 +{"twlgt", XTO(31,4,TOLGT), XTO_MASK, PPCCOM, PPCNONE, {RA, RB}},
10583 +{"tlgt", XTO(31,4,TOLGT), XTO_MASK, PWRCOM, PPCNONE, {RA, RB}},
10584 +{"twllt", XTO(31,4,TOLLT), XTO_MASK, PPCCOM, PPCNONE, {RA, RB}},
10585 +{"tllt", XTO(31,4,TOLLT), XTO_MASK, PWRCOM, PPCNONE, {RA, RB}},
10586 +{"tweq", XTO(31,4,TOEQ), XTO_MASK, PPCCOM, PPCNONE, {RA, RB}},
10587 +{"teq", XTO(31,4,TOEQ), XTO_MASK, PWRCOM, PPCNONE, {RA, RB}},
10588 +{"twlge", XTO(31,4,TOLGE), XTO_MASK, PPCCOM, PPCNONE, {RA, RB}},
10589 +{"tlge", XTO(31,4,TOLGE), XTO_MASK, PWRCOM, PPCNONE, {RA, RB}},
10590 +{"twlnl", XTO(31,4,TOLNL), XTO_MASK, PPCCOM, PPCNONE, {RA, RB}},
10591 +{"tlnl", XTO(31,4,TOLNL), XTO_MASK, PWRCOM, PPCNONE, {RA, RB}},
10592 +{"twlle", XTO(31,4,TOLLE), XTO_MASK, PPCCOM, PPCNONE, {RA, RB}},
10593 +{"tlle", XTO(31,4,TOLLE), XTO_MASK, PWRCOM, PPCNONE, {RA, RB}},
10594 +{"twlng", XTO(31,4,TOLNG), XTO_MASK, PPCCOM, PPCNONE, {RA, RB}},
10595 +{"tlng", XTO(31,4,TOLNG), XTO_MASK, PWRCOM, PPCNONE, {RA, RB}},
10596 +{"twgt", XTO(31,4,TOGT), XTO_MASK, PPCCOM, PPCNONE, {RA, RB}},
10597 +{"tgt", XTO(31,4,TOGT), XTO_MASK, PWRCOM, PPCNONE, {RA, RB}},
10598 +{"twge", XTO(31,4,TOGE), XTO_MASK, PPCCOM, PPCNONE, {RA, RB}},
10599 +{"tge", XTO(31,4,TOGE), XTO_MASK, PWRCOM, PPCNONE, {RA, RB}},
10600 +{"twnl", XTO(31,4,TONL), XTO_MASK, PPCCOM, PPCNONE, {RA, RB}},
10601 +{"tnl", XTO(31,4,TONL), XTO_MASK, PWRCOM, PPCNONE, {RA, RB}},
10602 +{"twlt", XTO(31,4,TOLT), XTO_MASK, PPCCOM, PPCNONE, {RA, RB}},
10603 +{"tlt", XTO(31,4,TOLT), XTO_MASK, PWRCOM, PPCNONE, {RA, RB}},
10604 +{"twle", XTO(31,4,TOLE), XTO_MASK, PPCCOM, PPCNONE, {RA, RB}},
10605 +{"tle", XTO(31,4,TOLE), XTO_MASK, PWRCOM, PPCNONE, {RA, RB}},
10606 +{"twng", XTO(31,4,TONG), XTO_MASK, PPCCOM, PPCNONE, {RA, RB}},
10607 +{"tng", XTO(31,4,TONG), XTO_MASK, PWRCOM, PPCNONE, {RA, RB}},
10608 +{"twne", XTO(31,4,TONE), XTO_MASK, PPCCOM, PPCNONE, {RA, RB}},
10609 +{"tne", XTO(31,4,TONE), XTO_MASK, PWRCOM, PPCNONE, {RA, RB}},
10610 +{"trap", XTO(31,4,TOU), 0xffffffff, PPCCOM, PPCNONE, {0}},
10611 +{"tw", X(31,4), X_MASK, PPCCOM, PPCNONE, {TO, RA, RB}},
10612 +{"t", X(31,4), X_MASK, PWRCOM, PPCNONE, {TO, RA, RB}},
10613 +
10614 +{"lvsl", X(31,6), X_MASK, PPCVEC, PPCNONE, {VD, RA, RB}},
10615 +{"lvebx", X(31,7), X_MASK, PPCVEC, PPCNONE, {VD, RA, RB}},
10616 +{"lbfcmx", APU(31,7,0), APU_MASK, PPC405, PPCNONE, {FCRT, RA, RB}},
10617 +
10618 +{"subfc", XO(31,8,0,0), XO_MASK, PPCCOM, PPCNONE, {RT, RA, RB}},
10619 +{"sf", XO(31,8,0,0), XO_MASK, PWRCOM, PPCNONE, {RT, RA, RB}},
10620 +{"subc", XO(31,8,0,0), XO_MASK, PPC, PPCNONE, {RT, RB, RA}},
10621 +{"subfc.", XO(31,8,0,1), XO_MASK, PPCCOM, PPCNONE, {RT, RA, RB}},
10622 +{"sf.", XO(31,8,0,1), XO_MASK, PWRCOM, PPCNONE, {RT, RA, RB}},
10623 +{"subc.", XO(31,8,0,1), XO_MASK, PPCCOM, PPCNONE, {RT, RB, RA}},
10624 +
10625 +{"mulhdu", XO(31,9,0,0), XO_MASK, PPC64, PPCNONE, {RT, RA, RB}},
10626 +{"mulhdu.", XO(31,9,0,1), XO_MASK, PPC64, PPCNONE, {RT, RA, RB}},
10627 +
10628 +{"addc", XO(31,10,0,0), XO_MASK, PPCCOM, PPCNONE, {RT, RA, RB}},
10629 +{"a", XO(31,10,0,0), XO_MASK, PWRCOM, PPCNONE, {RT, RA, RB}},
10630 +{"addc.", XO(31,10,0,1), XO_MASK, PPCCOM, PPCNONE, {RT, RA, RB}},
10631 +{"a.", XO(31,10,0,1), XO_MASK, PWRCOM, PPCNONE, {RT, RA, RB}},
10632 +
10633 +{"mulhwu", XO(31,11,0,0), XO_MASK, PPC, PPCNONE, {RT, RA, RB}},
10634 +{"mulhwu.", XO(31,11,0,1), XO_MASK, PPC, PPCNONE, {RT, RA, RB}},
10635 +
10636 +{"isellt", X(31,15), X_MASK, PPCISEL, PPCNONE, {RT, RA, RB}},
10637 +
10638 +{"mfcr", XFXM(31,19,0,0), XRARB_MASK, COM, POWER4, {RT}},
10639 +{"mfcr", XFXM(31,19,0,0), XFXFXM_MASK, POWER4, PPCNONE, {RT, FXM4}},
10640 +{"mfocrf", XFXM(31,19,0,1), XFXFXM_MASK, COM, PPCNONE, {RT, FXM}},
10641 +
10642 +{"lwarx", X(31,20), XEH_MASK, PPC, PPCNONE, {RT, RA0, RB, EH}},
10643 +
10644 +{"ldx", X(31,21), X_MASK, PPC64, PPCNONE, {RT, RA0, RB}},
10645 +
10646 +{"icbt", X(31,22), X_MASK, BOOKE|PPCE300, PPCNONE, {CT, RA, RB}},
10647 +
10648 +{"lwzx", X(31,23), X_MASK, PPCCOM, PPCNONE, {RT, RA0, RB}},
10649 +{"lx", X(31,23), X_MASK, PWRCOM, PPCNONE, {RT, RA, RB}},
10650 +
10651 +{"slw", XRC(31,24,0), X_MASK, PPCCOM, PPCNONE, {RA, RS, RB}},
10652 +{"sl", XRC(31,24,0), X_MASK, PWRCOM, PPCNONE, {RA, RS, RB}},
10653 +{"slw.", XRC(31,24,1), X_MASK, PPCCOM, PPCNONE, {RA, RS, RB}},
10654 +{"sl.", XRC(31,24,1), X_MASK, PWRCOM, PPCNONE, {RA, RS, RB}},
10655 +
10656 +{"cntlzw", XRC(31,26,0), XRB_MASK, PPCCOM, PPCNONE, {RA, RS}},
10657 +{"cntlz", XRC(31,26,0), XRB_MASK, PWRCOM, PPCNONE, {RA, RS}},
10658 +{"cntlzw.", XRC(31,26,1), XRB_MASK, PPCCOM, PPCNONE, {RA, RS}},
10659 +{"cntlz.", XRC(31,26,1), XRB_MASK, PWRCOM, PPCNONE, {RA, RS}},
10660 +
10661 +{"sld", XRC(31,27,0), X_MASK, PPC64, PPCNONE, {RA, RS, RB}},
10662 +{"sld.", XRC(31,27,1), X_MASK, PPC64, PPCNONE, {RA, RS, RB}},
10663 +
10664 +{"and", XRC(31,28,0), X_MASK, COM, PPCNONE, {RA, RS, RB}},
10665 +{"and.", XRC(31,28,1), X_MASK, COM, PPCNONE, {RA, RS, RB}},
10666 +
10667 +{"maskg", XRC(31,29,0), X_MASK, M601, PPCNONE, {RA, RS, RB}},
10668 +{"maskg.", XRC(31,29,1), X_MASK, M601, PPCNONE, {RA, RS, RB}},
10669 +
10670 +{"ldepx", X(31,29), X_MASK, E500MC, PPCNONE, {RT, RA, RB}},
10671 +{"lwepx", X(31,31), X_MASK, E500MC, PPCNONE, {RT, RA, RB}},
10672 +
10673 +{"cmplw", XOPL(31,32,0), XCMPL_MASK, PPCCOM, PPCNONE, {OBF, RA, RB}},
10674 +{"cmpld", XOPL(31,32,1), XCMPL_MASK, PPC64, PPCNONE, {OBF, RA, RB}},
10675 +{"cmpl", X(31,32), XCMP_MASK, PPC, PPCNONE, {BF, L, RA, RB}},
10676 +{"cmpl", X(31,32), XCMPL_MASK, PWRCOM, PPCNONE, {BF, RA, RB}},
10677 +
10678 +{"lvsr", X(31,38), X_MASK, PPCVEC, PPCNONE, {VD, RA, RB}},
10679 +{"lvehx", X(31,39), X_MASK, PPCVEC, PPCNONE, {VD, RA, RB}},
10680 +{"lhfcmx", APU(31,39,0), APU_MASK, PPC405, PPCNONE, {FCRT, RA, RB}},
10681 +
10682 +{"iselgt", X(31,47), X_MASK, PPCISEL, PPCNONE, {RT, RA, RB}},
10683 +
10684 +{"lvewx", X(31,71), X_MASK, PPCVEC, PPCNONE, {VD, RA, RB}},
10685 +
10686 +{"addg6s", XO(31,74,0,0), XO_MASK, POWER6, PPCNONE, {RT, RA, RB}},
10687 +
10688 +{"iseleq", X(31,79), X_MASK, PPCISEL, PPCNONE, {RT, RA, RB}},
10689 +
10690 +{"isel", XISEL(31,15), XISEL_MASK, PPCISEL, PPCNONE, {RT, RA, RB, CRB}},
10691 +
10692 +{"subf", XO(31,40,0,0), XO_MASK, PPC, PPCNONE, {RT, RA, RB}},
10693 +{"sub", XO(31,40,0,0), XO_MASK, PPC, PPCNONE, {RT, RB, RA}},
10694 +{"subf.", XO(31,40,0,1), XO_MASK, PPC, PPCNONE, {RT, RA, RB}},
10695 +{"sub.", XO(31,40,0,1), XO_MASK, PPC, PPCNONE, {RT, RB, RA}},
10696 +
10697 +{"lbarx", X(31,52), XEH_MASK, POWER7, PPCNONE, {RT, RA0, RB, EH}},
10698 +
10699 +{"ldux", X(31,53), X_MASK, PPC64, PPCNONE, {RT, RAL, RB}},
10700 +
10701 +{"dcbst", X(31,54), XRT_MASK, PPC, PPCNONE, {RA, RB}},
10702 +
10703 +{"lwzux", X(31,55), X_MASK, PPCCOM, PPCNONE, {RT, RAL, RB}},
10704 +{"lux", X(31,55), X_MASK, PWRCOM, PPCNONE, {RT, RA, RB}},
10705 +
10706 +{"cntlzd", XRC(31,58,0), XRB_MASK, PPC64, PPCNONE, {RA, RS}},
10707 +{"cntlzd.", XRC(31,58,1), XRB_MASK, PPC64, PPCNONE, {RA, RS}},
10708 +
10709 +{"andc", XRC(31,60,0), X_MASK, COM, PPCNONE, {RA, RS, RB}},
10710 +{"andc.", XRC(31,60,1), X_MASK, COM, PPCNONE, {RA, RS, RB}},
10711 +
10712 +{"waitrsv", X(31,62)|(1<<21), 0xffffffff, POWER7|E500MC, PPCNONE, {0}},
10713 +{"waitimpl", X(31,62)|(2<<21), 0xffffffff, POWER7|E500MC, PPCNONE, {0}},
10714 +{"wait", X(31,62), XWC_MASK, POWER7|E500MC, PPCNONE, {WC}},
10715 +
10716 +{"dcbstep", XRT(31,63,0), XRT_MASK, E500MC, PPCNONE, {RA, RB}},
10717 +
10718 +{"tdlgt", XTO(31,68,TOLGT), XTO_MASK, PPC64, PPCNONE, {RA, RB}},
10719 +{"tdllt", XTO(31,68,TOLLT), XTO_MASK, PPC64, PPCNONE, {RA, RB}},
10720 +{"tdeq", XTO(31,68,TOEQ), XTO_MASK, PPC64, PPCNONE, {RA, RB}},
10721 +{"tdlge", XTO(31,68,TOLGE), XTO_MASK, PPC64, PPCNONE, {RA, RB}},
10722 +{"tdlnl", XTO(31,68,TOLNL), XTO_MASK, PPC64, PPCNONE, {RA, RB}},
10723 +{"tdlle", XTO(31,68,TOLLE), XTO_MASK, PPC64, PPCNONE, {RA, RB}},
10724 +{"tdlng", XTO(31,68,TOLNG), XTO_MASK, PPC64, PPCNONE, {RA, RB}},
10725 +{"tdgt", XTO(31,68,TOGT), XTO_MASK, PPC64, PPCNONE, {RA, RB}},
10726 +{"tdge", XTO(31,68,TOGE), XTO_MASK, PPC64, PPCNONE, {RA, RB}},
10727 +{"tdnl", XTO(31,68,TONL), XTO_MASK, PPC64, PPCNONE, {RA, RB}},
10728 +{"tdlt", XTO(31,68,TOLT), XTO_MASK, PPC64, PPCNONE, {RA, RB}},
10729 +{"tdle", XTO(31,68,TOLE), XTO_MASK, PPC64, PPCNONE, {RA, RB}},
10730 +{"tdng", XTO(31,68,TONG), XTO_MASK, PPC64, PPCNONE, {RA, RB}},
10731 +{"tdne", XTO(31,68,TONE), XTO_MASK, PPC64, PPCNONE, {RA, RB}},
10732 +{"td", X(31,68), X_MASK, PPC64, PPCNONE, {TO, RA, RB}},
10733 +
10734 +{"lwfcmx", APU(31,71,0), APU_MASK, PPC405, PPCNONE, {FCRT, RA, RB}},
10735 +{"mulhd", XO(31,73,0,0), XO_MASK, PPC64, PPCNONE, {RT, RA, RB}},
10736 +{"mulhd.", XO(31,73,0,1), XO_MASK, PPC64, PPCNONE, {RT, RA, RB}},
10737 +
10738 +{"mulhw", XO(31,75,0,0), XO_MASK, PPC, PPCNONE, {RT, RA, RB}},
10739 +{"mulhw.", XO(31,75,0,1), XO_MASK, PPC, PPCNONE, {RT, RA, RB}},
10740 +
10741 +{"dlmzb", XRC(31,78,0), X_MASK, PPC403|PPC440, PPCNONE, {RA, RS, RB}},
10742 +{"dlmzb.", XRC(31,78,1), X_MASK, PPC403|PPC440, PPCNONE, {RA, RS, RB}},
10743 +
10744 +{"mtsrd", X(31,82), XRB_MASK|(1<<20), PPC64, PPCNONE, {SR, RS}},
10745 +
10746 +{"mfmsr", X(31,83), XRARB_MASK, COM, PPCNONE, {RT}},
10747 +
10748 +{"ldarx", X(31,84), XEH_MASK, PPC64, PPCNONE, {RT, RA0, RB, EH}},
10749 +
10750 +{"dcbfl", XOPL(31,86,1), XRT_MASK, POWER5, PPCNONE, {RA, RB}},
10751 +{"dcbf", X(31,86), XLRT_MASK, PPC, PPCNONE, {RA, RB, L}},
10752 +
10753 +{"lbzx", X(31,87), X_MASK, COM, PPCNONE, {RT, RA0, RB}},
10754 +
10755 +{"lbepx", X(31,95), X_MASK, E500MC, PPCNONE, {RT, RA, RB}},
10756 +
10757 +{"lvx", X(31,103), X_MASK, PPCVEC, PPCNONE, {VD, RA, RB}},
10758 +{"lqfcmx", APU(31,103,0), APU_MASK, PPC405, PPCNONE, {FCRT, RA, RB}},
10759 +
10760 +{"neg", XO(31,104,0,0), XORB_MASK, COM, PPCNONE, {RT, RA}},
10761 +{"neg.", XO(31,104,0,1), XORB_MASK, COM, PPCNONE, {RT, RA}},
10762 +
10763 +{"mul", XO(31,107,0,0), XO_MASK, M601, PPCNONE, {RT, RA, RB}},
10764 +{"mul.", XO(31,107,0,1), XO_MASK, M601, PPCNONE, {RT, RA, RB}},
10765 +
10766 +{"mtsrdin", X(31,114), XRA_MASK, PPC64, PPCNONE, {RS, RB}},
10767 +
10768 +{"lharx", X(31,116), XEH_MASK, POWER7, PPCNONE, {RT, RA0, RB, EH}},
10769 +
10770 +{"clf", X(31,118), XTO_MASK, POWER, PPCNONE, {RA, RB}},
10771 +
10772 +{"lbzux", X(31,119), X_MASK, COM, PPCNONE, {RT, RAL, RB}},
10773 +
10774 +{"popcntb", X(31,122), XRB_MASK, POWER5, PPCNONE, {RA, RS}},
10775 +
10776 +{"not", XRC(31,124,0), X_MASK, COM, PPCNONE, {RA, RS, RBS}},
10777 +{"nor", XRC(31,124,0), X_MASK, COM, PPCNONE, {RA, RS, RB}},
10778 +{"not.", XRC(31,124,1), X_MASK, COM, PPCNONE, {RA, RS, RBS}},
10779 +{"nor.", XRC(31,124,1), X_MASK, COM, PPCNONE, {RA, RS, RB}},
10780 +
10781 +{"dcbfep", XRT(31,127,0), XRT_MASK, E500MC, PPCNONE, {RA, RB}},
10782 +
10783 +{"wrtee", X(31,131), XRARB_MASK, PPC403|BOOKE, PPCNONE, {RS}},
10784 +
10785 +{"dcbtstls", X(31,134), X_MASK, PPCCHLK, PPCNONE, {CT, RA, RB}},
10786 +
10787 +{"stvebx", X(31,135), X_MASK, PPCVEC, PPCNONE, {VS, RA, RB}},
10788 +{"stbfcmx", APU(31,135,0), APU_MASK, PPC405, PPCNONE, {FCRT, RA, RB}},
10789 +
10790 +{"subfe", XO(31,136,0,0), XO_MASK, PPCCOM, PPCNONE, {RT, RA, RB}},
10791 +{"sfe", XO(31,136,0,0), XO_MASK, PWRCOM, PPCNONE, {RT, RA, RB}},
10792 +{"subfe.", XO(31,136,0,1), XO_MASK, PPCCOM, PPCNONE, {RT, RA, RB}},
10793 +{"sfe.", XO(31,136,0,1), XO_MASK, PWRCOM, PPCNONE, {RT, RA, RB}},
10794 +
10795 +{"adde", XO(31,138,0,0), XO_MASK, PPCCOM, PPCNONE, {RT, RA, RB}},
10796 +{"ae", XO(31,138,0,0), XO_MASK, PWRCOM, PPCNONE, {RT, RA, RB}},
10797 +{"adde.", XO(31,138,0,1), XO_MASK, PPCCOM, PPCNONE, {RT, RA, RB}},
10798 +{"ae.", XO(31,138,0,1), XO_MASK, PWRCOM, PPCNONE, {RT, RA, RB}},
10799 +
10800 +{"dcbtstlse", X(31,142), X_MASK, PPCCHLK, PPCNONE, {CT, RA, RB}},
10801 +
10802 +{"mtcr", XFXM(31,144,0xff,0), XRARB_MASK, COM, PPCNONE, {RS}},
10803 +{"mtcrf", XFXM(31,144,0,0), XFXFXM_MASK, COM, PPCNONE, {FXM, RS}},
10804 +{"mtocrf", XFXM(31,144,0,1), XFXFXM_MASK, COM, PPCNONE, {FXM, RS}},
10805 +
10806 +{"mtmsr", X(31,146), XRLARB_MASK, COM, PPCNONE, {RS, A_L}},
10807 +
10808 +{"stdx", X(31,149), X_MASK, PPC64, PPCNONE, {RS, RA0, RB}},
10809 +
10810 +{"stwcx.", XRC(31,150,1), X_MASK, PPC, PPCNONE, {RS, RA0, RB}},
10811 +
10812 +{"stwx", X(31,151), X_MASK, PPCCOM, PPCNONE, {RS, RA0, RB}},
10813 +{"stx", X(31,151), X_MASK, PWRCOM, PPCNONE, {RS, RA, RB}},
10814 +
10815 +{"slq", XRC(31,152,0), X_MASK, M601, PPCNONE, {RA, RS, RB}},
10816 +{"slq.", XRC(31,152,1), X_MASK, M601, PPCNONE, {RA, RS, RB}},
10817 +
10818 +{"sle", XRC(31,153,0), X_MASK, M601, PPCNONE, {RA, RS, RB}},
10819 +{"sle.", XRC(31,153,1), X_MASK, M601, PPCNONE, {RA, RS, RB}},
10820 +
10821 +{"prtyw", X(31,154), XRB_MASK, POWER6, PPCNONE, {RA, RS}},
10822 +
10823 +{"stdepx", X(31,157), X_MASK, E500MC, PPCNONE, {RS, RA, RB}},
10824 +
10825 +{"stwepx", X(31,159), X_MASK, E500MC, PPCNONE, {RS, RA, RB}},
10826 +
10827 +{"wrteei", X(31,163), XE_MASK, PPC403|BOOKE, PPCNONE, {E}},
10828 +
10829 +{"dcbtls", X(31,166), X_MASK, PPCCHLK, PPCNONE, {CT, RA, RB}},
10830 +
10831 +{"stvehx", X(31,167), X_MASK, PPCVEC, PPCNONE, {VS, RA, RB}},
10832 +{"sthfcmx", APU(31,167,0), APU_MASK, PPC405, PPCNONE, {FCRT, RA, RB}},
10833 +
10834 +{"dcbtlse", X(31,174), X_MASK, PPCCHLK, PPCNONE, {CT, RA, RB}},
10835 +
10836 +{"mtmsrd", X(31,178), XRLARB_MASK, PPC64, PPCNONE, {RS, A_L}},
10837 +
10838 +{"stdux", X(31,181), X_MASK, PPC64, PPCNONE, {RS, RAS, RB}},
10839 +
10840 +{"stwux", X(31,183), X_MASK, PPCCOM, PPCNONE, {RS, RAS, RB}},
10841 +{"stux", X(31,183), X_MASK, PWRCOM, PPCNONE, {RS, RA0, RB}},
10842 +
10843 +{"sliq", XRC(31,184,0), X_MASK, M601, PPCNONE, {RA, RS, SH}},
10844 +{"sliq.", XRC(31,184,1), X_MASK, M601, PPCNONE, {RA, RS, SH}},
10845 +
10846 +{"prtyd", X(31,186), XRB_MASK, POWER6, PPCNONE, {RA, RS}},
10847 +
10848 +{"stvewx", X(31,199), X_MASK, PPCVEC, PPCNONE, {VS, RA, RB}},
10849 +{"stwfcmx", APU(31,199,0), APU_MASK, PPC405, PPCNONE, {FCRT, RA, RB}},
10850 +
10851 +{"subfze", XO(31,200,0,0), XORB_MASK, PPCCOM, PPCNONE, {RT, RA}},
10852 +{"sfze", XO(31,200,0,0), XORB_MASK, PWRCOM, PPCNONE, {RT, RA}},
10853 +{"subfze.", XO(31,200,0,1), XORB_MASK, PPCCOM, PPCNONE, {RT, RA}},
10854 +{"sfze.", XO(31,200,0,1), XORB_MASK, PWRCOM, PPCNONE, {RT, RA}},
10855 +
10856 +{"addze", XO(31,202,0,0), XORB_MASK, PPCCOM, PPCNONE, {RT, RA}},
10857 +{"aze", XO(31,202,0,0), XORB_MASK, PWRCOM, PPCNONE, {RT, RA}},
10858 +{"addze.", XO(31,202,0,1), XORB_MASK, PPCCOM, PPCNONE, {RT, RA}},
10859 +{"aze.", XO(31,202,0,1), XORB_MASK, PWRCOM, PPCNONE, {RT, RA}},
10860 +
10861 +{"msgsnd", XRTRA(31,206,0,0),XRTRA_MASK,E500MC, PPCNONE, {RB}},
10862 +
10863 +{"mtsr", X(31,210), XRB_MASK|(1<<20), COM32, PPCNONE, {SR, RS}},
10864 +
10865 +{"stdcx.", XRC(31,214,1), X_MASK, PPC64, PPCNONE, {RS, RA0, RB}},
10866 +
10867 +{"stbx", X(31,215), X_MASK, COM, PPCNONE, {RS, RA0, RB}},
10868 +
10869 +{"sllq", XRC(31,216,0), X_MASK, M601, PPCNONE, {RA, RS, RB}},
10870 +{"sllq.", XRC(31,216,1), X_MASK, M601, PPCNONE, {RA, RS, RB}},
10871 +
10872 +{"sleq", XRC(31,217,0), X_MASK, M601, PPCNONE, {RA, RS, RB}},
10873 +{"sleq.", XRC(31,217,1), X_MASK, M601, PPCNONE, {RA, RS, RB}},
10874 +
10875 +{"stbepx", X(31,223), X_MASK, E500MC, PPCNONE, {RS, RA, RB}},
10876 +
10877 +{"icblc", X(31,230), X_MASK, PPCCHLK, PPCNONE, {CT, RA, RB}},
10878 +
10879 +{"stvx", X(31,231), X_MASK, PPCVEC, PPCNONE, {VS, RA, RB}},
10880 +{"stqfcmx", APU(31,231,0), APU_MASK, PPC405, PPCNONE, {FCRT, RA, RB}},
10881 +
10882 +{"subfme", XO(31,232,0,0), XORB_MASK, PPCCOM, PPCNONE, {RT, RA}},
10883 +{"sfme", XO(31,232,0,0), XORB_MASK, PWRCOM, PPCNONE, {RT, RA}},
10884 +{"subfme.", XO(31,232,0,1), XORB_MASK, PPCCOM, PPCNONE, {RT, RA}},
10885 +{"sfme.", XO(31,232,0,1), XORB_MASK, PWRCOM, PPCNONE, {RT, RA}},
10886 +
10887 +{"mulld", XO(31,233,0,0), XO_MASK, PPC64, PPCNONE, {RT, RA, RB}},
10888 +{"mulld.", XO(31,233,0,1), XO_MASK, PPC64, PPCNONE, {RT, RA, RB}},
10889 +
10890 +{"addme", XO(31,234,0,0), XORB_MASK, PPCCOM, PPCNONE, {RT, RA}},
10891 +{"ame", XO(31,234,0,0), XORB_MASK, PWRCOM, PPCNONE, {RT, RA}},
10892 +{"addme.", XO(31,234,0,1), XORB_MASK, PPCCOM, PPCNONE, {RT, RA}},
10893 +{"ame.", XO(31,234,0,1), XORB_MASK, PWRCOM, PPCNONE, {RT, RA}},
10894 +
10895 +{"mullw", XO(31,235,0,0), XO_MASK, PPCCOM, PPCNONE, {RT, RA, RB}},
10896 +{"muls", XO(31,235,0,0), XO_MASK, PWRCOM, PPCNONE, {RT, RA, RB}},
10897 +{"mullw.", XO(31,235,0,1), XO_MASK, PPCCOM, PPCNONE, {RT, RA, RB}},
10898 +{"muls.", XO(31,235,0,1), XO_MASK, PWRCOM, PPCNONE, {RT, RA, RB}},
10899 +
10900 +{"msgclr", XRTRA(31,238,0,0),XRTRA_MASK,E500MC, PPCNONE, {RB}},
10901 +{"icblce", X(31,238), X_MASK, PPCCHLK, PPCNONE, {CT, RA, RB}},
10902 +{"mtsrin", X(31,242), XRA_MASK, PPC32, PPCNONE, {RS, RB}},
10903 +{"mtsri", X(31,242), XRA_MASK, POWER32, PPCNONE, {RS, RB}},
10904 +
10905 +{"dcbtstt", XRT(31,246,0x10), XRT_MASK, POWER7, PPCNONE, {RA, RB}},
10906 +{"dcbtst", X(31,246), X_MASK, PPC, POWER4, {CT, RA, RB}},
10907 +{"dcbtst", X(31,246), X_MASK, POWER4, PPCNONE, {RA, RB, CT}},
10908 +
10909 +{"stbux", X(31,247), X_MASK, COM, PPCNONE, {RS, RAS, RB}},
10910 +
10911 +{"slliq", XRC(31,248,0), X_MASK, M601, PPCNONE, {RA, RS, SH}},
10912 +{"slliq.", XRC(31,248,1), X_MASK, M601, PPCNONE, {RA, RS, SH}},
10913 +
10914 +{"bpermd", X(31,252), X_MASK, POWER7, PPCNONE, {RA, RS, RB}},
10915 +
10916 +{"dcbtstep", XRT(31,255,0), X_MASK, E500MC, PPCNONE, {RT, RA, RB}},
10917 +
10918 +{"mfdcrx", X(31,259), X_MASK, BOOKE, PPCNONE, {RS, RA}},
10919 +
10920 +{"icbt", X(31,262), XRT_MASK, PPC403, PPCNONE, {RA, RB}},
10921 +
10922 +{"ldfcmx", APU(31,263,0), APU_MASK, PPC405, PPCNONE, {FCRT, RA, RB}},
10923 +{"doz", XO(31,264,0,0), XO_MASK, M601, PPCNONE, {RT, RA, RB}},
10924 +{"doz.", XO(31,264,0,1), XO_MASK, M601, PPCNONE, {RT, RA, RB}},
10925 +
10926 +{"add", XO(31,266,0,0), XO_MASK, PPCCOM, PPCNONE, {RT, RA, RB}},
10927 +{"cax", XO(31,266,0,0), XO_MASK, PWRCOM, PPCNONE, {RT, RA, RB}},
10928 +{"add.", XO(31,266,0,1), XO_MASK, PPCCOM, PPCNONE, {RT, RA, RB}},
10929 +{"cax.", XO(31,266,0,1), XO_MASK, PWRCOM, PPCNONE, {RT, RA, RB}},
10930 +
10931 +{"ehpriv", X(31,270), 0xffffffff, E500MC, PPCNONE, {0}},
10932 +
10933 +{"tlbiel", X(31,274), XRTLRA_MASK, POWER4, PPCNONE, {RB, L}},
10934 +
10935 +{"mfapidi", X(31,275), X_MASK, BOOKE, PPCNONE, {RT, RA}},
10936 +
10937 +{"lscbx", XRC(31,277,0), X_MASK, M601, PPCNONE, {RT, RA, RB}},
10938 +{"lscbx.", XRC(31,277,1), X_MASK, M601, PPCNONE, {RT, RA, RB}},
10939 +
10940 +{"dcbtt", XRT(31,278,0x10), XRT_MASK, POWER7, PPCNONE, {RA, RB}},
10941 +{"dcbt", X(31,278), X_MASK, PPC, POWER4, {CT, RA, RB}},
10942 +{"dcbt", X(31,278), X_MASK, POWER4, PPCNONE, {RA, RB, CT}},
10943 +
10944 +{"lhzx", X(31,279), X_MASK, COM, PPCNONE, {RT, RA0, RB}},
10945 +
10946 +{"cdtbcd", X(31,282), XRB_MASK, POWER6, PPCNONE, {RA, RS}},
10947 +
10948 +{"eqv", XRC(31,284,0), X_MASK, COM, PPCNONE, {RA, RS, RB}},
10949 +{"eqv.", XRC(31,284,1), X_MASK, COM, PPCNONE, {RA, RS, RB}},
10950 +
10951 +{"lhepx", X(31,287), X_MASK, E500MC, PPCNONE, {RT, RA, RB}},
10952 +
10953 +{"mfdcrux", X(31,291), X_MASK, PPC464, PPCNONE, {RS, RA}},
10954 +
10955 +{"tlbie", X(31,306), XRTLRA_MASK, PPC, PPCNONE, {RB, L}},
10956 +{"tlbi", X(31,306), XRT_MASK, POWER, PPCNONE, {RA0, RB}},
10957 +
10958 +{"eciwx", X(31,310), X_MASK, PPC, PPCNONE, {RT, RA, RB}},
10959 +
10960 +{"lhzux", X(31,311), X_MASK, COM, PPCNONE, {RT, RAL, RB}},
10961 +
10962 +{"cbcdtd", X(31,314), XRB_MASK, POWER6, PPCNONE, {RA, RS}},
10963 +
10964 +{"xor", XRC(31,316,0), X_MASK, COM, PPCNONE, {RA, RS, RB}},
10965 +{"xor.", XRC(31,316,1), X_MASK, COM, PPCNONE, {RA, RS, RB}},
10966 +
10967 +{"dcbtep", XRT(31,319,0), X_MASK, E500MC, PPCNONE, {RT, RA, RB}},
10968 +
10969 +{"mfexisr", XSPR(31,323, 64), XSPR_MASK, PPC403, PPCNONE, {RT}},
10970 +{"mfexier", XSPR(31,323, 66), XSPR_MASK, PPC403, PPCNONE, {RT}},
10971 +{"mfbr0", XSPR(31,323,128), XSPR_MASK, PPC403, PPCNONE, {RT}},
10972 +{"mfbr1", XSPR(31,323,129), XSPR_MASK, PPC403, PPCNONE, {RT}},
10973 +{"mfbr2", XSPR(31,323,130), XSPR_MASK, PPC403, PPCNONE, {RT}},
10974 +{"mfbr3", XSPR(31,323,131), XSPR_MASK, PPC403, PPCNONE, {RT}},
10975 +{"mfbr4", XSPR(31,323,132), XSPR_MASK, PPC403, PPCNONE, {RT}},
10976 +{"mfbr5", XSPR(31,323,133), XSPR_MASK, PPC403, PPCNONE, {RT}},
10977 +{"mfbr6", XSPR(31,323,134), XSPR_MASK, PPC403, PPCNONE, {RT}},
10978 +{"mfbr7", XSPR(31,323,135), XSPR_MASK, PPC403, PPCNONE, {RT}},
10979 +{"mfbear", XSPR(31,323,144), XSPR_MASK, PPC403, PPCNONE, {RT}},
10980 +{"mfbesr", XSPR(31,323,145), XSPR_MASK, PPC403, PPCNONE, {RT}},
10981 +{"mfiocr", XSPR(31,323,160), XSPR_MASK, PPC403, PPCNONE, {RT}},
10982 +{"mfdmacr0", XSPR(31,323,192), XSPR_MASK, PPC403, PPCNONE, {RT}},
10983 +{"mfdmact0", XSPR(31,323,193), XSPR_MASK, PPC403, PPCNONE, {RT}},
10984 +{"mfdmada0", XSPR(31,323,194), XSPR_MASK, PPC403, PPCNONE, {RT}},
10985 +{"mfdmasa0", XSPR(31,323,195), XSPR_MASK, PPC403, PPCNONE, {RT}},
10986 +{"mfdmacc0", XSPR(31,323,196), XSPR_MASK, PPC403, PPCNONE, {RT}},
10987 +{"mfdmacr1", XSPR(31,323,200), XSPR_MASK, PPC403, PPCNONE, {RT}},
10988 +{"mfdmact1", XSPR(31,323,201), XSPR_MASK, PPC403, PPCNONE, {RT}},
10989 +{"mfdmada1", XSPR(31,323,202), XSPR_MASK, PPC403, PPCNONE, {RT}},
10990 +{"mfdmasa1", XSPR(31,323,203), XSPR_MASK, PPC403, PPCNONE, {RT}},
10991 +{"mfdmacc1", XSPR(31,323,204), XSPR_MASK, PPC403, PPCNONE, {RT}},
10992 +{"mfdmacr2", XSPR(31,323,208), XSPR_MASK, PPC403, PPCNONE, {RT}},
10993 +{"mfdmact2", XSPR(31,323,209), XSPR_MASK, PPC403, PPCNONE, {RT}},
10994 +{"mfdmada2", XSPR(31,323,210), XSPR_MASK, PPC403, PPCNONE, {RT}},
10995 +{"mfdmasa2", XSPR(31,323,211), XSPR_MASK, PPC403, PPCNONE, {RT}},
10996 +{"mfdmacc2", XSPR(31,323,212), XSPR_MASK, PPC403, PPCNONE, {RT}},
10997 +{"mfdmacr3", XSPR(31,323,216), XSPR_MASK, PPC403, PPCNONE, {RT}},
10998 +{"mfdmact3", XSPR(31,323,217), XSPR_MASK, PPC403, PPCNONE, {RT}},
10999 +{"mfdmada3", XSPR(31,323,218), XSPR_MASK, PPC403, PPCNONE, {RT}},
11000 +{"mfdmasa3", XSPR(31,323,219), XSPR_MASK, PPC403, PPCNONE, {RT}},
11001 +{"mfdmacc3", XSPR(31,323,220), XSPR_MASK, PPC403, PPCNONE, {RT}},
11002 +{"mfdmasr", XSPR(31,323,224), XSPR_MASK, PPC403, PPCNONE, {RT}},
11003 +{"mfdcr", X(31,323), X_MASK, PPC403|BOOKE, PPCNONE, {RT, SPR}},
11004 +
11005 +{"div", XO(31,331,0,0), XO_MASK, M601, PPCNONE, {RT, RA, RB}},
11006 +{"div.", XO(31,331,0,1), XO_MASK, M601, PPCNONE, {RT, RA, RB}},
11007 +
11008 +{"lxvdsx", X(31,332), XX1_MASK, PPCVSX, PPCNONE, {XT6, RA, RB}},
11009 +
11010 +{"mfpmr", X(31,334), X_MASK, PPCPMR|PPCE300, PPCNONE, {RT, PMR}},
11011 +
11012 +{"mfmq", XSPR(31,339, 0), XSPR_MASK, M601, PPCNONE, {RT}},
11013 +{"mfxer", XSPR(31,339, 1), XSPR_MASK, COM, PPCNONE, {RT}},
11014 +{"mfrtcu", XSPR(31,339, 4), XSPR_MASK, COM, PPCNONE, {RT}},
11015 +{"mfrtcl", XSPR(31,339, 5), XSPR_MASK, COM, PPCNONE, {RT}},
11016 +{"mfdec", XSPR(31,339, 6), XSPR_MASK, MFDEC1, PPCNONE, {RT}},
11017 +{"mflr", XSPR(31,339, 8), XSPR_MASK, COM, PPCNONE, {RT}},
11018 +{"mfctr", XSPR(31,339, 9), XSPR_MASK, COM, PPCNONE, {RT}},
11019 +{"mftid", XSPR(31,339, 17), XSPR_MASK, POWER, PPCNONE, {RT}},
11020 +{"mfdsisr", XSPR(31,339, 18), XSPR_MASK, COM, PPCNONE, {RT}},
11021 +{"mfdar", XSPR(31,339, 19), XSPR_MASK, COM, PPCNONE, {RT}},
11022 +{"mfdec", XSPR(31,339, 22), XSPR_MASK, MFDEC2, PPCNONE, {RT}},
11023 +{"mfsdr0", XSPR(31,339, 24), XSPR_MASK, POWER, PPCNONE, {RT}},
11024 +{"mfsdr1", XSPR(31,339, 25), XSPR_MASK, COM, PPCNONE, {RT}},
11025 +{"mfsrr0", XSPR(31,339, 26), XSPR_MASK, COM, PPCNONE, {RT}},
11026 +{"mfsrr1", XSPR(31,339, 27), XSPR_MASK, COM, PPCNONE, {RT}},
11027 +{"mfcfar", XSPR(31,339, 28), XSPR_MASK, POWER6, PPCNONE, {RT}},
11028 +{"mfpid", XSPR(31,339, 48), XSPR_MASK, BOOKE, PPCNONE, {RT}},
11029 +{"mfcsrr0", XSPR(31,339, 58), XSPR_MASK, BOOKE, PPCNONE, {RT}},
11030 +{"mfcsrr1", XSPR(31,339, 59), XSPR_MASK, BOOKE, PPCNONE, {RT}},
11031 +{"mfdear", XSPR(31,339, 61), XSPR_MASK, BOOKE, PPCNONE, {RT}},
11032 +{"mfesr", XSPR(31,339, 62), XSPR_MASK, BOOKE, PPCNONE, {RT}},
11033 +{"mfivpr", XSPR(31,339, 63), XSPR_MASK, BOOKE, PPCNONE, {RT}},
11034 +{"mfcmpa", XSPR(31,339,144), XSPR_MASK, PPC860, PPCNONE, {RT}},
11035 +{"mfcmpb", XSPR(31,339,145), XSPR_MASK, PPC860, PPCNONE, {RT}},
11036 +{"mfcmpc", XSPR(31,339,146), XSPR_MASK, PPC860, PPCNONE, {RT}},
11037 +{"mfcmpd", XSPR(31,339,147), XSPR_MASK, PPC860, PPCNONE, {RT}},
11038 +{"mficr", XSPR(31,339,148), XSPR_MASK, PPC860, PPCNONE, {RT}},
11039 +{"mfder", XSPR(31,339,149), XSPR_MASK, PPC860, PPCNONE, {RT}},
11040 +{"mfcounta", XSPR(31,339,150), XSPR_MASK, PPC860, PPCNONE, {RT}},
11041 +{"mfcountb", XSPR(31,339,151), XSPR_MASK, PPC860, PPCNONE, {RT}},
11042 +{"mfcmpe", XSPR(31,339,152), XSPR_MASK, PPC860, PPCNONE, {RT}},
11043 +{"mfcmpf", XSPR(31,339,153), XSPR_MASK, PPC860, PPCNONE, {RT}},
11044 +{"mfcmpg", XSPR(31,339,154), XSPR_MASK, PPC860, PPCNONE, {RT}},
11045 +{"mfcmph", XSPR(31,339,155), XSPR_MASK, PPC860, PPCNONE, {RT}},
11046 +{"mflctrl1", XSPR(31,339,156), XSPR_MASK, PPC860, PPCNONE, {RT}},
11047 +{"mflctrl2", XSPR(31,339,157), XSPR_MASK, PPC860, PPCNONE, {RT}},
11048 +{"mfictrl", XSPR(31,339,158), XSPR_MASK, PPC860, PPCNONE, {RT}},
11049 +{"mfbar", XSPR(31,339,159), XSPR_MASK, PPC860, PPCNONE, {RT}},
11050 +{"mfvrsave", XSPR(31,339,256), XSPR_MASK, PPCVEC, PPCNONE, {RT}},
11051 +{"mfusprg0", XSPR(31,339,256), XSPR_MASK, BOOKE, PPCNONE, {RT}},
11052 +{"mfsprg", XSPR(31,339,256), XSPRG_MASK, PPC, PPCNONE, {RT, SPRG}},
11053 +{"mfsprg4", XSPR(31,339,260), XSPR_MASK, PPC405|BOOKE, PPCNONE, {RT}},
11054 +{"mfsprg5", XSPR(31,339,261), XSPR_MASK, PPC405|BOOKE, PPCNONE, {RT}},
11055 +{"mfsprg6", XSPR(31,339,262), XSPR_MASK, PPC405|BOOKE, PPCNONE, {RT}},
11056 +{"mfsprg7", XSPR(31,339,263), XSPR_MASK, PPC405|BOOKE, PPCNONE, {RT}},
11057 +{"mftb", XSPR(31,339,268), XSPR_MASK, BOOKE, PPCNONE, {RT}},
11058 +{"mftbl", XSPR(31,339,268), XSPR_MASK, BOOKE, PPCNONE, {RT}},
11059 +{"mftbu", XSPR(31,339,269), XSPR_MASK, BOOKE, PPCNONE, {RT}},
11060 +{"mfsprg0", XSPR(31,339,272), XSPR_MASK, PPC, PPCNONE, {RT}},
11061 +{"mfsprg1", XSPR(31,339,273), XSPR_MASK, PPC, PPCNONE, {RT}},
11062 +{"mfsprg2", XSPR(31,339,274), XSPR_MASK, PPC, PPCNONE, {RT}},
11063 +{"mfsprg3", XSPR(31,339,275), XSPR_MASK, PPC, PPCNONE, {RT}},
11064 +{"mfasr", XSPR(31,339,280), XSPR_MASK, PPC64, PPCNONE, {RT}},
11065 +{"mfear", XSPR(31,339,282), XSPR_MASK, PPC, PPCNONE, {RT}},
11066 +{"mfpir", XSPR(31,339,286), XSPR_MASK, BOOKE, PPCNONE, {RT}},
11067 +{"mfpvr", XSPR(31,339,287), XSPR_MASK, PPC, PPCNONE, {RT}},
11068 +{"mfdbsr", XSPR(31,339,304), XSPR_MASK, BOOKE, PPCNONE, {RT}},
11069 +{"mfdbcr0", XSPR(31,339,308), XSPR_MASK, BOOKE, PPCNONE, {RT}},
11070 +{"mfdbcr1", XSPR(31,339,309), XSPR_MASK, BOOKE, PPCNONE, {RT}},
11071 +{"mfdbcr2", XSPR(31,339,310), XSPR_MASK, BOOKE, PPCNONE, {RT}},
11072 +{"mfiac1", XSPR(31,339,312), XSPR_MASK, BOOKE, PPCNONE, {RT}},
11073 +{"mfiac2", XSPR(31,339,313), XSPR_MASK, BOOKE, PPCNONE, {RT}},
11074 +{"mfiac3", XSPR(31,339,314), XSPR_MASK, BOOKE, PPCNONE, {RT}},
11075 +{"mfiac4", XSPR(31,339,315), XSPR_MASK, BOOKE, PPCNONE, {RT}},
11076 +{"mfdac1", XSPR(31,339,316), XSPR_MASK, BOOKE, PPCNONE, {RT}},
11077 +{"mfdac2", XSPR(31,339,317), XSPR_MASK, BOOKE, PPCNONE, {RT}},
11078 +{"mfdvc1", XSPR(31,339,318), XSPR_MASK, BOOKE, PPCNONE, {RT}},
11079 +{"mfdvc2", XSPR(31,339,319), XSPR_MASK, BOOKE, PPCNONE, {RT}},
11080 +{"mftsr", XSPR(31,339,336), XSPR_MASK, BOOKE, PPCNONE, {RT}},
11081 +{"mftcr", XSPR(31,339,340), XSPR_MASK, BOOKE, PPCNONE, {RT}},
11082 +{"mfivor0", XSPR(31,339,400), XSPR_MASK, BOOKE, PPCNONE, {RT}},
11083 +{"mfivor1", XSPR(31,339,401), XSPR_MASK, BOOKE, PPCNONE, {RT}},
11084 +{"mfivor2", XSPR(31,339,402), XSPR_MASK, BOOKE, PPCNONE, {RT}},
11085 +{"mfivor3", XSPR(31,339,403), XSPR_MASK, BOOKE, PPCNONE, {RT}},
11086 +{"mfivor4", XSPR(31,339,404), XSPR_MASK, BOOKE, PPCNONE, {RT}},
11087 +{"mfivor5", XSPR(31,339,405), XSPR_MASK, BOOKE, PPCNONE, {RT}},
11088 +{"mfivor6", XSPR(31,339,406), XSPR_MASK, BOOKE, PPCNONE, {RT}},
11089 +{"mfivor7", XSPR(31,339,407), XSPR_MASK, BOOKE, PPCNONE, {RT}},
11090 +{"mfivor8", XSPR(31,339,408), XSPR_MASK, BOOKE, PPCNONE, {RT}},
11091 +{"mfivor9", XSPR(31,339,409), XSPR_MASK, BOOKE, PPCNONE, {RT}},
11092 +{"mfivor10", XSPR(31,339,410), XSPR_MASK, BOOKE, PPCNONE, {RT}},
11093 +{"mfivor11", XSPR(31,339,411), XSPR_MASK, BOOKE, PPCNONE, {RT}},
11094 +{"mfivor12", XSPR(31,339,412), XSPR_MASK, BOOKE, PPCNONE, {RT}},
11095 +{"mfivor13", XSPR(31,339,413), XSPR_MASK, BOOKE, PPCNONE, {RT}},
11096 +{"mfivor14", XSPR(31,339,414), XSPR_MASK, BOOKE, PPCNONE, {RT}},
11097 +{"mfivor15", XSPR(31,339,415), XSPR_MASK, BOOKE, PPCNONE, {RT}},
11098 +{"mfspefscr", XSPR(31,339,512), XSPR_MASK, PPCSPE, PPCNONE, {RT}},
11099 +{"mfbbear", XSPR(31,339,513), XSPR_MASK, PPCBRLK, PPCNONE, {RT}},
11100 +{"mfbbtar", XSPR(31,339,514), XSPR_MASK, PPCBRLK, PPCNONE, {RT}},
11101 +{"mfivor32", XSPR(31,339,528), XSPR_MASK, PPCSPE, PPCNONE, {RT}},
11102 +{"mfibatu", XSPR(31,339,528), XSPRBAT_MASK, PPC, PPCNONE, {RT, SPRBAT}},
11103 +{"mfivor33", XSPR(31,339,529), XSPR_MASK, PPCSPE, PPCNONE, {RT}},
11104 +{"mfibatl", XSPR(31,339,529), XSPRBAT_MASK, PPC, PPCNONE, {RT, SPRBAT}},
11105 +{"mfivor34", XSPR(31,339,530), XSPR_MASK, PPCSPE, PPCNONE, {RT}},
11106 +{"mfivor35", XSPR(31,339,531), XSPR_MASK, PPCPMR, PPCNONE, {RT}},
11107 +{"mfdbatu", XSPR(31,339,536), XSPRBAT_MASK, PPC, PPCNONE, {RT, SPRBAT}},
11108 +{"mfdbatl", XSPR(31,339,537), XSPRBAT_MASK, PPC, PPCNONE, {RT, SPRBAT}},
11109 +{"mfic_cst", XSPR(31,339,560), XSPR_MASK, PPC860, PPCNONE, {RT}},
11110 +{"mfic_adr", XSPR(31,339,561), XSPR_MASK, PPC860, PPCNONE, {RT}},
11111 +{"mfic_dat", XSPR(31,339,562), XSPR_MASK, PPC860, PPCNONE, {RT}},
11112 +{"mfdc_cst", XSPR(31,339,568), XSPR_MASK, PPC860, PPCNONE, {RT}},
11113 +{"mfdc_adr", XSPR(31,339,569), XSPR_MASK, PPC860, PPCNONE, {RT}},
11114 +{"mfdc_dat", XSPR(31,339,570), XSPR_MASK, PPC860, PPCNONE, {RT}},
11115 +{"mfmcsrr0", XSPR(31,339,570), XSPR_MASK, PPCRFMCI, PPCNONE, {RT}},
11116 +{"mfmcsrr1", XSPR(31,339,571), XSPR_MASK, PPCRFMCI, PPCNONE, {RT}},
11117 +{"mfmcsr", XSPR(31,339,572), XSPR_MASK, PPCRFMCI, PPCNONE, {RT}},
11118 +{"mfmcar", XSPR(31,339,573), XSPR_MASK, PPCRFMCI, PPCNONE, {RT}},
11119 +{"mfdpdr", XSPR(31,339,630), XSPR_MASK, PPC860, PPCNONE, {RT}},
11120 +{"mfdpir", XSPR(31,339,631), XSPR_MASK, PPC860, PPCNONE, {RT}},
11121 +{"mfimmr", XSPR(31,339,638), XSPR_MASK, PPC860, PPCNONE, {RT}},
11122 +{"mfmi_ctr", XSPR(31,339,784), XSPR_MASK, PPC860, PPCNONE, {RT}},
11123 +{"mfmi_ap", XSPR(31,339,786), XSPR_MASK, PPC860, PPCNONE, {RT}},
11124 +{"mfmi_epn", XSPR(31,339,787), XSPR_MASK, PPC860, PPCNONE, {RT}},
11125 +{"mfmi_twc", XSPR(31,339,789), XSPR_MASK, PPC860, PPCNONE, {RT}},
11126 +{"mfmi_rpn", XSPR(31,339,790), XSPR_MASK, PPC860, PPCNONE, {RT}},
11127 +{"mfmd_ctr", XSPR(31,339,792), XSPR_MASK, PPC860, PPCNONE, {RT}},
11128 +{"mfm_casid", XSPR(31,339,793), XSPR_MASK, PPC860, PPCNONE, {RT}},
11129 +{"mfmd_ap", XSPR(31,339,794), XSPR_MASK, PPC860, PPCNONE, {RT}},
11130 +{"mfmd_epn", XSPR(31,339,795), XSPR_MASK, PPC860, PPCNONE, {RT}},
11131 +{"mfmd_twb", XSPR(31,339,796), XSPR_MASK, PPC860, PPCNONE, {RT}},
11132 +{"mfmd_twc", XSPR(31,339,797), XSPR_MASK, PPC860, PPCNONE, {RT}},
11133 +{"mfmd_rpn", XSPR(31,339,798), XSPR_MASK, PPC860, PPCNONE, {RT}},
11134 +{"mfm_tw", XSPR(31,339,799), XSPR_MASK, PPC860, PPCNONE, {RT}},
11135 +{"mfmi_dbcam", XSPR(31,339,816), XSPR_MASK, PPC860, PPCNONE, {RT}},
11136 +{"mfmi_dbram0", XSPR(31,339,817), XSPR_MASK, PPC860, PPCNONE, {RT}},
11137 +{"mfmi_dbram1", XSPR(31,339,818), XSPR_MASK, PPC860, PPCNONE, {RT}},
11138 +{"mfmd_dbcam", XSPR(31,339,824), XSPR_MASK, PPC860, PPCNONE, {RT}},
11139 +{"mfmd_dbram0", XSPR(31,339,825), XSPR_MASK, PPC860, PPCNONE, {RT}},
11140 +{"mfmd_dbram1", XSPR(31,339,826), XSPR_MASK, PPC860, PPCNONE, {RT}},
11141 +{"mfummcr0", XSPR(31,339,936), XSPR_MASK, PPC750, PPCNONE, {RT}},
11142 +{"mfupmc1", XSPR(31,339,937), XSPR_MASK, PPC750, PPCNONE, {RT}},
11143 +{"mfupmc2", XSPR(31,339,938), XSPR_MASK, PPC750, PPCNONE, {RT}},
11144 +{"mfusia", XSPR(31,339,939), XSPR_MASK, PPC750, PPCNONE, {RT}},
11145 +{"mfummcr1", XSPR(31,339,940), XSPR_MASK, PPC750, PPCNONE, {RT}},
11146 +{"mfupmc3", XSPR(31,339,941), XSPR_MASK, PPC750, PPCNONE, {RT}},
11147 +{"mfupmc4", XSPR(31,339,942), XSPR_MASK, PPC750, PPCNONE, {RT}},
11148 +{"mfzpr", XSPR(31,339,944), XSPR_MASK, PPC403, PPCNONE, {RT}},
11149 +{"mfpid", XSPR(31,339,945), XSPR_MASK, PPC403, PPCNONE, {RT}},
11150 +{"mfccr0", XSPR(31,339,947), XSPR_MASK, PPC405, PPCNONE, {RT}},
11151 +{"mfiac3", XSPR(31,339,948), XSPR_MASK, PPC405, PPCNONE, {RT}},
11152 +{"mfiac4", XSPR(31,339,949), XSPR_MASK, PPC405, PPCNONE, {RT}},
11153 +{"mfdvc1", XSPR(31,339,950), XSPR_MASK, PPC405, PPCNONE, {RT}},
11154 +{"mfdvc2", XSPR(31,339,951), XSPR_MASK, PPC405, PPCNONE, {RT}},
11155 +{"mfmmcr0", XSPR(31,339,952), XSPR_MASK, PPC750, PPCNONE, {RT}},
11156 +{"mfpmc1", XSPR(31,339,953), XSPR_MASK, PPC750, PPCNONE, {RT}},
11157 +{"mfsgr", XSPR(31,339,953), XSPR_MASK, PPC403, PPCNONE, {RT}},
11158 +{"mfdcwr", XSPR(31,339,954), XSPR_MASK, PPC403, PPCNONE, {RT}},
11159 +{"mfpmc2", XSPR(31,339,954), XSPR_MASK, PPC750, PPCNONE, {RT}},
11160 +{"mfsia", XSPR(31,339,955), XSPR_MASK, PPC750, PPCNONE, {RT}},
11161 +{"mfsler", XSPR(31,339,955), XSPR_MASK, PPC405, PPCNONE, {RT}},
11162 +{"mfmmcr1", XSPR(31,339,956), XSPR_MASK, PPC750, PPCNONE, {RT}},
11163 +{"mfsu0r", XSPR(31,339,956), XSPR_MASK, PPC405, PPCNONE, {RT}},
11164 +{"mfdbcr1", XSPR(31,339,957), XSPR_MASK, PPC405, PPCNONE, {RT}},
11165 +{"mfpmc3", XSPR(31,339,957), XSPR_MASK, PPC750, PPCNONE, {RT}},
11166 +{"mfpmc4", XSPR(31,339,958), XSPR_MASK, PPC750, PPCNONE, {RT}},
11167 +{"mficdbdr", XSPR(31,339,979), XSPR_MASK, PPC403, PPCNONE, {RT}},
11168 +{"mfesr", XSPR(31,339,980), XSPR_MASK, PPC403, PPCNONE, {RT}},
11169 +{"mfdear", XSPR(31,339,981), XSPR_MASK, PPC403, PPCNONE, {RT}},
11170 +{"mfevpr", XSPR(31,339,982), XSPR_MASK, PPC403, PPCNONE, {RT}},
11171 +{"mfcdbcr", XSPR(31,339,983), XSPR_MASK, PPC403, PPCNONE, {RT}},
11172 +{"mftsr", XSPR(31,339,984), XSPR_MASK, PPC403, PPCNONE, {RT}},
11173 +{"mftcr", XSPR(31,339,986), XSPR_MASK, PPC403, PPCNONE, {RT}},
11174 +{"mfpit", XSPR(31,339,987), XSPR_MASK, PPC403, PPCNONE, {RT}},
11175 +{"mftbhi", XSPR(31,339,988), XSPR_MASK, PPC403, PPCNONE, {RT}},
11176 +{"mftblo", XSPR(31,339,989), XSPR_MASK, PPC403, PPCNONE, {RT}},
11177 +{"mfsrr2", XSPR(31,339,990), XSPR_MASK, PPC403, PPCNONE, {RT}},
11178 +{"mfsrr3", XSPR(31,339,991), XSPR_MASK, PPC403, PPCNONE, {RT}},
11179 +{"mfdbsr", XSPR(31,339,1008), XSPR_MASK, PPC403, PPCNONE, {RT}},
11180 +{"mfdbcr0", XSPR(31,339,1010), XSPR_MASK, PPC405, PPCNONE, {RT}},
11181 +{"mfiac1", XSPR(31,339,1012), XSPR_MASK, PPC403, PPCNONE, {RT}},
11182 +{"mfiac2", XSPR(31,339,1013), XSPR_MASK, PPC403, PPCNONE, {RT}},
11183 +{"mfdac1", XSPR(31,339,1014), XSPR_MASK, PPC403, PPCNONE, {RT}},
11184 +{"mfdac2", XSPR(31,339,1015), XSPR_MASK, PPC403, PPCNONE, {RT}},
11185 +{"mfl2cr", XSPR(31,339,1017), XSPR_MASK, PPC750, PPCNONE, {RT}},
11186 +{"mfdccr", XSPR(31,339,1018), XSPR_MASK, PPC403, PPCNONE, {RT}},
11187 +{"mficcr", XSPR(31,339,1019), XSPR_MASK, PPC403, PPCNONE, {RT}},
11188 +{"mfictc", XSPR(31,339,1019), XSPR_MASK, PPC750, PPCNONE, {RT}},
11189 +{"mfpbl1", XSPR(31,339,1020), XSPR_MASK, PPC403, PPCNONE, {RT}},
11190 +{"mfthrm1", XSPR(31,339,1020), XSPR_MASK, PPC750, PPCNONE, {RT}},
11191 +{"mfpbu1", XSPR(31,339,1021), XSPR_MASK, PPC403, PPCNONE, {RT}},
11192 +{"mfthrm2", XSPR(31,339,1021), XSPR_MASK, PPC750, PPCNONE, {RT}},
11193 +{"mfpbl2", XSPR(31,339,1022), XSPR_MASK, PPC403, PPCNONE, {RT}},
11194 +{"mfthrm3", XSPR(31,339,1022), XSPR_MASK, PPC750, PPCNONE, {RT}},
11195 +{"mfpbu2", XSPR(31,339,1023), XSPR_MASK, PPC403, PPCNONE, {RT}},
11196 +{"mfspr", X(31,339), X_MASK, COM, PPCNONE, {RT, SPR}},
11197 +
11198 +{"lwax", X(31,341), X_MASK, PPC64, PPCNONE, {RT, RA0, RB}},
11199 +
11200 +{"dst", XDSS(31,342,0), XDSS_MASK, PPCVEC, PPCNONE, {RA, RB, STRM}},
11201 +
11202 +{"lhax", X(31,343), X_MASK, COM, PPCNONE, {RT, RA0, RB}},
11203 +
11204 +{"lvxl", X(31,359), X_MASK, PPCVEC, PPCNONE, {VD, RA, RB}},
11205 +
11206 +{"abs", XO(31,360,0,0), XORB_MASK, M601, PPCNONE, {RT, RA}},
11207 +{"abs.", XO(31,360,0,1), XORB_MASK, M601, PPCNONE, {RT, RA}},
11208 +
11209 +{"divs", XO(31,363,0,0), XO_MASK, M601, PPCNONE, {RT, RA, RB}},
11210 +{"divs.", XO(31,363,0,1), XO_MASK, M601, PPCNONE, {RT, RA, RB}},
11211 +
11212 +{"tlbia", X(31,370), 0xffffffff, PPC, PPCNONE, {0}},
11213 +
11214 +{"mftbl", XSPR(31,371,268), XSPR_MASK, CLASSIC, PPCNONE, {RT}},
11215 +{"mftbu", XSPR(31,371,269), XSPR_MASK, CLASSIC, PPCNONE, {RT}},
11216 +{"mftb", X(31,371), X_MASK, CLASSIC, POWER7, {RT, TBR}},
11217 +
11218 +{"lwaux", X(31,373), X_MASK, PPC64, PPCNONE, {RT, RAL, RB}},
11219 +
11220 +{"dstst", XDSS(31,374,0), XDSS_MASK, PPCVEC, PPCNONE, {RA, RB, STRM}},
11221 +
11222 +{"lhaux", X(31,375), X_MASK, COM, PPCNONE, {RT, RAL, RB}},
11223 +
11224 +{"popcntw", X(31,378), XRB_MASK, POWER7, PPCNONE, {RA, RS}},
11225 +
11226 +{"mtdcrx", X(31,387), X_MASK, BOOKE, PPCNONE, {RA, RS}},
11227 +
11228 +{"dcblc", X(31,390), X_MASK, PPCCHLK, PPCNONE, {CT, RA, RB}},
11229 +{"stdfcmx", APU(31,391,0), APU_MASK, PPC405, PPCNONE, {FCRT, RA, RB}},
11230 +
11231 +{"divdeu", XO(31,393,0,0), XO_MASK, POWER7, PPCNONE, {RT, RA, RB}},
11232 +{"divdeu.", XO(31,393,0,1), XO_MASK, POWER7, PPCNONE, {RT, RA, RB}},
11233 +{"divweu", XO(31,395,0,0), XO_MASK, POWER7, PPCNONE, {RT, RA, RB}},
11234 +{"divweu.", XO(31,395,0,1), XO_MASK, POWER7, PPCNONE, {RT, RA, RB}},
11235 +
11236 +{"dcblce", X(31,398), X_MASK, PPCCHLK, PPCNONE, {CT, RA, RB}},
11237 +
11238 +{"slbmte", X(31,402), XRA_MASK, PPC64, PPCNONE, {RS, RB}},
11239 +
11240 +{"sthx", X(31,407), X_MASK, COM, PPCNONE, {RS, RA0, RB}},
11241 +
11242 +{"orc", XRC(31,412,0), X_MASK, COM, PPCNONE, {RA, RS, RB}},
11243 +{"orc.", XRC(31,412,1), X_MASK, COM, PPCNONE, {RA, RS, RB}},
11244 +
11245 +{"sthepx", X(31,415), X_MASK, E500MC, PPCNONE, {RS, RA, RB}},
11246 +
11247 +{"mtdcrux", X(31,419), X_MASK, PPC464, PPCNONE, {RA, RS}},
11248 +
11249 +{"divde", XO(31,425,0,0), XO_MASK, POWER7, PPCNONE, {RT, RA, RB}},
11250 +{"divde.", XO(31,425,0,1), XO_MASK, POWER7, PPCNONE, {RT, RA, RB}},
11251 +{"divwe", XO(31,427,0,0), XO_MASK, POWER7, PPCNONE, {RT, RA, RB}},
11252 +{"divwe.", XO(31,427,0,1), XO_MASK, POWER7, PPCNONE, {RT, RA, RB}},
11253 +
11254 +{"slbie", X(31,434), XRTRA_MASK, PPC64, PPCNONE, {RB}},
11255 +
11256 +{"ecowx", X(31,438), X_MASK, PPC, PPCNONE, {RT, RA, RB}},
11257 +
11258 +{"sthux", X(31,439), X_MASK, COM, PPCNONE, {RS, RAS, RB}},
11259 +
11260 +{"mdors", 0x7f9ce378, 0xffffffff, E500MC, PPCNONE, {0}},
11261 +
11262 +{"mr", XRC(31,444,0), X_MASK, COM, PPCNONE, {RA, RS, RBS}},
11263 +{"or", XRC(31,444,0), X_MASK, COM, PPCNONE, {RA, RS, RB}},
11264 +{"mr.", XRC(31,444,1), X_MASK, COM, PPCNONE, {RA, RS, RBS}},
11265 +{"or.", XRC(31,444,1), X_MASK, COM, PPCNONE, {RA, RS, RB}},
11266 +
11267 +{"mtexisr", XSPR(31,451, 64), XSPR_MASK, PPC403, PPCNONE, {RS}},
11268 +{"mtexier", XSPR(31,451, 66), XSPR_MASK, PPC403, PPCNONE, {RS}},
11269 +{"mtbr0", XSPR(31,451,128), XSPR_MASK, PPC403, PPCNONE, {RS}},
11270 +{"mtbr1", XSPR(31,451,129), XSPR_MASK, PPC403, PPCNONE, {RS}},
11271 +{"mtbr2", XSPR(31,451,130), XSPR_MASK, PPC403, PPCNONE, {RS}},
11272 +{"mtbr3", XSPR(31,451,131), XSPR_MASK, PPC403, PPCNONE, {RS}},
11273 +{"mtbr4", XSPR(31,451,132), XSPR_MASK, PPC403, PPCNONE, {RS}},
11274 +{"mtbr5", XSPR(31,451,133), XSPR_MASK, PPC403, PPCNONE, {RS}},
11275 +{"mtbr6", XSPR(31,451,134), XSPR_MASK, PPC403, PPCNONE, {RS}},
11276 +{"mtbr7", XSPR(31,451,135), XSPR_MASK, PPC403, PPCNONE, {RS}},
11277 +{"mtbear", XSPR(31,451,144), XSPR_MASK, PPC403, PPCNONE, {RS}},
11278 +{"mtbesr", XSPR(31,451,145), XSPR_MASK, PPC403, PPCNONE, {RS}},
11279 +{"mtiocr", XSPR(31,451,160), XSPR_MASK, PPC403, PPCNONE, {RS}},
11280 +{"mtdmacr0", XSPR(31,451,192), XSPR_MASK, PPC403, PPCNONE, {RS}},
11281 +{"mtdmact0", XSPR(31,451,193), XSPR_MASK, PPC403, PPCNONE, {RS}},
11282 +{"mtdmada0", XSPR(31,451,194), XSPR_MASK, PPC403, PPCNONE, {RS}},
11283 +{"mtdmasa0", XSPR(31,451,195), XSPR_MASK, PPC403, PPCNONE, {RS}},
11284 +{"mtdmacc0", XSPR(31,451,196), XSPR_MASK, PPC403, PPCNONE, {RS}},
11285 +{"mtdmacr1", XSPR(31,451,200), XSPR_MASK, PPC403, PPCNONE, {RS}},
11286 +{"mtdmact1", XSPR(31,451,201), XSPR_MASK, PPC403, PPCNONE, {RS}},
11287 +{"mtdmada1", XSPR(31,451,202), XSPR_MASK, PPC403, PPCNONE, {RS}},
11288 +{"mtdmasa1", XSPR(31,451,203), XSPR_MASK, PPC403, PPCNONE, {RS}},
11289 +{"mtdmacc1", XSPR(31,451,204), XSPR_MASK, PPC403, PPCNONE, {RS}},
11290 +{"mtdmacr2", XSPR(31,451,208), XSPR_MASK, PPC403, PPCNONE, {RS}},
11291 +{"mtdmact2", XSPR(31,451,209), XSPR_MASK, PPC403, PPCNONE, {RS}},
11292 +{"mtdmada2", XSPR(31,451,210), XSPR_MASK, PPC403, PPCNONE, {RS}},
11293 +{"mtdmasa2", XSPR(31,451,211), XSPR_MASK, PPC403, PPCNONE, {RS}},
11294 +{"mtdmacc2", XSPR(31,451,212), XSPR_MASK, PPC403, PPCNONE, {RS}},
11295 +{"mtdmacr3", XSPR(31,451,216), XSPR_MASK, PPC403, PPCNONE, {RS}},
11296 +{"mtdmact3", XSPR(31,451,217), XSPR_MASK, PPC403, PPCNONE, {RS}},
11297 +{"mtdmada3", XSPR(31,451,218), XSPR_MASK, PPC403, PPCNONE, {RS}},
11298 +{"mtdmasa3", XSPR(31,451,219), XSPR_MASK, PPC403, PPCNONE, {RS}},
11299 +{"mtdmacc3", XSPR(31,451,220), XSPR_MASK, PPC403, PPCNONE, {RS}},
11300 +{"mtdmasr", XSPR(31,451,224), XSPR_MASK, PPC403, PPCNONE, {RS}},
11301 +{"mtdcr", X(31,451), X_MASK, PPC403|BOOKE, PPCNONE, {SPR, RS}},
11302 +
11303 +{"dccci", X(31,454), XRT_MASK, PPC403|PPC440, PPCNONE, {RA, RB}},
11304 +
11305 +{"divdu", XO(31,457,0,0), XO_MASK, PPC64, PPCNONE, {RT, RA, RB}},
11306 +{"divdu.", XO(31,457,0,1), XO_MASK, PPC64, PPCNONE, {RT, RA, RB}},
11307 +
11308 +{"divwu", XO(31,459,0,0), XO_MASK, PPC, PPCNONE, {RT, RA, RB}},
11309 +{"divwu.", XO(31,459,0,1), XO_MASK, PPC, PPCNONE, {RT, RA, RB}},
11310 +
11311 +{"mtpmr", X(31,462), X_MASK, PPCPMR|PPCE300, PPCNONE, {PMR, RS}},
11312 +
11313 +{"mtmq", XSPR(31,467, 0), XSPR_MASK, M601, PPCNONE, {RS}},
11314 +{"mtxer", XSPR(31,467, 1), XSPR_MASK, COM, PPCNONE, {RS}},
11315 +{"mtlr", XSPR(31,467, 8), XSPR_MASK, COM, PPCNONE, {RS}},
11316 +{"mtctr", XSPR(31,467, 9), XSPR_MASK, COM, PPCNONE, {RS}},
11317 +{"mttid", XSPR(31,467, 17), XSPR_MASK, POWER, PPCNONE, {RS}},
11318 +{"mtdsisr", XSPR(31,467, 18), XSPR_MASK, COM, PPCNONE, {RS}},
11319 +{"mtdar", XSPR(31,467, 19), XSPR_MASK, COM, PPCNONE, {RS}},
11320 +{"mtrtcu", XSPR(31,467, 20), XSPR_MASK, COM, PPCNONE, {RS}},
11321 +{"mtrtcl", XSPR(31,467, 21), XSPR_MASK, COM, PPCNONE, {RS}},
11322 +{"mtdec", XSPR(31,467, 22), XSPR_MASK, COM, PPCNONE, {RS}},
11323 +{"mtsdr0", XSPR(31,467, 24), XSPR_MASK, POWER, PPCNONE, {RS}},
11324 +{"mtsdr1", XSPR(31,467, 25), XSPR_MASK, COM, PPCNONE, {RS}},
11325 +{"mtsrr0", XSPR(31,467, 26), XSPR_MASK, COM, PPCNONE, {RS}},
11326 +{"mtsrr1", XSPR(31,467, 27), XSPR_MASK, COM, PPCNONE, {RS}},
11327 +{"mtcfar", XSPR(31,467, 28), XSPR_MASK, POWER6, PPCNONE, {RS}},
11328 +{"mtpid", XSPR(31,467, 48), XSPR_MASK, BOOKE, PPCNONE, {RS}},
11329 +{"mtdecar", XSPR(31,467, 54), XSPR_MASK, BOOKE, PPCNONE, {RS}},
11330 +{"mtcsrr0", XSPR(31,467, 58), XSPR_MASK, BOOKE, PPCNONE, {RS}},
11331 +{"mtcsrr1", XSPR(31,467, 59), XSPR_MASK, BOOKE, PPCNONE, {RS}},
11332 +{"mtdear", XSPR(31,467, 61), XSPR_MASK, BOOKE, PPCNONE, {RS}},
11333 +{"mtesr", XSPR(31,467, 62), XSPR_MASK, BOOKE, PPCNONE, {RS}},
11334 +{"mtivpr", XSPR(31,467, 63), XSPR_MASK, BOOKE, PPCNONE, {RS}},
11335 +{"mtcmpa", XSPR(31,467,144), XSPR_MASK, PPC860, PPCNONE, {RS}},
11336 +{"mtcmpb", XSPR(31,467,145), XSPR_MASK, PPC860, PPCNONE, {RS}},
11337 +{"mtcmpc", XSPR(31,467,146), XSPR_MASK, PPC860, PPCNONE, {RS}},
11338 +{"mtcmpd", XSPR(31,467,147), XSPR_MASK, PPC860, PPCNONE, {RS}},
11339 +{"mticr", XSPR(31,467,148), XSPR_MASK, PPC860, PPCNONE, {RS}},
11340 +{"mtder", XSPR(31,467,149), XSPR_MASK, PPC860, PPCNONE, {RS}},
11341 +{"mtcounta", XSPR(31,467,150), XSPR_MASK, PPC860, PPCNONE, {RS}},
11342 +{"mtcountb", XSPR(31,467,151), XSPR_MASK, PPC860, PPCNONE, {RS}},
11343 +{"mtcmpe", XSPR(31,467,152), XSPR_MASK, PPC860, PPCNONE, {RS}},
11344 +{"mtcmpf", XSPR(31,467,153), XSPR_MASK, PPC860, PPCNONE, {RS}},
11345 +{"mtcmpg", XSPR(31,467,154), XSPR_MASK, PPC860, PPCNONE, {RS}},
11346 +{"mtcmph", XSPR(31,467,155), XSPR_MASK, PPC860, PPCNONE, {RS}},
11347 +{"mtlctrl1", XSPR(31,467,156), XSPR_MASK, PPC860, PPCNONE, {RS}},
11348 +{"mtlctrl2", XSPR(31,467,157), XSPR_MASK, PPC860, PPCNONE, {RS}},
11349 +{"mtictrl", XSPR(31,467,158), XSPR_MASK, PPC860, PPCNONE, {RS}},
11350 +{"mtbar", XSPR(31,467,159), XSPR_MASK, PPC860, PPCNONE, {RS}},
11351 +{"mtvrsave", XSPR(31,467,256), XSPR_MASK, PPCVEC, PPCNONE, {RS}},
11352 +{"mtusprg0", XSPR(31,467,256), XSPR_MASK, BOOKE, PPCNONE, {RS}},
11353 +{"mtsprg", XSPR(31,467,256), XSPRG_MASK,PPC, PPCNONE, {SPRG, RS}},
11354 +{"mtsprg0", XSPR(31,467,272), XSPR_MASK, PPC, PPCNONE, {RS}},
11355 +{"mtsprg1", XSPR(31,467,273), XSPR_MASK, PPC, PPCNONE, {RS}},
11356 +{"mtsprg2", XSPR(31,467,274), XSPR_MASK, PPC, PPCNONE, {RS}},
11357 +{"mtsprg3", XSPR(31,467,275), XSPR_MASK, PPC, PPCNONE, {RS}},
11358 +{"mtsprg4", XSPR(31,467,276), XSPR_MASK, PPC405|BOOKE, PPCNONE, {RS}},
11359 +{"mtsprg5", XSPR(31,467,277), XSPR_MASK, PPC405|BOOKE, PPCNONE, {RS}},
11360 +{"mtsprg6", XSPR(31,467,278), XSPR_MASK, PPC405|BOOKE, PPCNONE, {RS}},
11361 +{"mtsprg7", XSPR(31,467,279), XSPR_MASK, PPC405|BOOKE, PPCNONE, {RS}},
11362 +{"mtasr", XSPR(31,467,280), XSPR_MASK, PPC64, PPCNONE, {RS}},
11363 +{"mtear", XSPR(31,467,282), XSPR_MASK, PPC, PPCNONE, {RS}},
11364 +{"mttbl", XSPR(31,467,284), XSPR_MASK, PPC, PPCNONE, {RS}},
11365 +{"mttbu", XSPR(31,467,285), XSPR_MASK, PPC, PPCNONE, {RS}},
11366 +{"mtdbsr", XSPR(31,467,304), XSPR_MASK, BOOKE, PPCNONE, {RS}},
11367 +{"mtdbcr0", XSPR(31,467,308), XSPR_MASK, BOOKE, PPCNONE, {RS}},
11368 +{"mtdbcr1", XSPR(31,467,309), XSPR_MASK, BOOKE, PPCNONE, {RS}},
11369 +{"mtdbcr2", XSPR(31,467,310), XSPR_MASK, BOOKE, PPCNONE, {RS}},
11370 +{"mtiac1", XSPR(31,467,312), XSPR_MASK, BOOKE, PPCNONE, {RS}},
11371 +{"mtiac2", XSPR(31,467,313), XSPR_MASK, BOOKE, PPCNONE, {RS}},
11372 +{"mtiac3", XSPR(31,467,314), XSPR_MASK, BOOKE, PPCNONE, {RS}},
11373 +{"mtiac4", XSPR(31,467,315), XSPR_MASK, BOOKE, PPCNONE, {RS}},
11374 +{"mtdac1", XSPR(31,467,316), XSPR_MASK, BOOKE, PPCNONE, {RS}},
11375 +{"mtdac2", XSPR(31,467,317), XSPR_MASK, BOOKE, PPCNONE, {RS}},
11376 +{"mtdvc1", XSPR(31,467,318), XSPR_MASK, BOOKE, PPCNONE, {RS}},
11377 +{"mtdvc2", XSPR(31,467,319), XSPR_MASK, BOOKE, PPCNONE, {RS}},
11378 +{"mttsr", XSPR(31,467,336), XSPR_MASK, BOOKE, PPCNONE, {RS}},
11379 +{"mttcr", XSPR(31,467,340), XSPR_MASK, BOOKE, PPCNONE, {RS}},
11380 +{"mtivor0", XSPR(31,467,400), XSPR_MASK, BOOKE, PPCNONE, {RS}},
11381 +{"mtivor1", XSPR(31,467,401), XSPR_MASK, BOOKE, PPCNONE, {RS}},
11382 +{"mtivor2", XSPR(31,467,402), XSPR_MASK, BOOKE, PPCNONE, {RS}},
11383 +{"mtivor3", XSPR(31,467,403), XSPR_MASK, BOOKE, PPCNONE, {RS}},
11384 +{"mtivor4", XSPR(31,467,404), XSPR_MASK, BOOKE, PPCNONE, {RS}},
11385 +{"mtivor5", XSPR(31,467,405), XSPR_MASK, BOOKE, PPCNONE, {RS}},
11386 +{"mtivor6", XSPR(31,467,406), XSPR_MASK, BOOKE, PPCNONE, {RS}},
11387 +{"mtivor7", XSPR(31,467,407), XSPR_MASK, BOOKE, PPCNONE, {RS}},
11388 +{"mtivor8", XSPR(31,467,408), XSPR_MASK, BOOKE, PPCNONE, {RS}},
11389 +{"mtivor9", XSPR(31,467,409), XSPR_MASK, BOOKE, PPCNONE, {RS}},
11390 +{"mtivor10", XSPR(31,467,410), XSPR_MASK, BOOKE, PPCNONE, {RS}},
11391 +{"mtivor11", XSPR(31,467,411), XSPR_MASK, BOOKE, PPCNONE, {RS}},
11392 +{"mtivor12", XSPR(31,467,412), XSPR_MASK, BOOKE, PPCNONE, {RS}},
11393 +{"mtivor13", XSPR(31,467,413), XSPR_MASK, BOOKE, PPCNONE, {RS}},
11394 +{"mtivor14", XSPR(31,467,414), XSPR_MASK, BOOKE, PPCNONE, {RS}},
11395 +{"mtivor15", XSPR(31,467,415), XSPR_MASK, BOOKE, PPCNONE, {RS}},
11396 +{"mtspefscr", XSPR(31,467,512), XSPR_MASK, PPCSPE, PPCNONE, {RS}},
11397 +{"mtbbear", XSPR(31,467,513), XSPR_MASK, PPCBRLK, PPCNONE, {RS}},
11398 +{"mtbbtar", XSPR(31,467,514), XSPR_MASK, PPCBRLK, PPCNONE, {RS}},
11399 +{"mtivor32", XSPR(31,467,528), XSPR_MASK, PPCSPE, PPCNONE, {RS}},
11400 +{"mtibatu", XSPR(31,467,528), XSPRBAT_MASK, PPC, PPCNONE, {SPRBAT, RS}},
11401 +{"mtivor33", XSPR(31,467,529), XSPR_MASK, PPCSPE, PPCNONE, {RS}},
11402 +{"mtibatl", XSPR(31,467,529), XSPRBAT_MASK, PPC, PPCNONE, {SPRBAT, RS}},
11403 +{"mtivor34", XSPR(31,467,530), XSPR_MASK, PPCSPE, PPCNONE, {RS}},
11404 +{"mtivor35", XSPR(31,467,531), XSPR_MASK, PPCPMR, PPCNONE, {RS}},
11405 +{"mtdbatu", XSPR(31,467,536), XSPRBAT_MASK, PPC, PPCNONE, {SPRBAT, RS}},
11406 +{"mtdbatl", XSPR(31,467,537), XSPRBAT_MASK, PPC, PPCNONE, {SPRBAT, RS}},
11407 +{"mtmcsrr0", XSPR(31,467,570), XSPR_MASK, PPCRFMCI, PPCNONE, {RS}},
11408 +{"mtmcsrr1", XSPR(31,467,571), XSPR_MASK, PPCRFMCI, PPCNONE, {RS}},
11409 +{"mtmcsr", XSPR(31,467,572), XSPR_MASK, PPCRFMCI, PPCNONE, {RS}},
11410 +{"mtummcr0", XSPR(31,467,936), XSPR_MASK, PPC750, PPCNONE, {RS}},
11411 +{"mtupmc1", XSPR(31,467,937), XSPR_MASK, PPC750, PPCNONE, {RS}},
11412 +{"mtupmc2", XSPR(31,467,938), XSPR_MASK, PPC750, PPCNONE, {RS}},
11413 +{"mtusia", XSPR(31,467,939), XSPR_MASK, PPC750, PPCNONE, {RS}},
11414 +{"mtummcr1", XSPR(31,467,940), XSPR_MASK, PPC750, PPCNONE, {RS}},
11415 +{"mtupmc3", XSPR(31,467,941), XSPR_MASK, PPC750, PPCNONE, {RS}},
11416 +{"mtupmc4", XSPR(31,467,942), XSPR_MASK, PPC750, PPCNONE, {RS}},
11417 +{"mtzpr", XSPR(31,467,944), XSPR_MASK, PPC403, PPCNONE, {RS}},
11418 +{"mtpid", XSPR(31,467,945), XSPR_MASK, PPC403, PPCNONE, {RS}},
11419 +{"mtccr0", XSPR(31,467,947), XSPR_MASK, PPC405, PPCNONE, {RS}},
11420 +{"mtiac3", XSPR(31,467,948), XSPR_MASK, PPC405, PPCNONE, {RS}},
11421 +{"mtiac4", XSPR(31,467,949), XSPR_MASK, PPC405, PPCNONE, {RS}},
11422 +{"mtdvc1", XSPR(31,467,950), XSPR_MASK, PPC405, PPCNONE, {RS}},
11423 +{"mtdvc2", XSPR(31,467,951), XSPR_MASK, PPC405, PPCNONE, {RS}},
11424 +{"mtmmcr0", XSPR(31,467,952), XSPR_MASK, PPC750, PPCNONE, {RS}},
11425 +{"mtpmc1", XSPR(31,467,953), XSPR_MASK, PPC750, PPCNONE, {RS}},
11426 +{"mtsgr", XSPR(31,467,953), XSPR_MASK, PPC403, PPCNONE, {RS}},
11427 +{"mtdcwr", XSPR(31,467,954), XSPR_MASK, PPC403, PPCNONE, {RS}},
11428 +{"mtpmc2", XSPR(31,467,954), XSPR_MASK, PPC750, PPCNONE, {RS}},
11429 +{"mtsia", XSPR(31,467,955), XSPR_MASK, PPC750, PPCNONE, {RS}},
11430 +{"mtsler", XSPR(31,467,955), XSPR_MASK, PPC405, PPCNONE, {RS}},
11431 +{"mtmmcr1", XSPR(31,467,956), XSPR_MASK, PPC750, PPCNONE, {RS}},
11432 +{"mtsu0r", XSPR(31,467,956), XSPR_MASK, PPC405, PPCNONE, {RS}},
11433 +{"mtdbcr1", XSPR(31,467,957), XSPR_MASK, PPC405, PPCNONE, {RS}},
11434 +{"mtpmc3", XSPR(31,467,957), XSPR_MASK, PPC750, PPCNONE, {RS}},
11435 +{"mtpmc4", XSPR(31,467,958), XSPR_MASK, PPC750, PPCNONE, {RS}},
11436 +{"mticdbdr", XSPR(31,467,979), XSPR_MASK, PPC403, PPCNONE, {RS}},
11437 +{"mtesr", XSPR(31,467,980), XSPR_MASK, PPC403, PPCNONE, {RS}},
11438 +{"mtdear", XSPR(31,467,981), XSPR_MASK, PPC403, PPCNONE, {RS}},
11439 +{"mtevpr", XSPR(31,467,982), XSPR_MASK, PPC403, PPCNONE, {RS}},
11440 +{"mtcdbcr", XSPR(31,467,983), XSPR_MASK, PPC403, PPCNONE, {RS}},
11441 +{"mttsr", XSPR(31,467,984), XSPR_MASK, PPC403, PPCNONE, {RS}},
11442 +{"mttcr", XSPR(31,467,986), XSPR_MASK, PPC403, PPCNONE, {RS}},
11443 +{"mtpit", XSPR(31,467,987), XSPR_MASK, PPC403, PPCNONE, {RS}},
11444 +{"mttbhi", XSPR(31,467,988), XSPR_MASK, PPC403, PPCNONE, {RS}},
11445 +{"mttblo", XSPR(31,467,989), XSPR_MASK, PPC403, PPCNONE, {RS}},
11446 +{"mtsrr2", XSPR(31,467,990), XSPR_MASK, PPC403, PPCNONE, {RS}},
11447 +{"mtsrr3", XSPR(31,467,991), XSPR_MASK, PPC403, PPCNONE, {RS}},
11448 +{"mtdbsr", XSPR(31,467,1008), XSPR_MASK, PPC403, PPCNONE, {RS}},
11449 +{"mtdbcr0", XSPR(31,467,1010), XSPR_MASK, PPC405, PPCNONE, {RS}},
11450 +{"mtiac1", XSPR(31,467,1012), XSPR_MASK, PPC403, PPCNONE, {RS}},
11451 +{"mtiac2", XSPR(31,467,1013), XSPR_MASK, PPC403, PPCNONE, {RS}},
11452 +{"mtdac1", XSPR(31,467,1014), XSPR_MASK, PPC403, PPCNONE, {RS}},
11453 +{"mtdac2", XSPR(31,467,1015), XSPR_MASK, PPC403, PPCNONE, {RS}},
11454 +{"mtl2cr", XSPR(31,467,1017), XSPR_MASK, PPC750, PPCNONE, {RS}},
11455 +{"mtdccr", XSPR(31,467,1018), XSPR_MASK, PPC403, PPCNONE, {RS}},
11456 +{"mticcr", XSPR(31,467,1019), XSPR_MASK, PPC403, PPCNONE, {RS}},
11457 +{"mtictc", XSPR(31,467,1019), XSPR_MASK, PPC750, PPCNONE, {RS}},
11458 +{"mtpbl1", XSPR(31,467,1020), XSPR_MASK, PPC403, PPCNONE, {RS}},
11459 +{"mtthrm1", XSPR(31,467,1020), XSPR_MASK, PPC750, PPCNONE, {RS}},
11460 +{"mtpbu1", XSPR(31,467,1021), XSPR_MASK, PPC403, PPCNONE, {RS}},
11461 +{"mtthrm2", XSPR(31,467,1021), XSPR_MASK, PPC750, PPCNONE, {RS}},
11462 +{"mtpbl2", XSPR(31,467,1022), XSPR_MASK, PPC403, PPCNONE, {RS}},
11463 +{"mtthrm3", XSPR(31,467,1022), XSPR_MASK, PPC750, PPCNONE, {RS}},
11464 +{"mtpbu2", XSPR(31,467,1023), XSPR_MASK, PPC403, PPCNONE, {RS}},
11465 +{"mtspr", X(31,467), X_MASK, COM, PPCNONE, {SPR, RS}},
11466 +
11467 +{"dcbi", X(31,470), XRT_MASK, PPC, PPCNONE, {RA, RB}},
11468 +
11469 +{"nand", XRC(31,476,0), X_MASK, COM, PPCNONE, {RA, RS, RB}},
11470 +{"nand.", XRC(31,476,1), X_MASK, COM, PPCNONE, {RA, RS, RB}},
11471 +
11472 +{"dsn", X(31,483), XRT_MASK, E500MC, PPCNONE, {RA, RB}},
11473 +
11474 +{"dcread", X(31,486), X_MASK, PPC403|PPC440, PPCNONE, {RT, RA, RB}},
11475 +
11476 +{"icbtls", X(31,486), X_MASK, PPCCHLK, PPCNONE, {CT, RA, RB}},
11477 +
11478 +{"stvxl", X(31,487), X_MASK, PPCVEC, PPCNONE, {VS, RA, RB}},
11479 +
11480 +{"nabs", XO(31,488,0,0), XORB_MASK, M601, PPCNONE, {RT, RA}},
11481 +{"nabs.", XO(31,488,0,1), XORB_MASK, M601, PPCNONE, {RT, RA}},
11482 +
11483 +{"divd", XO(31,489,0,0), XO_MASK, PPC64, PPCNONE, {RT, RA, RB}},
11484 +{"divd.", XO(31,489,0,1), XO_MASK, PPC64, PPCNONE, {RT, RA, RB}},
11485 +
11486 +{"divw", XO(31,491,0,0), XO_MASK, PPC, PPCNONE, {RT, RA, RB}},
11487 +{"divw.", XO(31,491,0,1), XO_MASK, PPC, PPCNONE, {RT, RA, RB}},
11488 +
11489 +{"icbtlse", X(31,494), X_MASK, PPCCHLK, PPCNONE, {CT, RA, RB}},
11490 +
11491 +{"slbia", X(31,498), 0xffffffff, PPC64, PPCNONE, {0}},
11492 +
11493 +{"cli", X(31,502), XRB_MASK, POWER, PPCNONE, {RT, RA}},
11494 +
11495 +{"popcntd", X(31,506), XRB_MASK, POWER7, PPCNONE, {RA, RS}},
11496 +
11497 +{"cmpb", X(31,508), X_MASK, POWER6, PPCNONE, {RA, RS, RB}},
11498 +
11499 +{"mcrxr", X(31,512), XRARB_MASK|(3<<21), COM, POWER7, {BF}},
11500 +
11501 +{"lbdx", X(31,515), X_MASK, E500MC, PPCNONE, {RT, RA, RB}},
11502 +
11503 +{"bblels", X(31,518), X_MASK, PPCBRLK, PPCNONE, {0}},
11504 +
11505 +{"lvlx", X(31,519), X_MASK, CELL, PPCNONE, {VD, RA0, RB}},
11506 +{"lbfcmux", APU(31,519,0), APU_MASK, PPC405, PPCNONE, {FCRT, RA, RB}},
11507 +
11508 +{"subfco", XO(31,8,1,0), XO_MASK, PPCCOM, PPCNONE, {RT, RA, RB}},
11509 +{"sfo", XO(31,8,1,0), XO_MASK, PWRCOM, PPCNONE, {RT, RA, RB}},
11510 +{"subco", XO(31,8,1,0), XO_MASK, PPC, PPCNONE, {RT, RB, RA}},
11511 +{"subfco.", XO(31,8,1,1), XO_MASK, PPCCOM, PPCNONE, {RT, RA, RB}},
11512 +{"sfo.", XO(31,8,1,1), XO_MASK, PWRCOM, PPCNONE, {RT, RA, RB}},
11513 +{"subco.", XO(31,8,1,1), XO_MASK, PPC, PPCNONE, {RT, RB, RA}},
11514 +
11515 +{"addco", XO(31,10,1,0), XO_MASK, PPCCOM, PPCNONE, {RT, RA, RB}},
11516 +{"ao", XO(31,10,1,0), XO_MASK, PWRCOM, PPCNONE, {RT, RA, RB}},
11517 +{"addco.", XO(31,10,1,1), XO_MASK, PPCCOM, PPCNONE, {RT, RA, RB}},
11518 +{"ao.", XO(31,10,1,1), XO_MASK, PWRCOM, PPCNONE, {RT, RA, RB}},
11519 +
11520 +{"clcs", X(31,531), XRB_MASK, M601, PPCNONE, {RT, RA}},
11521 +
11522 +{"ldbrx", X(31,532), X_MASK, CELL|POWER7, PPCNONE, {RT, RA0, RB}},
11523 +
11524 +{"lswx", X(31,533), X_MASK, PPCCOM, PPCNONE, {RT, RA0, RB}},
11525 +{"lsx", X(31,533), X_MASK, PWRCOM, PPCNONE, {RT, RA, RB}},
11526 +
11527 +{"lwbrx", X(31,534), X_MASK, PPCCOM, PPCNONE, {RT, RA0, RB}},
11528 +{"lbrx", X(31,534), X_MASK, PWRCOM, PPCNONE, {RT, RA, RB}},
11529 +
11530 +{"lfsx", X(31,535), X_MASK, COM, PPCNONE, {FRT, RA0, RB}},
11531 +
11532 +{"srw", XRC(31,536,0), X_MASK, PPCCOM, PPCNONE, {RA, RS, RB}},
11533 +{"sr", XRC(31,536,0), X_MASK, PWRCOM, PPCNONE, {RA, RS, RB}},
11534 +{"srw.", XRC(31,536,1), X_MASK, PPCCOM, PPCNONE, {RA, RS, RB}},
11535 +{"sr.", XRC(31,536,1), X_MASK, PWRCOM, PPCNONE, {RA, RS, RB}},
11536 +
11537 +{"rrib", XRC(31,537,0), X_MASK, M601, PPCNONE, {RA, RS, RB}},
11538 +{"rrib.", XRC(31,537,1), X_MASK, M601, PPCNONE, {RA, RS, RB}},
11539 +
11540 +{"srd", XRC(31,539,0), X_MASK, PPC64, PPCNONE, {RA, RS, RB}},
11541 +{"srd.", XRC(31,539,1), X_MASK, PPC64, PPCNONE, {RA, RS, RB}},
11542 +
11543 +{"maskir", XRC(31,541,0), X_MASK, M601, PPCNONE, {RA, RS, RB}},
11544 +{"maskir.", XRC(31,541,1), X_MASK, M601, PPCNONE, {RA, RS, RB}},
11545 +
11546 +{"lhdx", X(31,547), X_MASK, E500MC, PPCNONE, {RT, RA, RB}},
11547 +
11548 +{"bbelr", X(31,550), X_MASK, PPCBRLK, PPCNONE, {0}},
11549 +
11550 +{"lvrx", X(31,551), X_MASK, CELL, PPCNONE, {VD, RA0, RB}},
11551 +{"lhfcmux", APU(31,551,0), APU_MASK, PPC405, PPCNONE, {FCRT, RA, RB}},
11552 +
11553 +{"subfo", XO(31,40,1,0), XO_MASK, PPC, PPCNONE, {RT, RA, RB}},
11554 +{"subo", XO(31,40,1,0), XO_MASK, PPC, PPCNONE, {RT, RB, RA}},
11555 +{"subfo.", XO(31,40,1,1), XO_MASK, PPC, PPCNONE, {RT, RA, RB}},
11556 +{"subo.", XO(31,40,1,1), XO_MASK, PPC, PPCNONE, {RT, RB, RA}},
11557 +
11558 +{"tlbsync", X(31,566), 0xffffffff, PPC, PPCNONE, {0}},
11559 +
11560 +{"lfsux", X(31,567), X_MASK, COM, PPCNONE, {FRT, RAS, RB}},
11561 +
11562 +{"lwdx", X(31,579), X_MASK, E500MC, PPCNONE, {RT, RA, RB}},
11563 +
11564 +{"lwfcmux", APU(31,583,0), APU_MASK, PPC405, PPCNONE, {FCRT, RA, RB}},
11565 +
11566 +{"lxsdx", X(31,588), XX1_MASK, PPCVSX, PPCNONE, {XT6, RA, RB}},
11567 +
11568 +{"mfsr", X(31,595), XRB_MASK|(1<<20), COM32, PPCNONE, {RT, SR}},
11569 +
11570 +{"lswi", X(31,597), X_MASK, PPCCOM, PPCNONE, {RT, RA0, NB}},
11571 +{"lsi", X(31,597), X_MASK, PWRCOM, PPCNONE, {RT, RA0, NB}},
11572 +
11573 +{"msync", X(31,598), 0xffffffff, BOOKE, PPCNONE, {0}},
11574 +{"lwsync", XSYNC(31,598,1), 0xffffffff, PPC, PPCNONE, {0}},
11575 +{"ptesync", XSYNC(31,598,2), 0xffffffff, PPC64, PPCNONE, {0}},
11576 +{"sync", X(31,598), XSYNC_MASK, PPCCOM, PPCNONE, {LS}},
11577 +{"dcs", X(31,598), 0xffffffff, PWRCOM, PPCNONE, {0}},
11578 +
11579 +{"lfdx", X(31,599), X_MASK, COM, PPCNONE, {FRT, RA0, RB}},
11580 +
11581 +{"lfdepx", X(31,607), X_MASK, E500MC, PPCNONE, {FRT, RA, RB}},
11582 +{"mffgpr", XRC(31,607,0), XRA_MASK, POWER6, POWER7, {FRT, RB}},
11583 +
11584 +{"lddx", X(31,611), X_MASK, E500MC, PPCNONE, {RT, RA, RB}},
11585 +
11586 +{"lqfcmux", APU(31,615,0), APU_MASK, PPC405, PPCNONE, {FCRT, RA, RB}},
11587 +
11588 +{"nego", XO(31,104,1,0), XORB_MASK, COM, PPCNONE, {RT, RA}},
11589 +{"nego.", XO(31,104,1,1), XORB_MASK, COM, PPCNONE, {RT, RA}},
11590 +
11591 +{"mulo", XO(31,107,1,0), XO_MASK, M601, PPCNONE, {RT, RA, RB}},
11592 +{"mulo.", XO(31,107,1,1), XO_MASK, M601, PPCNONE, {RT, RA, RB}},
11593 +
11594 +{"lxsdux", X(31,620), XX1_MASK, PPCVSX, PPCNONE, {XT6, RA, RB}},
11595 +
11596 +{"mfsri", X(31,627), X_MASK, PWRCOM, PPCNONE, {RT, RA, RB}},
11597 +
11598 +{"dclst", X(31,630), XRB_MASK, PWRCOM, PPCNONE, {RS, RA}},
11599 +
11600 +{"lfdux", X(31,631), X_MASK, COM, PPCNONE, {FRT, RAS, RB}},
11601 +
11602 +{"stbdx", X(31,643), X_MASK, E500MC, PPCNONE, {RS, RA, RB}},
11603 +
11604 +{"stvlx", X(31,647), X_MASK, CELL, PPCNONE, {VS, RA0, RB}},
11605 +{"stbfcmux", APU(31,647,0), APU_MASK, PPC405, PPCNONE, {FCRT, RA, RB}},
11606 +
11607 +{"subfeo", XO(31,136,1,0), XO_MASK, PPCCOM, PPCNONE, {RT, RA, RB}},
11608 +{"sfeo", XO(31,136,1,0), XO_MASK, PWRCOM, PPCNONE, {RT, RA, RB}},
11609 +{"subfeo.", XO(31,136,1,1), XO_MASK, PPCCOM, PPCNONE, {RT, RA, RB}},
11610 +{"sfeo.", XO(31,136,1,1), XO_MASK, PWRCOM, PPCNONE, {RT, RA, RB}},
11611 +
11612 +{"addeo", XO(31,138,1,0), XO_MASK, PPCCOM, PPCNONE, {RT, RA, RB}},
11613 +{"aeo", XO(31,138,1,0), XO_MASK, PWRCOM, PPCNONE, {RT, RA, RB}},
11614 +{"addeo.", XO(31,138,1,1), XO_MASK, PPCCOM, PPCNONE, {RT, RA, RB}},
11615 +{"aeo.", XO(31,138,1,1), XO_MASK, PWRCOM, PPCNONE, {RT, RA, RB}},
11616 +
11617 +{"mfsrin", X(31,659), XRA_MASK, PPC32, PPCNONE, {RT, RB}},
11618 +
11619 +{"stdbrx", X(31,660), X_MASK, CELL|POWER7, PPCNONE, {RS, RA0, RB}},
11620 +
11621 +{"stswx", X(31,661), X_MASK, PPCCOM, PPCNONE, {RS, RA0, RB}},
11622 +{"stsx", X(31,661), X_MASK, PWRCOM, PPCNONE, {RS, RA0, RB}},
11623 +
11624 +{"stwbrx", X(31,662), X_MASK, PPCCOM, PPCNONE, {RS, RA0, RB}},
11625 +{"stbrx", X(31,662), X_MASK, PWRCOM, PPCNONE, {RS, RA0, RB}},
11626 +
11627 +{"stfsx", X(31,663), X_MASK, COM, PPCNONE, {FRS, RA0, RB}},
11628 +
11629 +{"srq", XRC(31,664,0), X_MASK, M601, PPCNONE, {RA, RS, RB}},
11630 +{"srq.", XRC(31,664,1), X_MASK, M601, PPCNONE, {RA, RS, RB}},
11631 +
11632 +{"sre", XRC(31,665,0), X_MASK, M601, PPCNONE, {RA, RS, RB}},
11633 +{"sre.", XRC(31,665,1), X_MASK, M601, PPCNONE, {RA, RS, RB}},
11634 +
11635 +{"sthdx", X(31,675), X_MASK, E500MC, PPCNONE, {RS, RA, RB}},
11636 +
11637 +{"stvrx", X(31,679), X_MASK, CELL, PPCNONE, {VS, RA0, RB}},
11638 +{"sthfcmux", APU(31,679,0), APU_MASK, PPC405, PPCNONE, {FCRT, RA, RB}},
11639 +
11640 +{"stbcx.", XRC(31,694,1), X_MASK, POWER7, PPCNONE, {RS, RA0, RB}},
11641 +
11642 +{"stfsux", X(31,695), X_MASK, COM, PPCNONE, {FRS, RAS, RB}},
11643 +
11644 +{"sriq", XRC(31,696,0), X_MASK, M601, PPCNONE, {RA, RS, SH}},
11645 +{"sriq.", XRC(31,696,1), X_MASK, M601, PPCNONE, {RA, RS, SH}},
11646 +
11647 +{"stwdx", X(31,707), X_MASK, E500MC, PPCNONE, {RS, RA, RB}},
11648 +
11649 +{"stwfcmux", APU(31,711,0), APU_MASK, PPC405, PPCNONE, {FCRT, RA, RB}},
11650 +
11651 +{"stxsdx", X(31,716), XX1_MASK, PPCVSX, PPCNONE, {XS6, RA, RB}},
11652 +
11653 +{"subfzeo", XO(31,200,1,0), XORB_MASK, PPCCOM, PPCNONE, {RT, RA}},
11654 +{"sfzeo", XO(31,200,1,0), XORB_MASK, PWRCOM, PPCNONE, {RT, RA}},
11655 +{"subfzeo.", XO(31,200,1,1), XORB_MASK, PPCCOM, PPCNONE, {RT, RA}},
11656 +{"sfzeo.", XO(31,200,1,1), XORB_MASK, PWRCOM, PPCNONE, {RT, RA}},
11657 +
11658 +{"addzeo", XO(31,202,1,0), XORB_MASK, PPCCOM, PPCNONE, {RT, RA}},
11659 +{"azeo", XO(31,202,1,0), XORB_MASK, PWRCOM, PPCNONE, {RT, RA}},
11660 +{"addzeo.", XO(31,202,1,1), XORB_MASK, PPCCOM, PPCNONE, {RT, RA}},
11661 +{"azeo.", XO(31,202,1,1), XORB_MASK, PWRCOM, PPCNONE, {RT, RA}},
11662 +
11663 +{"stswi", X(31,725), X_MASK, PPCCOM, PPCNONE, {RS, RA0, NB}},
11664 +{"stsi", X(31,725), X_MASK, PWRCOM, PPCNONE, {RS, RA0, NB}},
11665 +
11666 +{"sthcx.", XRC(31,726,1), X_MASK, POWER7, PPCNONE, {RS, RA0, RB}},
11667 +
11668 +{"stfdx", X(31,727), X_MASK, COM, PPCNONE, {FRS, RA0, RB}},
11669 +
11670 +{"srlq", XRC(31,728,0), X_MASK, M601, PPCNONE, {RA, RS, RB}},
11671 +{"srlq.", XRC(31,728,1), X_MASK, M601, PPCNONE, {RA, RS, RB}},
11672 +
11673 +{"sreq", XRC(31,729,0), X_MASK, M601, PPCNONE, {RA, RS, RB}},
11674 +{"sreq.", XRC(31,729,1), X_MASK, M601, PPCNONE, {RA, RS, RB}},
11675 +
11676 +{"stfdepx", X(31,735), X_MASK, E500MC, PPCNONE, {FRS, RA, RB}},
11677 +{"mftgpr", XRC(31,735,0), XRA_MASK, POWER6, POWER7, {RT, FRB}},
11678 +
11679 +{"stddx", X(31,739), X_MASK, E500MC, PPCNONE, {RS, RA, RB}},
11680 +
11681 +{"stqfcmux", APU(31,743,0), APU_MASK, PPC405, PPCNONE, {FCRT, RA, RB}},
11682 +
11683 +{"stxsdux", X(31,748), XX1_MASK, PPCVSX, PPCNONE, {XS6, RA, RB}},
11684 +
11685 +{"subfmeo", XO(31,232,1,0), XORB_MASK, PPCCOM, PPCNONE, {RT, RA}},
11686 +{"sfmeo", XO(31,232,1,0), XORB_MASK, PWRCOM, PPCNONE, {RT, RA}},
11687 +{"subfmeo.", XO(31,232,1,1), XORB_MASK, PPCCOM, PPCNONE, {RT, RA}},
11688 +{"sfmeo.", XO(31,232,1,1), XORB_MASK, PWRCOM, PPCNONE, {RT, RA}},
11689 +
11690 +{"mulldo", XO(31,233,1,0), XO_MASK, PPC64, PPCNONE, {RT, RA, RB}},
11691 +{"mulldo.", XO(31,233,1,1), XO_MASK, PPC64, PPCNONE, {RT, RA, RB}},
11692 +
11693 +{"addmeo", XO(31,234,1,0), XORB_MASK, PPCCOM, PPCNONE, {RT, RA}},
11694 +{"ameo", XO(31,234,1,0), XORB_MASK, PWRCOM, PPCNONE, {RT, RA}},
11695 +{"addmeo.", XO(31,234,1,1), XORB_MASK, PPCCOM, PPCNONE, {RT, RA}},
11696 +{"ameo.", XO(31,234,1,1), XORB_MASK, PWRCOM, PPCNONE, {RT, RA}},
11697 +
11698 +{"mullwo", XO(31,235,1,0), XO_MASK, PPCCOM, PPCNONE, {RT, RA, RB}},
11699 +{"mulso", XO(31,235,1,0), XO_MASK, PWRCOM, PPCNONE, {RT, RA, RB}},
11700 +{"mullwo.", XO(31,235,1,1), XO_MASK, PPCCOM, PPCNONE, {RT, RA, RB}},
11701 +{"mulso.", XO(31,235,1,1), XO_MASK, PWRCOM, PPCNONE, {RT, RA, RB}},
11702 +
11703 +{"dcba", X(31,758), XRT_MASK, PPC405|PPC7450|BOOKE, PPCNONE, {RA, RB}},
11704 +{"dcbal", XOPL(31,758,1), XRT_MASK, E500MC, PPCNONE, {RA, RB}},
11705 +
11706 +{"stfdux", X(31,759), X_MASK, COM, PPCNONE, {FRS, RAS, RB}},
11707 +
11708 +{"srliq", XRC(31,760,0), X_MASK, M601, PPCNONE, {RA, RS, SH}},
11709 +{"srliq.", XRC(31,760,1), X_MASK, M601, PPCNONE, {RA, RS, SH}},
11710 +
11711 +{"lvlxl", X(31,775), X_MASK, CELL, PPCNONE, {VD, RA0, RB}},
11712 +{"ldfcmux", APU(31,775,0), APU_MASK, PPC405, PPCNONE, {FCRT, RA, RB}},
11713 +
11714 +{"dozo", XO(31,264,1,0), XO_MASK, M601, PPCNONE, {RT, RA, RB}},
11715 +{"dozo.", XO(31,264,1,1), XO_MASK, M601, PPCNONE, {RT, RA, RB}},
11716 +
11717 +{"addo", XO(31,266,1,0), XO_MASK, PPCCOM, PPCNONE, {RT, RA, RB}},
11718 +{"caxo", XO(31,266,1,0), XO_MASK, PWRCOM, PPCNONE, {RT, RA, RB}},
11719 +{"addo.", XO(31,266,1,1), XO_MASK, PPCCOM, PPCNONE, {RT, RA, RB}},
11720 +{"caxo.", XO(31,266,1,1), XO_MASK, PWRCOM, PPCNONE, {RT, RA, RB}},
11721 +
11722 +{"lxvw4x", X(31,780), XX1_MASK, PPCVSX, PPCNONE, {XT6, RA, RB}},
11723 +
11724 +{"tlbivax", X(31,786), XRT_MASK, BOOKE, PPCNONE, {RA, RB}},
11725 +{"tlbilx", X(31,787), X_MASK, E500MC, PPCNONE, {T, RA0, RB}},
11726 +{"tlbilxlpid", XTO(31,787,0), XTO_MASK, E500MC, PPCNONE, {0}},
11727 +{"tlbilxpid", XTO(31,787,1), XTO_MASK, E500MC, PPCNONE, {0}},
11728 +{"tlbilxva", XTO(31,787,3), XTO_MASK, E500MC, PPCNONE, {RA0, RB}},
11729 +
11730 +{"lwzcix", X(31,789), X_MASK, POWER6, PPCNONE, {RT, RA0, RB}},
11731 +
11732 +{"lhbrx", X(31,790), X_MASK, COM, PPCNONE, {RT, RA0, RB}},
11733 +
11734 +{"lfdpx", X(31,791), X_MASK, POWER6, POWER7, {FRT, RA, RB}},
11735 +{"lfqx", X(31,791), X_MASK, POWER2, PPCNONE, {FRT, RA, RB}},
11736 +
11737 +{"sraw", XRC(31,792,0), X_MASK, PPCCOM, PPCNONE, {RA, RS, RB}},
11738 +{"sra", XRC(31,792,0), X_MASK, PWRCOM, PPCNONE, {RA, RS, RB}},
11739 +{"sraw.", XRC(31,792,1), X_MASK, PPCCOM, PPCNONE, {RA, RS, RB}},
11740 +{"sra.", XRC(31,792,1), X_MASK, PWRCOM, PPCNONE, {RA, RS, RB}},
11741 +
11742 +{"srad", XRC(31,794,0), X_MASK, PPC64, PPCNONE, {RA, RS, RB}},
11743 +{"srad.", XRC(31,794,1), X_MASK, PPC64, PPCNONE, {RA, RS, RB}},
11744 +
11745 +{"lfddx", X(31,803), X_MASK, E500MC, PPCNONE, {FRT, RA, RB}},
11746 +
11747 +{"lvrxl", X(31,807), X_MASK, CELL, PPCNONE, {VD, RA0, RB}},
11748 +
11749 +{"lxvw4ux", X(31,812), XX1_MASK, PPCVSX, PPCNONE, {XT6, RA, RB}},
11750 +
11751 +{"rac", X(31,818), X_MASK, PWRCOM, PPCNONE, {RT, RA, RB}},
11752 +
11753 +{"lhzcix", X(31,821), X_MASK, POWER6, PPCNONE, {RT, RA0, RB}},
11754 +
11755 +{"dss", XDSS(31,822,0), XDSS_MASK, PPCVEC, PPCNONE, {STRM}},
11756 +
11757 +{"lfqux", X(31,823), X_MASK, POWER2, PPCNONE, {FRT, RA, RB}},
11758 +
11759 +{"srawi", XRC(31,824,0), X_MASK, PPCCOM, PPCNONE, {RA, RS, SH}},
11760 +{"srai", XRC(31,824,0), X_MASK, PWRCOM, PPCNONE, {RA, RS, SH}},
11761 +{"srawi.", XRC(31,824,1), X_MASK, PPCCOM, PPCNONE, {RA, RS, SH}},
11762 +{"srai.", XRC(31,824,1), X_MASK, PWRCOM, PPCNONE, {RA, RS, SH}},
11763 +
11764 +{"sradi", XS(31,413,0), XS_MASK, PPC64, PPCNONE, {RA, RS, SH6}},
11765 +{"sradi.", XS(31,413,1), XS_MASK, PPC64, PPCNONE, {RA, RS, SH6}},
11766 +
11767 +{"divo", XO(31,331,1,0), XO_MASK, M601, PPCNONE, {RT, RA, RB}},
11768 +{"divo.", XO(31,331,1,1), XO_MASK, M601, PPCNONE, {RT, RA, RB}},
11769 +
11770 +{"lxvd2x", X(31,844), XX1_MASK, PPCVSX, PPCNONE, {XT6, RA, RB}},
11771 +
11772 +{"slbmfev", X(31,851), XRA_MASK, PPC64, PPCNONE, {RT, RB}},
11773 +
11774 +{"lbzcix", X(31,853), X_MASK, POWER6, PPCNONE, {RT, RA0, RB}},
11775 +
11776 +{"mbar", X(31,854), X_MASK, BOOKE, PPCNONE, {MO}},
11777 +{"eieio", X(31,854), 0xffffffff, PPC, PPCNONE, {0}},
11778 +
11779 +{"lfiwax", X(31,855), X_MASK, POWER6, PPCNONE, {FRT, RA0, RB}},
11780 +
11781 +{"abso", XO(31,360,1,0), XORB_MASK, M601, PPCNONE, {RT, RA}},
11782 +{"abso.", XO(31,360,1,1), XORB_MASK, M601, PPCNONE, {RT, RA}},
11783 +
11784 +{"divso", XO(31,363,1,0), XO_MASK, M601, PPCNONE, {RT, RA, RB}},
11785 +{"divso.", XO(31,363,1,1), XO_MASK, M601, PPCNONE, {RT, RA, RB}},
11786 +
11787 +{"lxvd2ux", X(31,876), XX1_MASK, PPCVSX, PPCNONE, {XT6, RA, RB}},
11788 +
11789 +{"ldcix", X(31,885), X_MASK, POWER6, PPCNONE, {RT, RA0, RB}},
11790 +
11791 +{"lfiwzx", X(31,887), X_MASK, POWER7, PPCNONE, {FRT, RA0, RB}},
11792 +
11793 +{"stvlxl", X(31,903), X_MASK, CELL, PPCNONE, {VS, RA0, RB}},
11794 +{"stdfcmux", APU(31,903,0), APU_MASK, PPC405, PPCNONE, {FCRT, RA, RB}},
11795 +
11796 +{"divdeuo", XO(31,393,1,0), XO_MASK, POWER7, PPCNONE, {RT, RA, RB}},
11797 +{"divdeuo.", XO(31,393,1,1), XO_MASK, POWER7, PPCNONE, {RT, RA, RB}},
11798 +{"divweuo", XO(31,395,1,0), XO_MASK, POWER7, PPCNONE, {RT, RA, RB}},
11799 +{"divweuo.", XO(31,395,1,1), XO_MASK, POWER7, PPCNONE, {RT, RA, RB}},
11800 +
11801 +{"stxvw4x", X(31,908), XX1_MASK, PPCVSX, PPCNONE, {XS6, RA, RB}},
11802 +
11803 +{"tlbsx", XRC(31,914,0), X_MASK, PPC403|BOOKE, PPCNONE, {RTO, RA, RB}},
11804 +{"tlbsx.", XRC(31,914,1), X_MASK, PPC403|BOOKE, PPCNONE, {RTO, RA, RB}},
11805 +
11806 +{"slbmfee", X(31,915), XRA_MASK, PPC64, PPCNONE, {RT, RB}},
11807 +
11808 +{"stwcix", X(31,917), X_MASK, POWER6, PPCNONE, {RS, RA0, RB}},
11809 +
11810 +{"sthbrx", X(31,918), X_MASK, COM, PPCNONE, {RS, RA0, RB}},
11811 +
11812 +{"stfdpx", X(31,919), X_MASK, POWER6, PPCNONE, {FRS, RA, RB}},
11813 +{"stfqx", X(31,919), X_MASK, POWER2, PPCNONE, {FRS, RA, RB}},
11814 +
11815 +{"sraq", XRC(31,920,0), X_MASK, M601, PPCNONE, {RA, RS, RB}},
11816 +{"sraq.", XRC(31,920,1), X_MASK, M601, PPCNONE, {RA, RS, RB}},
11817 +
11818 +{"srea", XRC(31,921,0), X_MASK, M601, PPCNONE, {RA, RS, RB}},
11819 +{"srea.", XRC(31,921,1), X_MASK, M601, PPCNONE, {RA, RS, RB}},
11820 +
11821 +{"extsh", XRC(31,922,0), XRB_MASK, PPCCOM, PPCNONE, {RA, RS}},
11822 +{"exts", XRC(31,922,0), XRB_MASK, PWRCOM, PPCNONE, {RA, RS}},
11823 +{"extsh.", XRC(31,922,1), XRB_MASK, PPCCOM, PPCNONE, {RA, RS}},
11824 +{"exts.", XRC(31,922,1), XRB_MASK, PWRCOM, PPCNONE, {RA, RS}},
11825 +
11826 +{"stfddx", X(31,931), X_MASK, E500MC, PPCNONE, {FRS, RA, RB}},
11827 +
11828 +{"stvrxl", X(31,935), X_MASK, CELL, PPCNONE, {VS, RA0, RB}},
11829 +
11830 +{"divdeo", XO(31,425,1,0), XO_MASK, POWER7, PPCNONE, {RT, RA, RB}},
11831 +{"divdeo.", XO(31,425,1,1), XO_MASK, POWER7, PPCNONE, {RT, RA, RB}},
11832 +{"divweo", XO(31,427,1,0), XO_MASK, POWER7, PPCNONE, {RT, RA, RB}},
11833 +{"divweo.", XO(31,427,1,1), XO_MASK, POWER7, PPCNONE, {RT, RA, RB}},
11834 +
11835 +{"stxvw4ux", X(31,940), XX1_MASK, PPCVSX, PPCNONE, {XS6, RA, RB}},
11836 +
11837 +{"tlbrehi", XTLB(31,946,0), XTLB_MASK, PPC403, PPCNONE, {RT, RA}},
11838 +{"tlbrelo", XTLB(31,946,1), XTLB_MASK, PPC403, PPCNONE, {RT, RA}},
11839 +{"tlbre", X(31,946), X_MASK, PPC403|BOOKE, PPCNONE, {RSO, RAOPT, SHO}},
11840 +
11841 +{"sthcix", X(31,949), X_MASK, POWER6, PPCNONE, {RS, RA0, RB}},
11842 +
11843 +{"stfqux", X(31,951), X_MASK, POWER2, PPCNONE, {FRS, RA, RB}},
11844 +
11845 +{"sraiq", XRC(31,952,0), X_MASK, M601, PPCNONE, {RA, RS, SH}},
11846 +{"sraiq.", XRC(31,952,1), X_MASK, M601, PPCNONE, {RA, RS, SH}},
11847 +
11848 +{"extsb", XRC(31,954,0), XRB_MASK, PPC, PPCNONE, {RA, RS}},
11849 +{"extsb.", XRC(31,954,1), XRB_MASK, PPC, PPCNONE, {RA, RS}},
11850 +
11851 +{"iccci", X(31,966), XRT_MASK, PPC403|PPC440, PPCNONE, {RA, RB}},
11852 +
11853 +{"divduo", XO(31,457,1,0), XO_MASK, PPC64, PPCNONE, {RT, RA, RB}},
11854 +{"divduo.", XO(31,457,1,1), XO_MASK, PPC64, PPCNONE, {RT, RA, RB}},
11855 +
11856 +{"divwuo", XO(31,459,1,0), XO_MASK, PPC, PPCNONE, {RT, RA, RB}},
11857 +{"divwuo.", XO(31,459,1,1), XO_MASK, PPC, PPCNONE, {RT, RA, RB}},
11858 +
11859 +{"stxvd2x", X(31,972), XX1_MASK, PPCVSX, PPCNONE, {XS6, RA, RB}},
11860 +
11861 +{"tlbwehi", XTLB(31,978,0), XTLB_MASK, PPC403, PPCNONE, {RT, RA}},
11862 +{"tlbwelo", XTLB(31,978,1), XTLB_MASK, PPC403, PPCNONE, {RT, RA}},
11863 +{"tlbwe", X(31,978), X_MASK, PPC403|BOOKE, PPCNONE, {RSO, RAOPT, SHO}},
11864 +{"tlbld", X(31,978), XRTRA_MASK, PPC, PPCNONE, {RB}},
11865 +
11866 +{"stbcix", X(31,981), X_MASK, POWER6, PPCNONE, {RS, RA0, RB}},
11867 +
11868 +{"icbi", X(31,982), XRT_MASK, PPC, PPCNONE, {RA, RB}},
11869 +
11870 +{"stfiwx", X(31,983), X_MASK, PPC, PPCNONE, {FRS, RA0, RB}},
11871 +
11872 +{"extsw", XRC(31,986,0), XRB_MASK, PPC64, PPCNONE, {RA, RS}},
11873 +{"extsw.", XRC(31,986,1), XRB_MASK, PPC64, PPCNONE, {RA, RS}},
11874 +
11875 +{"icbiep", XRT(31,991,0), XRT_MASK, E500MC, PPCNONE, {RA, RB}},
11876 +
11877 +{"icread", X(31,998), XRT_MASK, PPC403|PPC440, PPCNONE, {RA, RB}},
11878 +
11879 +{"nabso", XO(31,488,1,0), XORB_MASK, M601, PPCNONE, {RT, RA}},
11880 +{"nabso.", XO(31,488,1,1), XORB_MASK, M601, PPCNONE, {RT, RA}},
11881 +
11882 +{"divdo", XO(31,489,1,0), XO_MASK, PPC64, PPCNONE, {RT, RA, RB}},
11883 +{"divdo.", XO(31,489,1,1), XO_MASK, PPC64, PPCNONE, {RT, RA, RB}},
11884 +
11885 +{"divwo", XO(31,491,1,0), XO_MASK, PPC, PPCNONE, {RT, RA, RB}},
11886 +{"divwo.", XO(31,491,1,1), XO_MASK, PPC, PPCNONE, {RT, RA, RB}},
11887 +
11888 +{"stxvd2ux", X(31,1004), XX1_MASK, PPCVSX, PPCNONE, {XS6, RA, RB}},
11889 +
11890 +{"tlbli", X(31,1010), XRTRA_MASK, PPC, PPCNONE, {RB}},
11891 +
11892 +{"stdcix", X(31,1013), X_MASK, POWER6, PPCNONE, {RS, RA0, RB}},
11893 +
11894 +{"dcbz", X(31,1014), XRT_MASK, PPC, PPCNONE, {RA, RB}},
11895 +{"dclz", X(31,1014), XRT_MASK, PPC, PPCNONE, {RA, RB}},
11896 +
11897 +{"dcbzep", XRT(31,1023,0), XRT_MASK, E500MC, PPCNONE, {RA, RB}},
11898 +
11899 +{"dcbzl", XOPL(31,1014,1), XRT_MASK, POWER4, PPCNONE, {RA, RB}},
11900 +{"dcbzl", XOPL(31,1014,1), XRT_MASK, PPCCOM|E500MC,POWER4, {RA, RB}},
11901 +
11902 +{"cctpl", 0x7c210b78, 0xffffffff, CELL, PPCNONE, {0}},
11903 +{"cctpm", 0x7c421378, 0xffffffff, CELL, PPCNONE, {0}},
11904 +{"cctph", 0x7c631b78, 0xffffffff, CELL, PPCNONE, {0}},
11905 +
11906 +{"dstt", XDSS(31,342,1), XDSS_MASK, PPCVEC, PPCNONE, {RA, RB, STRM}},
11907 +{"dststt", XDSS(31,374,1), XDSS_MASK, PPCVEC, PPCNONE, {RA, RB, STRM}},
11908 +{"dssall", XDSS(31,822,1), XDSS_MASK, PPCVEC, PPCNONE, {0}},
11909 +
11910 +{"db8cyc", 0x7f9ce378, 0xffffffff, CELL, PPCNONE, {0}},
11911 +{"db10cyc", 0x7fbdeb78, 0xffffffff, CELL, PPCNONE, {0}},
11912 +{"db12cyc", 0x7fdef378, 0xffffffff, CELL, PPCNONE, {0}},
11913 +{"db16cyc", 0x7ffffb78, 0xffffffff, CELL, PPCNONE, {0}},
11914 +
11915 +{"lwz", OP(32), OP_MASK, PPCCOM, PPCNONE, {RT, D, RA0}},
11916 +{"l", OP(32), OP_MASK, PWRCOM, PPCNONE, {RT, D, RA0}},
11917 +
11918 +{"lwzu", OP(33), OP_MASK, PPCCOM, PPCNONE, {RT, D, RAL}},
11919 +{"lu", OP(33), OP_MASK, PWRCOM, PPCNONE, {RT, D, RA0}},
11920 +
11921 +{"lbz", OP(34), OP_MASK, COM, PPCNONE, {RT, D, RA0}},
11922 +
11923 +{"lbzu", OP(35), OP_MASK, COM, PPCNONE, {RT, D, RAL}},
11924 +
11925 +{"stw", OP(36), OP_MASK, PPCCOM, PPCNONE, {RS, D, RA0}},
11926 +{"st", OP(36), OP_MASK, PWRCOM, PPCNONE, {RS, D, RA0}},
11927 +
11928 +{"stwu", OP(37), OP_MASK, PPCCOM, PPCNONE, {RS, D, RAS}},
11929 +{"stu", OP(37), OP_MASK, PWRCOM, PPCNONE, {RS, D, RA0}},
11930 +
11931 +{"stb", OP(38), OP_MASK, COM, PPCNONE, {RS, D, RA0}},
11932 +
11933 +{"stbu", OP(39), OP_MASK, COM, PPCNONE, {RS, D, RAS}},
11934 +
11935 +{"lhz", OP(40), OP_MASK, COM, PPCNONE, {RT, D, RA0}},
11936 +
11937 +{"lhzu", OP(41), OP_MASK, COM, PPCNONE, {RT, D, RAL}},
11938 +
11939 +{"lha", OP(42), OP_MASK, COM, PPCNONE, {RT, D, RA0}},
11940 +
11941 +{"lhau", OP(43), OP_MASK, COM, PPCNONE, {RT, D, RAL}},
11942 +
11943 +{"sth", OP(44), OP_MASK, COM, PPCNONE, {RS, D, RA0}},
11944 +
11945 +{"sthu", OP(45), OP_MASK, COM, PPCNONE, {RS, D, RAS}},
11946 +
11947 +{"lmw", OP(46), OP_MASK, PPCCOM, PPCNONE, {RT, D, RAM}},
11948 +{"lm", OP(46), OP_MASK, PWRCOM, PPCNONE, {RT, D, RA0}},
11949 +
11950 +{"stmw", OP(47), OP_MASK, PPCCOM, PPCNONE, {RS, D, RA0}},
11951 +{"stm", OP(47), OP_MASK, PWRCOM, PPCNONE, {RS, D, RA0}},
11952 +
11953 +{"lfs", OP(48), OP_MASK, COM, PPCNONE, {FRT, D, RA0}},
11954 +
11955 +{"lfsu", OP(49), OP_MASK, COM, PPCNONE, {FRT, D, RAS}},
11956 +
11957 +{"lfd", OP(50), OP_MASK, COM, PPCNONE, {FRT, D, RA0}},
11958 +
11959 +{"lfdu", OP(51), OP_MASK, COM, PPCNONE, {FRT, D, RAS}},
11960 +
11961 +{"stfs", OP(52), OP_MASK, COM, PPCNONE, {FRS, D, RA0}},
11962 +
11963 +{"stfsu", OP(53), OP_MASK, COM, PPCNONE, {FRS, D, RAS}},
11964 +
11965 +{"stfd", OP(54), OP_MASK, COM, PPCNONE, {FRS, D, RA0}},
11966 +
11967 +{"stfdu", OP(55), OP_MASK, COM, PPCNONE, {FRS, D, RAS}},
11968 +
11969 +{"lq", OP(56), OP_MASK, POWER4, PPCNONE, {RTQ, DQ, RAQ}},
11970 +
11971 +{"lfq", OP(56), OP_MASK, POWER2, PPCNONE, {FRT, D, RA0}},
11972 +
11973 +{"psq_l", OP(56), OP_MASK, PPCPS, PPCNONE, {FRT,PSD,RA,PSW,PSQ}},
11974 +
11975 +{"lfdp", OP(57), OP_MASK, POWER6, POWER7, {FRT, D, RA0}},
11976 +
11977 +{"lfqu", OP(57), OP_MASK, POWER2, PPCNONE, {FRT, D, RA0}},
11978 +
11979 +{"psq_lu", OP(57), OP_MASK, PPCPS, PPCNONE, {FRT,PSD,RA,PSW,PSQ}},
11980 +
11981 +{"ld", DSO(58,0), DS_MASK, PPC64, PPCNONE, {RT, DS, RA0}},
11982 +{"ldu", DSO(58,1), DS_MASK, PPC64, PPCNONE, {RT, DS, RAL}},
11983 +{"lwa", DSO(58,2), DS_MASK, PPC64, PPCNONE, {RT, DS, RA0}},
11984 +
11985 +{"dadd", XRC(59,2,0), X_MASK, POWER6, PPCNONE, {FRT, FRA, FRB}},
11986 +{"dadd.", XRC(59,2,1), X_MASK, POWER6, PPCNONE, {FRT, FRA, FRB}},
11987 +
11988 +{"dqua", ZRC(59,3,0), Z2_MASK, POWER6, PPCNONE, {FRT,FRA,FRB,RMC}},
11989 +{"dqua.", ZRC(59,3,1), Z2_MASK, POWER6, PPCNONE, {FRT,FRA,FRB,RMC}},
11990 +
11991 +{"fdivs", A(59,18,0), AFRC_MASK, PPC, PPCNONE, {FRT, FRA, FRB}},
11992 +{"fdivs.", A(59,18,1), AFRC_MASK, PPC, PPCNONE, {FRT, FRA, FRB}},
11993 +
11994 +{"fsubs", A(59,20,0), AFRC_MASK, PPC, PPCNONE, {FRT, FRA, FRB}},
11995 +{"fsubs.", A(59,20,1), AFRC_MASK, PPC, PPCNONE, {FRT, FRA, FRB}},
11996 +
11997 +{"fadds", A(59,21,0), AFRC_MASK, PPC, PPCNONE, {FRT, FRA, FRB}},
11998 +{"fadds.", A(59,21,1), AFRC_MASK, PPC, PPCNONE, {FRT, FRA, FRB}},
11999 +
12000 +{"fsqrts", A(59,22,0), AFRAFRC_MASK, PPC, PPCNONE, {FRT, FRB}},
12001 +{"fsqrts.", A(59,22,1), AFRAFRC_MASK, PPC, PPCNONE, {FRT, FRB}},
12002 +
12003 +{"fres", A(59,24,0), AFRALFRC_MASK, PPC, POWER7, {FRT, FRB, A_L}},
12004 +{"fres.", A(59,24,1), AFRALFRC_MASK, PPC, POWER7, {FRT, FRB, A_L}},
12005 +{"fres", A(59,24,0), AFRAFRC_MASK, POWER7, PPCNONE, {FRT, FRB}},
12006 +{"fres.", A(59,24,1), AFRAFRC_MASK, POWER7, PPCNONE, {FRT, FRB}},
12007 +
12008 +{"fmuls", A(59,25,0), AFRB_MASK, PPC, PPCNONE, {FRT, FRA, FRC}},
12009 +{"fmuls.", A(59,25,1), AFRB_MASK, PPC, PPCNONE, {FRT, FRA, FRC}},
12010 +
12011 +{"frsqrtes", A(59,26,0), AFRALFRC_MASK, POWER5, POWER7, {FRT, FRB, A_L}},
12012 +{"frsqrtes.", A(59,26,1), AFRALFRC_MASK, POWER5, POWER7, {FRT, FRB, A_L}},
12013 +{"frsqrtes", A(59,26,0), AFRAFRC_MASK, POWER7, PPCNONE, {FRT, FRB}},
12014 +{"frsqrtes.", A(59,26,1), AFRAFRC_MASK, POWER7, PPCNONE, {FRT, FRB}},
12015 +
12016 +{"fmsubs", A(59,28,0), A_MASK, PPC, PPCNONE, {FRT, FRA, FRC, FRB}},
12017 +{"fmsubs.", A(59,28,1), A_MASK, PPC, PPCNONE, {FRT, FRA, FRC, FRB}},
12018 +
12019 +{"fmadds", A(59,29,0), A_MASK, PPC, PPCNONE, {FRT, FRA, FRC, FRB}},
12020 +{"fmadds.", A(59,29,1), A_MASK, PPC, PPCNONE, {FRT, FRA, FRC, FRB}},
12021 +
12022 +{"fnmsubs", A(59,30,0), A_MASK, PPC, PPCNONE, {FRT, FRA, FRC, FRB}},
12023 +{"fnmsubs.", A(59,30,1), A_MASK, PPC, PPCNONE, {FRT, FRA, FRC, FRB}},
12024 +
12025 +{"fnmadds", A(59,31,0), A_MASK, PPC, PPCNONE, {FRT, FRA, FRC, FRB}},
12026 +{"fnmadds.", A(59,31,1), A_MASK, PPC, PPCNONE, {FRT, FRA, FRC, FRB}},
12027 +
12028 +{"dmul", XRC(59,34,0), X_MASK, POWER6, PPCNONE, {FRT, FRA, FRB}},
12029 +{"dmul.", XRC(59,34,1), X_MASK, POWER6, PPCNONE, {FRT, FRA, FRB}},
12030 +
12031 +{"drrnd", ZRC(59,35,0), Z2_MASK, POWER6, PPCNONE, {FRT, FRA, FRB, RMC}},
12032 +{"drrnd.", ZRC(59,35,1), Z2_MASK, POWER6, PPCNONE, {FRT, FRA, FRB, RMC}},
12033 +
12034 +{"dscli", ZRC(59,66,0), Z_MASK, POWER6, PPCNONE, {FRT, FRA, SH16}},
12035 +{"dscli.", ZRC(59,66,1), Z_MASK, POWER6, PPCNONE, {FRT, FRA, SH16}},
12036 +
12037 +{"dquai", ZRC(59,67,0), Z2_MASK, POWER6, PPCNONE, {TE, FRT,FRB,RMC}},
12038 +{"dquai.", ZRC(59,67,1), Z2_MASK, POWER6, PPCNONE, {TE, FRT,FRB,RMC}},
12039 +
12040 +{"dscri", ZRC(59,98,0), Z_MASK, POWER6, PPCNONE, {FRT, FRA, SH16}},
12041 +{"dscri.", ZRC(59,98,1), Z_MASK, POWER6, PPCNONE, {FRT, FRA, SH16}},
12042 +
12043 +{"drintx", ZRC(59,99,0), Z2_MASK, POWER6, PPCNONE, {R, FRT, FRB, RMC}},
12044 +{"drintx.", ZRC(59,99,1), Z2_MASK, POWER6, PPCNONE, {R, FRT, FRB, RMC}},
12045 +
12046 +{"dcmpo", X(59,130), X_MASK, POWER6, PPCNONE, {BF, FRA, FRB}},
12047 +
12048 +{"dtstex", X(59,162), X_MASK, POWER6, PPCNONE, {BF, FRA, FRB}},
12049 +{"dtstdc", Z(59,194), Z_MASK, POWER6, PPCNONE, {BF, FRA, DCM}},
12050 +{"dtstdg", Z(59,226), Z_MASK, POWER6, PPCNONE, {BF, FRA, DGM}},
12051 +
12052 +{"drintn", ZRC(59,227,0), Z2_MASK, POWER6, PPCNONE, {R, FRT, FRB, RMC}},
12053 +{"drintn.", ZRC(59,227,1), Z2_MASK, POWER6, PPCNONE, {R, FRT, FRB, RMC}},
12054 +
12055 +{"dctdp", XRC(59,258,0), X_MASK, POWER6, PPCNONE, {FRT, FRB}},
12056 +{"dctdp.", XRC(59,258,1), X_MASK, POWER6, PPCNONE, {FRT, FRB}},
12057 +
12058 +{"dctfix", XRC(59,290,0), X_MASK, POWER6, PPCNONE, {FRT, FRB}},
12059 +{"dctfix.", XRC(59,290,1), X_MASK, POWER6, PPCNONE, {FRT, FRB}},
12060 +
12061 +{"ddedpd", XRC(59,322,0), X_MASK, POWER6, PPCNONE, {SP, FRT, FRB}},
12062 +{"ddedpd.", XRC(59,322,1), X_MASK, POWER6, PPCNONE, {SP, FRT, FRB}},
12063 +
12064 +{"dxex", XRC(59,354,0), X_MASK, POWER6, PPCNONE, {FRT, FRB}},
12065 +{"dxex.", XRC(59,354,1), X_MASK, POWER6, PPCNONE, {FRT, FRB}},
12066 +
12067 +{"dsub", XRC(59,514,0), X_MASK, POWER6, PPCNONE, {FRT, FRA, FRB}},
12068 +{"dsub.", XRC(59,514,1), X_MASK, POWER6, PPCNONE, {FRT, FRA, FRB}},
12069 +
12070 +{"ddiv", XRC(59,546,0), X_MASK, POWER6, PPCNONE, {FRT, FRA, FRB}},
12071 +{"ddiv.", XRC(59,546,1), X_MASK, POWER6, PPCNONE, {FRT, FRA, FRB}},
12072 +
12073 +{"dcmpu", X(59,642), X_MASK, POWER6, PPCNONE, {BF, FRA, FRB}},
12074 +
12075 +{"dtstsf", X(59,674), X_MASK, POWER6, PPCNONE, {BF, FRA, FRB}},
12076 +
12077 +{"drsp", XRC(59,770,0), X_MASK, POWER6, PPCNONE, {FRT, FRB}},
12078 +{"drsp.", XRC(59,770,1), X_MASK, POWER6, PPCNONE, {FRT, FRB}},
12079 +
12080 +{"dcffix", XRC(59,802,0), X_MASK|FRA_MASK, POWER7, PPCNONE, {FRT, FRB}},
12081 +{"dcffix.", XRC(59,802,1), X_MASK|FRA_MASK, POWER7, PPCNONE, {FRT, FRB}},
12082 +
12083 +{"denbcd", XRC(59,834,0), X_MASK, POWER6, PPCNONE, {S, FRT, FRB}},
12084 +{"denbcd.", XRC(59,834,1), X_MASK, POWER6, PPCNONE, {S, FRT, FRB}},
12085 +
12086 +{"fcfids", XRC(59,846,0), XRA_MASK, POWER7, PPCNONE, {FRT, FRB}},
12087 +{"fcfids.", XRC(59,846,1), XRA_MASK, POWER7, PPCNONE, {FRT, FRB}},
12088 +
12089 +{"diex", XRC(59,866,0), X_MASK, POWER6, PPCNONE, {FRT, FRA, FRB}},
12090 +{"diex.", XRC(59,866,1), X_MASK, POWER6, PPCNONE, {FRT, FRA, FRB}},
12091 +
12092 +{"fcfidus", XRC(59,974,0), XRA_MASK, POWER7, PPCNONE, {FRT, FRB}},
12093 +{"fcfidus.", XRC(59,974,1), XRA_MASK, POWER7, PPCNONE, {FRT, FRB}},
12094 +
12095 +{"xxsldwi", XX3(60,2), XX3SHW_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6, SHW}},
12096 +{"xxsel", XX4(60,3), XX4_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6, XC6}},
12097 +{"xxspltd", XX3(60,10), XX3DM_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6S, DMEX}},
12098 +{"xxmrghd", XX3(60,10), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12099 +{"xxswapd", XX3(60,10)|(2<<8), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6S}},
12100 +{"xxmrgld", XX3(60,10)|(3<<8), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12101 +{"xxpermdi", XX3(60,10), XX3DM_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6, DM}},
12102 +{"xxmrghw", XX3(60,18), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12103 +{"xsadddp", XX3(60,32), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12104 +{"xsmaddadp", XX3(60,33), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12105 +{"xscmpudp", XX3(60,35), XX3BF_MASK, PPCVSX, PPCNONE, {BF, XA6, XB6}},
12106 +{"xssubdp", XX3(60,40), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12107 +{"xsmaddmdp", XX3(60,41), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12108 +{"xscmpodp", XX3(60,43), XX3BF_MASK, PPCVSX, PPCNONE, {BF, XA6, XB6}},
12109 +{"xsmuldp", XX3(60,48), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12110 +{"xsmsubadp", XX3(60,49), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12111 +{"xxmrglw", XX3(60,50), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12112 +{"xsdivdp", XX3(60,56), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12113 +{"xsmsubmdp", XX3(60,57), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12114 +{"xstdivdp", XX3(60,61), XX3BF_MASK, PPCVSX, PPCNONE, {BF, XA6, XB6}},
12115 +{"xvaddsp", XX3(60,64), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12116 +{"xvmaddasp", XX3(60,65), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12117 +{"xvcmpeqsp", XX3RC(60,67,0), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12118 +{"xvcmpeqsp.", XX3RC(60,67,1), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12119 +{"xvsubsp", XX3(60,72), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12120 +{"xscvdpuxws", XX2(60,72), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12121 +{"xvmaddmsp", XX3(60,73), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12122 +{"xsrdpi", XX2(60,73), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12123 +{"xsrsqrtedp", XX2(60,74), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12124 +{"xssqrtdp", XX2(60,75), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12125 +{"xvcmpgtsp", XX3RC(60,75,0), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12126 +{"xvcmpgtsp.", XX3RC(60,75,1), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12127 +{"xvmulsp", XX3(60,80), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12128 +{"xvmsubasp", XX3(60,81), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12129 +{"xvcmpgesp", XX3RC(60,83,0), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12130 +{"xvcmpgesp.", XX3RC(60,83,1), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12131 +{"xvdivsp", XX3(60,88), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12132 +{"xscvdpsxws", XX2(60,88), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12133 +{"xvmsubmsp", XX3(60,89), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12134 +{"xsrdpiz", XX2(60,89), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12135 +{"xsredp", XX2(60,90), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12136 +{"xvtdivsp", XX3(60,93), XX3BF_MASK, PPCVSX, PPCNONE, {BF, XA6, XB6}},
12137 +{"xvadddp", XX3(60,96), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12138 +{"xvmaddadp", XX3(60,97), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12139 +{"xvcmpeqdp", XX3RC(60,99,0), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12140 +{"xvcmpeqdp.", XX3RC(60,99,1), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12141 +{"xvsubdp", XX3(60,104), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12142 +{"xvmaddmdp", XX3(60,105), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12143 +{"xsrdpip", XX2(60,105), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12144 +{"xstsqrtdp", XX2(60,106), XX2BF_MASK, PPCVSX, PPCNONE, {BF, XB6}},
12145 +{"xsrdpic", XX2(60,107), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12146 +{"xvcmpgtdp", XX3RC(60,107,0), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12147 +{"xvcmpgtdp.", XX3RC(60,107,1), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12148 +{"xvmuldp", XX3(60,112), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12149 +{"xvmsubadp", XX3(60,113), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12150 +{"xvcmpgedp", XX3RC(60,115,0), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12151 +{"xvcmpgedp.", XX3RC(60,115,1), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12152 +{"xvdivdp", XX3(60,120), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12153 +{"xvmsubmdp", XX3(60,121), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12154 +{"xsrdpim", XX2(60,121), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12155 +{"xvtdivdp", XX3(60,125), XX3BF_MASK, PPCVSX, PPCNONE, {BF, XA6, XB6}},
12156 +{"xxland", XX3(60,130), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12157 +{"xvcvspuxws", XX2(60,136), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12158 +{"xvrspi", XX2(60,137), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12159 +{"xxlandc", XX3(60,138), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12160 +{"xvrsqrtesp", XX2(60,138), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12161 +{"xvsqrtsp", XX2(60,139), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12162 +{"xxlor", XX3(60,146), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12163 +{"xvcvspsxws", XX2(60,152), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12164 +{"xvrspiz", XX2(60,153), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12165 +{"xxlxor", XX3(60,154), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12166 +{"xvresp", XX2(60,154), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12167 +{"xsmaxdp", XX3(60,160), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12168 +{"xsnmaddadp", XX3(60,161), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12169 +{"xxlnor", XX3(60,162), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12170 +{"xxspltw", XX2(60,164), XX2UIM_MASK, PPCVSX, PPCNONE, {XT6, XB6, UIM}},
12171 +{"xsmindp", XX3(60,168), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12172 +{"xvcvuxwsp", XX2(60,168), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12173 +{"xsnmaddmdp", XX3(60,169), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12174 +{"xvrspip", XX2(60,169), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12175 +{"xvtsqrtsp", XX2(60,170), XX2BF_MASK, PPCVSX, PPCNONE, {BF, XB6}},
12176 +{"xvrspic", XX2(60,171), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12177 +{"xscpsgndp", XX3(60,176), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12178 +{"xsnmsubadp", XX3(60,177), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12179 +{"xvcvsxwsp", XX2(60,184), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12180 +{"xsnmsubmdp", XX3(60,185), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12181 +{"xvrspim", XX2(60,185), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12182 +{"xvmaxsp", XX3(60,192), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12183 +{"xvnmaddasp", XX3(60,193), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12184 +{"xvminsp", XX3(60,200), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12185 +{"xvcvdpuxws", XX2(60,200), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12186 +{"xvnmaddmsp", XX3(60,201), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12187 +{"xvrdpi", XX2(60,201), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12188 +{"xvrsqrtedp", XX2(60,202), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12189 +{"xvsqrtdp", XX2(60,203), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12190 +{"xvmovsp", XX3(60,208), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6S}},
12191 +{"xvcpsgnsp", XX3(60,208), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12192 +{"xvnmsubasp", XX3(60,209), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12193 +{"xvcvdpsxws", XX2(60,216), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12194 +{"xvnmsubmsp", XX3(60,217), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12195 +{"xvrdpiz", XX2(60,217), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12196 +{"xvredp", XX2(60,218), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12197 +{"xvmaxdp", XX3(60,224), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12198 +{"xvnmaddadp", XX3(60,225), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12199 +{"xvmindp", XX3(60,232), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12200 +{"xvnmaddmdp", XX3(60,233), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12201 +{"xvcvuxwdp", XX2(60,232), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12202 +{"xvrdpip", XX2(60,233), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12203 +{"xvtsqrtdp", XX2(60,234), XX2BF_MASK, PPCVSX, PPCNONE, {BF, XB6}},
12204 +{"xvrdpic", XX2(60,235), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12205 +{"xvmovdp", XX3(60,240), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6S}},
12206 +{"xvcpsgndp", XX3(60,240), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12207 +{"xvnmsubadp", XX3(60,241), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12208 +{"xvcvsxwdp", XX2(60,248), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12209 +{"xvnmsubmdp", XX3(60,249), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
12210 +{"xvrdpim", XX2(60,249), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12211 +{"xscvdpsp", XX2(60,265), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12212 +{"xscvdpuxds", XX2(60,328), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12213 +{"xscvspdp", XX2(60,329), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12214 +{"xscvdpsxds", XX2(60,344), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12215 +{"xsabsdp", XX2(60,345), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12216 +{"xscvuxddp", XX2(60,360), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12217 +{"xsnabsdp", XX2(60,361), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12218 +{"xscvsxddp", XX2(60,376), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12219 +{"xsnegdp", XX2(60,377), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12220 +{"xvcvspuxds", XX2(60,392), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12221 +{"xvcvdpsp", XX2(60,393), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12222 +{"xvcvspsxds", XX2(60,408), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12223 +{"xvabssp", XX2(60,409), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12224 +{"xvcvuxdsp", XX2(60,424), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12225 +{"xvnabssp", XX2(60,425), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12226 +{"xvcvsxdsp", XX2(60,440), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12227 +{"xvnegsp", XX2(60,441), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12228 +{"xvcvdpuxds", XX2(60,456), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12229 +{"xvcvspdp", XX2(60,457), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12230 +{"xvcvdpsxds", XX2(60,472), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12231 +{"xvabsdp", XX2(60,473), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12232 +{"xvcvuxddp", XX2(60,488), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12233 +{"xvnabsdp", XX2(60,489), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12234 +{"xvcvsxddp", XX2(60,504), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12235 +{"xvnegdp", XX2(60,505), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
12236 +
12237 +{"stfq", OP(60), OP_MASK, POWER2, PPCNONE, {FRS, D, RA}},
12238 +
12239 +{"psq_st", OP(60), OP_MASK, PPCPS, PPCNONE, {FRS,PSD,RA,PSW,PSQ}},
12240 +
12241 +{"stfdp", OP(61), OP_MASK, POWER6, PPCNONE, {FRT, D, RA0}},
12242 +
12243 +{"stfqu", OP(61), OP_MASK, POWER2, PPCNONE, {FRS, D, RA}},
12244 +
12245 +{"psq_stu", OP(61), OP_MASK, PPCPS, PPCNONE, {FRS,PSD,RA,PSW,PSQ}},
12246 +
12247 +{"std", DSO(62,0), DS_MASK, PPC64, PPCNONE, {RS, DS, RA0}},
12248 +{"stdu", DSO(62,1), DS_MASK, PPC64, PPCNONE, {RS, DS, RAS}},
12249 +{"stq", DSO(62,2), DS_MASK, POWER4, PPCNONE, {RSQ, DS, RA0}},
12250 +
12251 +{"fcmpu", X(63,0), X_MASK|(3<<21), COM, PPCNONE, {BF, FRA, FRB}},
12252 +
12253 +{"daddq", XRC(63,2,0), X_MASK, POWER6, PPCNONE, {FRT, FRA, FRB}},
12254 +{"daddq.", XRC(63,2,1), X_MASK, POWER6, PPCNONE, {FRT, FRA, FRB}},
12255 +
12256 +{"dquaq", ZRC(63,3,0), Z2_MASK, POWER6, PPCNONE, {FRT, FRA, FRB, RMC}},
12257 +{"dquaq.", ZRC(63,3,1), Z2_MASK, POWER6, PPCNONE, {FRT, FRA, FRB, RMC}},
12258 +
12259 +{"fcpsgn", XRC(63,8,0), X_MASK, POWER6, PPCNONE, {FRT, FRA, FRB}},
12260 +{"fcpsgn.", XRC(63,8,1), X_MASK, POWER6, PPCNONE, {FRT, FRA, FRB}},
12261 +
12262 +{"frsp", XRC(63,12,0), XRA_MASK, COM, PPCNONE, {FRT, FRB}},
12263 +{"frsp.", XRC(63,12,1), XRA_MASK, COM, PPCNONE, {FRT, FRB}},
12264 +
12265 +{"fctiw", XRC(63,14,0), XRA_MASK, PPCCOM, PPCNONE, {FRT, FRB}},
12266 +{"fcir", XRC(63,14,0), XRA_MASK, POWER2, PPCNONE, {FRT, FRB}},
12267 +{"fctiw.", XRC(63,14,1), XRA_MASK, PPCCOM, PPCNONE, {FRT, FRB}},
12268 +{"fcir.", XRC(63,14,1), XRA_MASK, POWER2, PPCNONE, {FRT, FRB}},
12269 +
12270 +{"fctiwz", XRC(63,15,0), XRA_MASK, PPCCOM, PPCNONE, {FRT, FRB}},
12271 +{"fcirz", XRC(63,15,0), XRA_MASK, POWER2, PPCNONE, {FRT, FRB}},
12272 +{"fctiwz.", XRC(63,15,1), XRA_MASK, PPCCOM, PPCNONE, {FRT, FRB}},
12273 +{"fcirz.", XRC(63,15,1), XRA_MASK, POWER2, PPCNONE, {FRT, FRB}},
12274 +
12275 +{"fdiv", A(63,18,0), AFRC_MASK, PPCCOM, PPCNONE, {FRT, FRA, FRB}},
12276 +{"fd", A(63,18,0), AFRC_MASK, PWRCOM, PPCNONE, {FRT, FRA, FRB}},
12277 +{"fdiv.", A(63,18,1), AFRC_MASK, PPCCOM, PPCNONE, {FRT, FRA, FRB}},
12278 +{"fd.", A(63,18,1), AFRC_MASK, PWRCOM, PPCNONE, {FRT, FRA, FRB}},
12279 +
12280 +{"fsub", A(63,20,0), AFRC_MASK, PPCCOM, PPCNONE, {FRT, FRA, FRB}},
12281 +{"fs", A(63,20,0), AFRC_MASK, PWRCOM, PPCNONE, {FRT, FRA, FRB}},
12282 +{"fsub.", A(63,20,1), AFRC_MASK, PPCCOM, PPCNONE, {FRT, FRA, FRB}},
12283 +{"fs.", A(63,20,1), AFRC_MASK, PWRCOM, PPCNONE, {FRT, FRA, FRB}},
12284 +
12285 +{"fadd", A(63,21,0), AFRC_MASK, PPCCOM, PPCNONE, {FRT, FRA, FRB}},
12286 +{"fa", A(63,21,0), AFRC_MASK, PWRCOM, PPCNONE, {FRT, FRA, FRB}},
12287 +{"fadd.", A(63,21,1), AFRC_MASK, PPCCOM, PPCNONE, {FRT, FRA, FRB}},
12288 +{"fa.", A(63,21,1), AFRC_MASK, PWRCOM, PPCNONE, {FRT, FRA, FRB}},
12289 +
12290 +{"fsqrt", A(63,22,0), AFRAFRC_MASK, PPCPWR2, PPCNONE, {FRT, FRB}},
12291 +{"fsqrt.", A(63,22,1), AFRAFRC_MASK, PPCPWR2, PPCNONE, {FRT, FRB}},
12292 +
12293 +{"fsel", A(63,23,0), A_MASK, PPC, PPCNONE, {FRT, FRA, FRC, FRB}},
12294 +{"fsel.", A(63,23,1), A_MASK, PPC, PPCNONE, {FRT, FRA, FRC, FRB}},
12295 +
12296 +{"fre", A(63,24,0), AFRALFRC_MASK, POWER5, POWER7, {FRT, FRB, A_L}},
12297 +{"fre.", A(63,24,1), AFRALFRC_MASK, POWER5, POWER7, {FRT, FRB, A_L}},
12298 +{"fre", A(63,24,0), AFRAFRC_MASK, POWER7, PPCNONE, {FRT, FRB}},
12299 +{"fre.", A(63,24,1), AFRAFRC_MASK, POWER7, PPCNONE, {FRT, FRB}},
12300 +
12301 +{"fmul", A(63,25,0), AFRB_MASK, PPCCOM, PPCNONE, {FRT, FRA, FRC}},
12302 +{"fm", A(63,25,0), AFRB_MASK, PWRCOM, PPCNONE, {FRT, FRA, FRC}},
12303 +{"fmul.", A(63,25,1), AFRB_MASK, PPCCOM, PPCNONE, {FRT, FRA, FRC}},
12304 +{"fm.", A(63,25,1), AFRB_MASK, PWRCOM, PPCNONE, {FRT, FRA, FRC}},
12305 +
12306 +{"frsqrte", A(63,26,0), AFRALFRC_MASK, PPC, POWER7, {FRT, FRB, A_L}},
12307 +{"frsqrte.", A(63,26,1), AFRALFRC_MASK, PPC, POWER7, {FRT, FRB, A_L}},
12308 +{"frsqrte", A(63,26,0), AFRAFRC_MASK, POWER7, PPCNONE, {FRT, FRB}},
12309 +{"frsqrte.", A(63,26,1), AFRAFRC_MASK, POWER7, PPCNONE, {FRT, FRB}},
12310 +
12311 +{"fmsub", A(63,28,0), A_MASK, PPCCOM, PPCNONE, {FRT, FRA, FRC, FRB}},
12312 +{"fms", A(63,28,0), A_MASK, PWRCOM, PPCNONE, {FRT, FRA, FRC, FRB}},
12313 +{"fmsub.", A(63,28,1), A_MASK, PPCCOM, PPCNONE, {FRT, FRA, FRC, FRB}},
12314 +{"fms.", A(63,28,1), A_MASK, PWRCOM, PPCNONE, {FRT, FRA, FRC, FRB}},
12315 +
12316 +{"fmadd", A(63,29,0), A_MASK, PPCCOM, PPCNONE, {FRT, FRA, FRC, FRB}},
12317 +{"fma", A(63,29,0), A_MASK, PWRCOM, PPCNONE, {FRT, FRA, FRC, FRB}},
12318 +{"fmadd.", A(63,29,1), A_MASK, PPCCOM, PPCNONE, {FRT, FRA, FRC, FRB}},
12319 +{"fma.", A(63,29,1), A_MASK, PWRCOM, PPCNONE, {FRT, FRA, FRC, FRB}},
12320 +
12321 +{"fnmsub", A(63,30,0), A_MASK, PPCCOM, PPCNONE, {FRT, FRA, FRC, FRB}},
12322 +{"fnms", A(63,30,0), A_MASK, PWRCOM, PPCNONE, {FRT, FRA, FRC, FRB}},
12323 +{"fnmsub.", A(63,30,1), A_MASK, PPCCOM, PPCNONE, {FRT, FRA, FRC, FRB}},
12324 +{"fnms.", A(63,30,1), A_MASK, PWRCOM, PPCNONE, {FRT, FRA, FRC, FRB}},
12325 +
12326 +{"fnmadd", A(63,31,0), A_MASK, PPCCOM, PPCNONE, {FRT, FRA, FRC, FRB}},
12327 +{"fnma", A(63,31,0), A_MASK, PWRCOM, PPCNONE, {FRT, FRA, FRC, FRB}},
12328 +{"fnmadd.", A(63,31,1), A_MASK, PPCCOM, PPCNONE, {FRT, FRA, FRC, FRB}},
12329 +{"fnma.", A(63,31,1), A_MASK, PWRCOM, PPCNONE, {FRT, FRA, FRC, FRB}},
12330 +
12331 +{"fcmpo", X(63,32), X_MASK|(3<<21), COM, PPCNONE, {BF, FRA, FRB}},
12332 +
12333 +{"dmulq", XRC(63,34,0), X_MASK, POWER6, PPCNONE, {FRT, FRA, FRB}},
12334 +{"dmulq.", XRC(63,34,1), X_MASK, POWER6, PPCNONE, {FRT, FRA, FRB}},
12335 +
12336 +{"drrndq", ZRC(63,35,0), Z2_MASK, POWER6, PPCNONE, {FRT, FRA, FRB, RMC}},
12337 +{"drrndq.", ZRC(63,35,1), Z2_MASK, POWER6, PPCNONE, {FRT, FRA, FRB, RMC}},
12338 +
12339 +{"mtfsb1", XRC(63,38,0), XRARB_MASK, COM, PPCNONE, {BT}},
12340 +{"mtfsb1.", XRC(63,38,1), XRARB_MASK, COM, PPCNONE, {BT}},
12341 +
12342 +{"fneg", XRC(63,40,0), XRA_MASK, COM, PPCNONE, {FRT, FRB}},
12343 +{"fneg.", XRC(63,40,1), XRA_MASK, COM, PPCNONE, {FRT, FRB}},
12344 +
12345 +{"mcrfs", X(63,64), XRB_MASK|(3<<21)|(3<<16), COM, PPCNONE, {BF, BFA}},
12346 +
12347 +{"dscliq", ZRC(63,66,0), Z_MASK, POWER6, PPCNONE, {FRT, FRA, SH16}},
12348 +{"dscliq.", ZRC(63,66,1), Z_MASK, POWER6, PPCNONE, {FRT, FRA, SH16}},
12349 +
12350 +{"dquaiq", ZRC(63,67,0), Z2_MASK, POWER6, PPCNONE, {TE, FRT, FRB, RMC}},
12351 +{"dquaiq.", ZRC(63,67,1), Z2_MASK, POWER6, PPCNONE, {TE, FRT, FRB, RMC}},
12352 +
12353 +{"mtfsb0", XRC(63,70,0), XRARB_MASK, COM, PPCNONE, {BT}},
12354 +{"mtfsb0.", XRC(63,70,1), XRARB_MASK, COM, PPCNONE, {BT}},
12355 +
12356 +{"fmr", XRC(63,72,0), XRA_MASK, COM, PPCNONE, {FRT, FRB}},
12357 +{"fmr.", XRC(63,72,1), XRA_MASK, COM, PPCNONE, {FRT, FRB}},
12358 +
12359 +{"dscriq", ZRC(63,98,0), Z_MASK, POWER6, PPCNONE, {FRT, FRA, SH16}},
12360 +{"dscriq.", ZRC(63,98,1), Z_MASK, POWER6, PPCNONE, {FRT, FRA, SH16}},
12361 +
12362 +{"drintxq", ZRC(63,99,0), Z2_MASK, POWER6, PPCNONE, {R, FRT, FRB, RMC}},
12363 +{"drintxq.", ZRC(63,99,1), Z2_MASK, POWER6, PPCNONE, {R, FRT, FRB, RMC}},
12364 +
12365 +{"ftdiv", X(63,128), X_MASK|(3<<21), POWER7, PPCNONE, {BF, FRA, FRB}},
12366 +
12367 +{"dcmpoq", X(63,130), X_MASK, POWER6, PPCNONE, {BF, FRA, FRB}},
12368 +
12369 +{"mtfsfi", XRC(63,134,0), XRA_MASK|(3<<21)|(1<<11), COM, POWER6, {BFF, U}},
12370 +{"mtfsfi", XRC(63,134,0), XWRA_MASK|(3<<21)|(1<<11), POWER6, PPCNONE, {BFF, U, W}},
12371 +{"mtfsfi.", XRC(63,134,1), XRA_MASK|(3<<21)|(1<<11), COM, POWER6, {BFF, U}},
12372 +{"mtfsfi.", XRC(63,134,1), XWRA_MASK|(3<<21)|(1<<11), POWER6, PPCNONE, {BFF, U, W}},
12373 +
12374 +{"fnabs", XRC(63,136,0), XRA_MASK, COM, PPCNONE, {FRT, FRB}},
12375 +{"fnabs.", XRC(63,136,1), XRA_MASK, COM, PPCNONE, {FRT, FRB}},
12376 +
12377 +{"fctiwu", XRC(63,142,0), XRA_MASK, POWER7, PPCNONE, {FRT, FRB}},
12378 +{"fctiwu.", XRC(63,142,1), XRA_MASK, POWER7, PPCNONE, {FRT, FRB}},
12379 +{"fctiwuz", XRC(63,143,0), XRA_MASK, POWER7, PPCNONE, {FRT, FRB}},
12380 +{"fctiwuz.", XRC(63,143,1), XRA_MASK, POWER7, PPCNONE, {FRT, FRB}},
12381 +
12382 +{"ftsqrt", X(63,160), X_MASK|(3<<21|FRA_MASK), POWER7, PPCNONE, {BF, FRB}},
12383 +
12384 +{"dtstexq", X(63,162), X_MASK, POWER6, PPCNONE, {BF, FRA, FRB}},
12385 +{"dtstdcq", Z(63,194), Z_MASK, POWER6, PPCNONE, {BF, FRA, DCM}},
12386 +{"dtstdgq", Z(63,226), Z_MASK, POWER6, PPCNONE, {BF, FRA, DGM}},
12387 +
12388 +{"drintnq", ZRC(63,227,0), Z2_MASK, POWER6, PPCNONE, {R, FRT, FRB, RMC}},
12389 +{"drintnq.", ZRC(63,227,1), Z2_MASK, POWER6, PPCNONE, {R, FRT, FRB, RMC}},
12390 +
12391 +{"dctqpq", XRC(63,258,0), X_MASK, POWER6, PPCNONE, {FRT, FRB}},
12392 +{"dctqpq.", XRC(63,258,1), X_MASK, POWER6, PPCNONE, {FRT, FRB}},
12393 +
12394 +{"fabs", XRC(63,264,0), XRA_MASK, COM, PPCNONE, {FRT, FRB}},
12395 +{"fabs.", XRC(63,264,1), XRA_MASK, COM, PPCNONE, {FRT, FRB}},
12396 +
12397 +{"dctfixq", XRC(63,290,0), X_MASK, POWER6, PPCNONE, {FRT, FRB}},
12398 +{"dctfixq.", XRC(63,290,1), X_MASK, POWER6, PPCNONE, {FRT, FRB}},
12399 +
12400 +{"ddedpdq", XRC(63,322,0), X_MASK, POWER6, PPCNONE, {SP, FRT, FRB}},
12401 +{"ddedpdq.", XRC(63,322,1), X_MASK, POWER6, PPCNONE, {SP, FRT, FRB}},
12402 +
12403 +{"dxexq", XRC(63,354,0), X_MASK, POWER6, PPCNONE, {FRT, FRB}},
12404 +{"dxexq.", XRC(63,354,1), X_MASK, POWER6, PPCNONE, {FRT, FRB}},
12405 +
12406 +{"frin", XRC(63,392,0), XRA_MASK, POWER5, PPCNONE, {FRT, FRB}},
12407 +{"frin.", XRC(63,392,1), XRA_MASK, POWER5, PPCNONE, {FRT, FRB}},
12408 +{"friz", XRC(63,424,0), XRA_MASK, POWER5, PPCNONE, {FRT, FRB}},
12409 +{"friz.", XRC(63,424,1), XRA_MASK, POWER5, PPCNONE, {FRT, FRB}},
12410 +{"frip", XRC(63,456,0), XRA_MASK, POWER5, PPCNONE, {FRT, FRB}},
12411 +{"frip.", XRC(63,456,1), XRA_MASK, POWER5, PPCNONE, {FRT, FRB}},
12412 +{"frim", XRC(63,488,0), XRA_MASK, POWER5, PPCNONE, {FRT, FRB}},
12413 +{"frim.", XRC(63,488,1), XRA_MASK, POWER5, PPCNONE, {FRT, FRB}},
12414 +
12415 +{"dsubq", XRC(63,514,0), X_MASK, POWER6, PPCNONE, {FRT, FRA, FRB}},
12416 +{"dsubq.", XRC(63,514,1), X_MASK, POWER6, PPCNONE, {FRT, FRA, FRB}},
12417 +
12418 +{"ddivq", XRC(63,546,0), X_MASK, POWER6, PPCNONE, {FRT, FRA, FRB}},
12419 +{"ddivq.", XRC(63,546,1), X_MASK, POWER6, PPCNONE, {FRT, FRA, FRB}},
12420 +
12421 +{"mffs", XRC(63,583,0), XRARB_MASK, COM, PPCNONE, {FRT}},
12422 +{"mffs.", XRC(63,583,1), XRARB_MASK, COM, PPCNONE, {FRT}},
12423 +
12424 +{"dcmpuq", X(63,642), X_MASK, POWER6, PPCNONE, {BF, FRA, FRB}},
12425 +
12426 +{"dtstsfq", X(63,674), X_MASK, POWER6, PPCNONE, {BF, FRA, FRB}},
12427 +
12428 +{"mtfsf", XFL(63,711,0), XFL_MASK, COM, POWER6, {FLM, FRB}},
12429 +{"mtfsf", XFL(63,711,0), XFL_MASK, POWER6, PPCNONE, {FLM, FRB, XFL_L, W}},
12430 +{"mtfsf.", XFL(63,711,1), XFL_MASK, COM, POWER6, {FLM, FRB}},
12431 +{"mtfsf.", XFL(63,711,1), XFL_MASK, POWER6, PPCNONE, {FLM, FRB, XFL_L, W}},
12432 +
12433 +{"drdpq", XRC(63,770,0), X_MASK, POWER6, PPCNONE, {FRT, FRB}},
12434 +{"drdpq.", XRC(63,770,1), X_MASK, POWER6, PPCNONE, {FRT, FRB}},
12435 +
12436 +{"dcffixq", XRC(63,802,0), X_MASK, POWER6, PPCNONE, {FRT, FRB}},
12437 +{"dcffixq.", XRC(63,802,1), X_MASK, POWER6, PPCNONE, {FRT, FRB}},
12438 +
12439 +{"fctid", XRC(63,814,0), XRA_MASK, PPC64, PPCNONE, {FRT, FRB}},
12440 +{"fctid.", XRC(63,814,1), XRA_MASK, PPC64, PPCNONE, {FRT, FRB}},
12441 +
12442 +{"fctidz", XRC(63,815,0), XRA_MASK, PPC64, PPCNONE, {FRT, FRB}},
12443 +{"fctidz.", XRC(63,815,1), XRA_MASK, PPC64, PPCNONE, {FRT, FRB}},
12444 +
12445 +{"denbcdq", XRC(63,834,0), X_MASK, POWER6, PPCNONE, {S, FRT, FRB}},
12446 +{"denbcdq.", XRC(63,834,1), X_MASK, POWER6, PPCNONE, {S, FRT, FRB}},
12447 +
12448 +{"fcfid", XRC(63,846,0), XRA_MASK, PPC64, PPCNONE, {FRT, FRB}},
12449 +{"fcfid.", XRC(63,846,1), XRA_MASK, PPC64, PPCNONE, {FRT, FRB}},
12450 +
12451 +{"diexq", XRC(63,866,0), X_MASK, POWER6, PPCNONE, {FRT, FRA, FRB}},
12452 +{"diexq.", XRC(63,866,1), X_MASK, POWER6, PPCNONE, {FRT, FRA, FRB}},
12453
12454 -{"fcfid", XRC(63,846,0), XRA_MASK, PPC64, {FRT, FRB}},
12455 -{"fcfid.", XRC(63,846,1), XRA_MASK, PPC64, {FRT, FRB}},
12456 +{"fctidu", XRC(63,942,0), XRA_MASK, POWER7, PPCNONE, {FRT, FRB}},
12457 +{"fctidu.", XRC(63,942,1), XRA_MASK, POWER7, PPCNONE, {FRT, FRB}},
12458
12459 -{"diexq", XRC(63,866,0), X_MASK, POWER6, {FRT, FRA, FRB}},
12460 -{"diexq.", XRC(63,866,1), X_MASK, POWER6, {FRT, FRA, FRB}},
12461 +{"fctiduz", XRC(63,943,0), XRA_MASK, POWER7, PPCNONE, {FRT, FRB}},
12462 +{"fctiduz.", XRC(63,943,1), XRA_MASK, POWER7, PPCNONE, {FRT, FRB}},
12463
12464 +{"fcfidu", XRC(63,974,0), XRA_MASK, POWER7, PPCNONE, {FRT, FRB}},
12465 +{"fcfidu.", XRC(63,974,1), XRA_MASK, POWER7, PPCNONE, {FRT, FRB}},
12466 };
12467
12468 const int powerpc_num_opcodes =