forked from Imagelibrary/binutils-gdb
Support for the sparc %pmcdper privileged register.
opcodes/ChangeLog: 2015-08-25 Jose E. Marchesi <jose.marchesi@oracle.com> * sparc-dis.c (print_insn_sparc): Handle the privileged register %pmcdper. gas/ChangeLog: 2015-08-25 Jose E. Marchesi <jose.marchesi@oracle.com> * config/tc-sparc.c (priv_reg_table): New privileged register %pmcdper. gas/testsuite/ChangeLog: 2015-08-25 Jose E. Marchesi <jose.marchesi@oracle.com> * gas/sparc/wrpr.s: Test writing to the privileged %pmcdper register. * gas/sparc/wrpr.d: ...and the expected result. * gas/sparc/rdpr.s: Test reading from the privileged %pmcdper register. * gas/sparc/rdpr.d: ...and the expected result.
This commit is contained in:
@@ -86,7 +86,7 @@ static char *v9_priv_reg_names[] =
|
||||
"tpc", "tnpc", "tstate", "tt", "tick", "tba", "pstate", "tl",
|
||||
"pil", "cwp", "cansave", "canrestore", "cleanwin", "otherwin",
|
||||
"wstate", "fq", "gl"
|
||||
/* "ver" - special cased */
|
||||
/* "ver" and "pmcdper" - special cased */
|
||||
};
|
||||
|
||||
/* These are ordered according to there register number in
|
||||
@@ -813,6 +813,8 @@ print_insn_sparc (bfd_vma memaddr, disassemble_info *info)
|
||||
case '?':
|
||||
if (X_RS1 (insn) == 31)
|
||||
(*info->fprintf_func) (stream, "%%ver");
|
||||
else if (X_RS1 (insn) == 23)
|
||||
(*info->fprintf_func) (stream, "%%pmcdper");
|
||||
else if ((unsigned) X_RS1 (insn) < 17)
|
||||
(*info->fprintf_func) (stream, "%%%s",
|
||||
v9_priv_reg_names[X_RS1 (insn)]);
|
||||
@@ -821,7 +823,9 @@ print_insn_sparc (bfd_vma memaddr, disassemble_info *info)
|
||||
break;
|
||||
|
||||
case '!':
|
||||
if ((unsigned) X_RD (insn) < 17)
|
||||
if (X_RD (insn) == 23)
|
||||
(*info->fprintf_func) (stream, "%%pmcdper");
|
||||
else if ((unsigned) X_RD (insn) < 17)
|
||||
(*info->fprintf_func) (stream, "%%%s",
|
||||
v9_priv_reg_names[X_RD (insn)]);
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user