forked from Imagelibrary/binutils-gdb
This is a series of patches that add support for the SPARC M7 cpu to
binutils. They were discussed and approved here: https://sourceware.org/ml/binutils/2014-10/msg00038.html
This commit is contained in:
committed by
Nick Clifton
parent
fcbdedf866
commit
3d68f91c0f
@@ -1,3 +1,24 @@
|
||||
2014-10-09 Jose E. Marchesi <jose.marchesi@oracle.com>
|
||||
|
||||
* sparc-opc.c (sparc-opcodes): Remove instructions `chkpt',
|
||||
`commit', `random', `wr r,r,%cps', `wr r,i,%cps' and `rd %cps,r'.
|
||||
Annotate table with HWCAP2 bits.
|
||||
Add instructions xmontmul, xmontsqr, xmpmul.
|
||||
(sparc-opcodes): Add the `mwait', `wr r,r,%mwait', `wr
|
||||
r,i,%mwait' and `rd %mwait,r' instructions.
|
||||
Add rd/wr instructions for accessing the %mcdper ancillary state
|
||||
register.
|
||||
(sparc-opcodes): Add sparc5/vis4.0 instructions:
|
||||
subxc, subxccc, fpadd8, fpadds8, fpaddus8, fpaddus16, fpcmple8,
|
||||
fpcmpgt8, fpcmpule16, fpcmpugt16, fpcmpule32, fpcmpugt32, fpmax8,
|
||||
fpmax16, fpmax32, fpmaxu8, fpmaxu16, fpmaxu32, fpmin8, fpmin16,
|
||||
fpmin32, fpminu8, fpminu16, fpminu32, fpsub8, fpsubs8, fpsubus8,
|
||||
fpsubus16, and faligndatai.
|
||||
* sparc-dis.c (v9a_asr_reg_names): Add the %mwait (%asr28)
|
||||
ancillary state register to the table.
|
||||
(print_insn_sparc): Handle the %mcdper ancillary state register.
|
||||
(print_insn_sparc): Handle new operand type '}'.
|
||||
|
||||
2014-09-22 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* i386-dis.c (MOD_0F20): Removed.
|
||||
|
||||
@@ -106,7 +106,7 @@ static char *v9a_asr_reg_names[] =
|
||||
{
|
||||
"pcr", "pic", "dcr", "gsr", "set_softint", "clear_softint",
|
||||
"softint", "tick_cmpr", "stick", "stick_cmpr", "cfr",
|
||||
"pause", "cps"
|
||||
"pause", "mwait"
|
||||
};
|
||||
|
||||
/* Macros used to extract instruction fields. Not all fields have
|
||||
@@ -656,6 +656,7 @@ print_insn_sparc (bfd_vma memaddr, disassemble_info *info)
|
||||
break;
|
||||
case 'H': /* Double/even. */
|
||||
case 'J': /* Quad/multiple of 4. */
|
||||
case '}': /* Double/even. */
|
||||
fregx (X_RD (insn));
|
||||
break;
|
||||
#undef freg
|
||||
@@ -793,6 +794,10 @@ print_insn_sparc (bfd_vma memaddr, disassemble_info *info)
|
||||
(*info->fprintf_func) (stream, "%%fprs");
|
||||
break;
|
||||
|
||||
case '{':
|
||||
(*info->fprintf_func) (stream, "%%mcdper");
|
||||
break;
|
||||
|
||||
case 'o':
|
||||
(*info->fprintf_func) (stream, "%%asi");
|
||||
break;
|
||||
|
||||
2648
opcodes/sparc-opc.c
2648
opcodes/sparc-opc.c
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user