This is the mail archive of the
binutils@sourceware.cygnus.com
mailing list for the binutils project.
Patch: add prefix to completer args for hppa
- To: binutils@sourceware.cygnus.com
- Subject: Patch: add prefix to completer args for hppa
- From: "Jerry Quinn" <jquinn@nortelnetworks.com>
- Date: Thu, 29 Jul 1999 19:47:17 +0000
OK, this patch HAS been tested and works fine :-) The four completers 'c',
'C', 'Y', and 'Z' are now 'cc', 'cm', 'cs', and 'cz'.
I did renaming because they seemed to be more intuitive names. I've also got
a list of possible code names for all the other completers needed for pa20
syntax and instructions.
Jerry
ChangeLog entry:
Thu Jul 29 15:40:17 EDT 1999 Jerry Quinn <jquinn@nortelnetworks.com>
* gas/config/tc-hppa.c (pa_ip): Place completers behind prefix 'c'.
* include/opcode/hppa.h (pa_opcodes): Change completers in instructions to
use 'c' prefix.
* opcodes/hppa-dis.c (print_insn_hppa): Place completers behind prefix
'c'.
*** pa-prev/gas/config/tc-hppa.c Thu Jul 29 15:25:13 1999
--- gas-src/gas/config/tc-hppa.c Thu Jul 29 13:10:49 1999
***************
*** 1627,1718 ****
dis_assemble_3 (num, &num);
INSERT_FIELD_AND_CONTINUE (opcode, num, 13);
! /* Handle a completer for an indexing load or store. */
case 'c':
! {
! int uu = 0;
! int m = 0;
! int i = 0;
! while (*s == ',' && i < 2)
{
! s++;
! if (strncasecmp (s, "sm", 2) == 0)
{
! uu = 1;
! m = 1;
s++;
i++;
}
! else if (strncasecmp (s, "m", 1) == 0)
! m = 1;
! else if (strncasecmp (s, "s", 1) == 0)
! uu = 1;
! else
! as_bad (_("Invalid Indexed Load Completer."));
! s++;
! i++;
}
- if (i > 2)
- as_bad (_("Invalid Indexed Load Completer Syntax."));
- opcode |= m << 5;
- INSERT_FIELD_AND_CONTINUE (opcode, uu, 13);
- }
! /* Handle a short load/store completer. */
! case 'C':
! {
! int a = 0;
! int m = 0;
! if (*s == ',')
{
! s++;
! if (strncasecmp (s, "ma", 2) == 0)
! {
! a = 0;
! m = 1;
! }
! else if (strncasecmp (s, "mb", 2) == 0)
{
! a = 1;
! m = 1;
}
- else
- as_bad (_("Invalid Short Load/Store Completer."));
- s += 2;
- }
- if (*args == 'C')
- {
opcode |= m << 5;
INSERT_FIELD_AND_CONTINUE (opcode, a, 13);
}
- }
! /* Handle a stbys completer. */
! case 'Y':
! {
! int a = 0;
! int m = 0;
! int i = 0;
! while (*s == ',' && i < 2)
{
! s++;
! if (strncasecmp (s, "m", 1) == 0)
! m = 1;
! else if (strncasecmp (s, "b", 1) == 0)
! a = 0;
! else if (strncasecmp (s, "e", 1) == 0)
! a = 1;
! else
as_bad (_("Invalid Store Bytes Short Completer"));
! s++;
! i++;
}
! if (i > 2)
! as_bad (_("Invalid Store Bytes Short Completer"));
! opcode |= m << 5;
! INSERT_FIELD_AND_CONTINUE (opcode, a, 13);
! }
/* Handle all conditions. */
case '?':
--- 1627,1737 ----
dis_assemble_3 (num, &num);
INSERT_FIELD_AND_CONTINUE (opcode, num, 13);
! /* Handle all completers. */
case 'c':
! switch (*++args)
! {
!
! /* Handle a completer for an indexing load or store. */
! case 'x':
{
! int uu = 0;
! int m = 0;
! int i = 0;
! while (*s == ',' && i < 2)
{
! s++;
! if (strncasecmp (s, "sm", 2) == 0)
! {
! uu = 1;
! m = 1;
! s++;
! i++;
! }
! else if (strncasecmp (s, "m", 1) == 0)
! m = 1;
! else if (strncasecmp (s, "s", 1) == 0)
! uu = 1;
! else
! as_bad (_("Invalid Indexed Load Completer."));
s++;
i++;
}
! if (i > 2)
! as_bad (_("Invalid Indexed Load Completer Syntax."));
! opcode |= m << 5;
! INSERT_FIELD_AND_CONTINUE (opcode, uu, 13);
}
! /* Handle a short load/store completer. */
! case 'm':
{
! int a = 0;
! int m = 0;
! if (*s == ',')
{
! s++;
! if (strncasecmp (s, "ma", 2) == 0)
! {
! a = 0;
! m = 1;
! }
! else if (strncasecmp (s, "mb", 2) == 0)
! {
! a = 1;
! m = 1;
! }
! else
! as_bad (_("Invalid Short Load/Store Completer."));
! s += 2;
}
opcode |= m << 5;
INSERT_FIELD_AND_CONTINUE (opcode, a, 13);
}
! /* Handle a stbys completer. */
! case 's':
{
! int a = 0;
! int m = 0;
! int i = 0;
! while (*s == ',' && i < 2)
! {
! s++;
! if (strncasecmp (s, "m", 1) == 0)
! m = 1;
! else if (strncasecmp (s, "b", 1) == 0)
! a = 0;
! else if (strncasecmp (s, "e", 1) == 0)
! a = 1;
! else
! as_bad (_("Invalid Store Bytes Short Completer"));
! s++;
! i++;
! }
! if (i > 2)
as_bad (_("Invalid Store Bytes Short Completer"));
! opcode |= m << 5;
! INSERT_FIELD_AND_CONTINUE (opcode, a, 13);
}
!
! /* Handle a system control completer. */
! case 'Z':
! if (*s == ',' && (*(s + 1) == 'm' || *(s + 1) == 'M'))
! {
! flag = 1;
! s += 2;
! }
! else
! flag = 0;
!
! INSERT_FIELD_AND_CONTINUE (opcode, flag, 5);
!
! default:
! abort ();
! }
! break;
/* Handle all conditions. */
case '?':
***************
*** 2229,2247 ****
default:
abort ();
}
}
-
- /* Handle a system control completer. */
- case 'Z':
- if (*s == ',' && (*(s + 1) == 'm' || *(s + 1) == 'M'))
- {
- flag = 1;
- s += 2;
- }
- else
- flag = 0;
-
- INSERT_FIELD_AND_CONTINUE (opcode, flag, 5);
/* Handle a nullification completer for branch instructions. */
case 'n':
--- 2247,2254 ----
default:
abort ();
}
+ break;
}
/* Handle a nullification completer for branch instructions. */
case 'n':
*** pa-prev/include/opcode/hppa.h Thu Jul 29 10:10:20 1999
--- gas-src/include/opcode/hppa.h Thu Jul 29 10:16:46 1999
***************
*** 101,106 ****
--- 101,113 ----
W 17 bit branch displacement (PC relative)
z 17 bit branch displacement (just a number, not an address)
+ Completer operands all have 'c' as the prefix:
+
+ cx indexed load completer.
+ cm short load and store completer.
+ cs store bytes short completer.
+ cZ System Control Completer (to support LPA, LHA, etc.)
+
Condition operands all have '?' as the prefix:
?f Floating point compare conditions (encoded as 5 bits at 31)
***************
*** 248,280 ****
{ "ldwm", 0x4c000000, 0xfc000000, "j(b),x", pa10},
{ "stwm", 0x6c000000, 0xfc000000, "x,j(s,b)", pa10},
{ "stwm", 0x6c000000, 0xfc000000, "x,j(b)", pa10},
! { "ldwx", 0x0c000080, 0xfc001fc0, "cx(s,b),t", pa10},
! { "ldwx", 0x0c000080, 0xfc001fc0, "cx(b),t", pa10},
! { "ldhx", 0x0c000040, 0xfc001fc0, "cx(s,b),t", pa10},
! { "ldhx", 0x0c000040, 0xfc001fc0, "cx(b),t", pa10},
! { "ldbx", 0x0c000000, 0xfc001fc0, "cx(s,b),t", pa10},
! { "ldbx", 0x0c000000, 0xfc001fc0, "cx(b),t", pa10},
! { "ldwax", 0x0c000180, 0xfc00dfc0, "cx(b),t", pa10},
! { "ldcwx", 0x0c0001c0, 0xfc001fc0, "cx(s,b),t", pa10},
! { "ldcwx", 0x0c0001c0, 0xfc001fc0, "cx(b),t", pa10},
! { "ldws", 0x0c001080, 0xfc001fc0, "C5(s,b),t", pa10},
! { "ldws", 0x0c001080, 0xfc001fc0, "C5(b),t", pa10},
! { "ldhs", 0x0c001040, 0xfc001fc0, "C5(s,b),t", pa10},
! { "ldhs", 0x0c001040, 0xfc001fc0, "C5(b),t", pa10},
! { "ldbs", 0x0c001000, 0xfc001fc0, "C5(s,b),t", pa10},
! { "ldbs", 0x0c001000, 0xfc001fc0, "C5(b),t", pa10},
! { "ldwas", 0x0c001180, 0xfc00dfc0, "C5(b),t", pa10},
! { "ldcws", 0x0c0011c0, 0xfc001fc0, "C5(s,b),t", pa10},
! { "ldcws", 0x0c0011c0, 0xfc001fc0, "C5(b),t", pa10},
! { "stws", 0x0c001280, 0xfc001fc0, "Cx,V(s,b)", pa10},
! { "stws", 0x0c001280, 0xfc001fc0, "Cx,V(b)", pa10},
! { "sths", 0x0c001240, 0xfc001fc0, "Cx,V(s,b)", pa10},
! { "sths", 0x0c001240, 0xfc001fc0, "Cx,V(b)", pa10},
! { "stbs", 0x0c001200, 0xfc001fc0, "Cx,V(s,b)", pa10},
! { "stbs", 0x0c001200, 0xfc001fc0, "Cx,V(b)", pa10},
! { "stwas", 0x0c001380, 0xfc00dfc0, "Cx,V(b)", pa10},
! { "stbys", 0x0c001300, 0xfc001fc0, "Yx,V(s,b)", pa10},
! { "stbys", 0x0c001300, 0xfc001fc0, "Yx,V(b)", pa10},
/* Immediate instructions. */
{ "ldo", 0x34000000, 0xfc00c000, "j(b),x", pa10},
--- 255,287 ----
{ "ldwm", 0x4c000000, 0xfc000000, "j(b),x", pa10},
{ "stwm", 0x6c000000, 0xfc000000, "x,j(s,b)", pa10},
{ "stwm", 0x6c000000, 0xfc000000, "x,j(b)", pa10},
! { "ldwx", 0x0c000080, 0xfc001fc0, "cxx(s,b),t", pa10},
! { "ldwx", 0x0c000080, 0xfc001fc0, "cxx(b),t", pa10},
! { "ldhx", 0x0c000040, 0xfc001fc0, "cxx(s,b),t", pa10},
! { "ldhx", 0x0c000040, 0xfc001fc0, "cxx(b),t", pa10},
! { "ldbx", 0x0c000000, 0xfc001fc0, "cxx(s,b),t", pa10},
! { "ldbx", 0x0c000000, 0xfc001fc0, "cxx(b),t", pa10},
! { "ldwax", 0x0c000180, 0xfc00dfc0, "cxx(b),t", pa10},
! { "ldcwx", 0x0c0001c0, 0xfc001fc0, "cxx(s,b),t", pa10},
! { "ldcwx", 0x0c0001c0, 0xfc001fc0, "cxx(b),t", pa10},
! { "ldws", 0x0c001080, 0xfc001fc0, "cm5(s,b),t", pa10},
! { "ldws", 0x0c001080, 0xfc001fc0, "cm5(b),t", pa10},
! { "ldhs", 0x0c001040, 0xfc001fc0, "cm5(s,b),t", pa10},
! { "ldhs", 0x0c001040, 0xfc001fc0, "cm5(b),t", pa10},
! { "ldbs", 0x0c001000, 0xfc001fc0, "cm5(s,b),t", pa10},
! { "ldbs", 0x0c001000, 0xfc001fc0, "cm5(b),t", pa10},
! { "ldwas", 0x0c001180, 0xfc00dfc0, "cm5(b),t", pa10},
! { "ldcws", 0x0c0011c0, 0xfc001fc0, "cm5(s,b),t", pa10},
! { "ldcws", 0x0c0011c0, 0xfc001fc0, "cm5(b),t", pa10},
! { "stws", 0x0c001280, 0xfc001fc0, "cmx,V(s,b)", pa10},
! { "stws", 0x0c001280, 0xfc001fc0, "cmx,V(b)", pa10},
! { "sths", 0x0c001240, 0xfc001fc0, "cmx,V(s,b)", pa10},
! { "sths", 0x0c001240, 0xfc001fc0, "cmx,V(b)", pa10},
! { "stbs", 0x0c001200, 0xfc001fc0, "cmx,V(s,b)", pa10},
! { "stbs", 0x0c001200, 0xfc001fc0, "cmx,V(b)", pa10},
! { "stwas", 0x0c001380, 0xfc00dfc0, "cmx,V(b)", pa10},
! { "stbys", 0x0c001300, 0xfc001fc0, "csx,V(s,b)", pa10},
! { "stbys", 0x0c001300, 0xfc001fc0, "csx,V(b)", pa10},
/* Immediate instructions. */
{ "ldo", 0x34000000, 0xfc00c000, "j(b),x", pa10},
***************
*** 397,416 ****
{ "probew", 0x040011c0, 0xfc003fe0, "(b),x,t", pa10},
{ "probewi", 0x040031c0, 0xfc003fe0, "(s,b),R,t", pa10},
{ "probewi", 0x040031c0, 0xfc003fe0, "(b),R,t", pa10},
! { "lpa", 0x04001340, 0xfc003fc0, "Zx(s,b),t", pa10},
! { "lpa", 0x04001340, 0xfc003fc0, "Zx(b),t", pa10},
! { "lha", 0x04001300, 0xfc003fc0, "Zx(s,b),t", pa10},
! { "lha", 0x04001300, 0xfc003fc0, "Zx(b),t", pa10},
{ "lci", 0x04001300, 0xfc003fe0, "x(s,b),t", pa10},
{ "lci", 0x04001300, 0xfc003fe0, "x(b),t", pa10},
! { "pdtlb", 0x04001200, 0xfc003fdf, "Zx(s,b)", pa10},
! { "pdtlb", 0x04001200, 0xfc003fdf, "Zx(b)", pa10},
! { "pitlb", 0x04000200, 0xfc001fdf, "Zx(S,b)", pa10},
! { "pitlb", 0x04000200, 0xfc001fdf, "Zx(b)", pa10},
! { "pdtlbe", 0x04001240, 0xfc003fdf, "Zx(s,b)", pa10},
! { "pdtlbe", 0x04001240, 0xfc003fdf, "Zx(b)", pa10},
! { "pitlbe", 0x04000240, 0xfc001fdf, "Zx(S,b)", pa10},
! { "pitlbe", 0x04000240, 0xfc001fdf, "Zx(b)", pa10},
{ "idtlba", 0x04001040, 0xfc003fff, "x,(s,b)", pa10},
{ "idtlba", 0x04001040, 0xfc003fff, "x,(b)", pa10},
{ "iitlba", 0x04000040, 0xfc001fff, "x,(S,b)", pa10},
--- 404,423 ----
{ "probew", 0x040011c0, 0xfc003fe0, "(b),x,t", pa10},
{ "probewi", 0x040031c0, 0xfc003fe0, "(s,b),R,t", pa10},
{ "probewi", 0x040031c0, 0xfc003fe0, "(b),R,t", pa10},
! { "lpa", 0x04001340, 0xfc003fc0, "cZx(s,b),t", pa10},
! { "lpa", 0x04001340, 0xfc003fc0, "cZx(b),t", pa10},
! { "lha", 0x04001300, 0xfc003fc0, "cZx(s,b),t", pa10},
! { "lha", 0x04001300, 0xfc003fc0, "cZx(b),t", pa10},
{ "lci", 0x04001300, 0xfc003fe0, "x(s,b),t", pa10},
{ "lci", 0x04001300, 0xfc003fe0, "x(b),t", pa10},
! { "pdtlb", 0x04001200, 0xfc003fdf, "cZx(s,b)", pa10},
! { "pdtlb", 0x04001200, 0xfc003fdf, "cZx(b)", pa10},
! { "pitlb", 0x04000200, 0xfc001fdf, "cZx(S,b)", pa10},
! { "pitlb", 0x04000200, 0xfc001fdf, "cZx(b)", pa10},
! { "pdtlbe", 0x04001240, 0xfc003fdf, "cZx(s,b)", pa10},
! { "pdtlbe", 0x04001240, 0xfc003fdf, "cZx(b)", pa10},
! { "pitlbe", 0x04000240, 0xfc001fdf, "cZx(S,b)", pa10},
! { "pitlbe", 0x04000240, 0xfc001fdf, "cZx(b)", pa10},
{ "idtlba", 0x04001040, 0xfc003fff, "x,(s,b)", pa10},
{ "idtlba", 0x04001040, 0xfc003fff, "x,(b)", pa10},
{ "iitlba", 0x04000040, 0xfc001fff, "x,(S,b)", pa10},
***************
*** 419,434 ****
{ "idtlbp", 0x04001000, 0xfc003fff, "x,(b)", pa10},
{ "iitlbp", 0x04000000, 0xfc001fff, "x,(S,b)", pa10},
{ "iitlbp", 0x04000000, 0xfc001fff, "x,(b)", pa10},
! { "pdc", 0x04001380, 0xfc003fdf, "Zx(s,b)", pa10},
! { "pdc", 0x04001380, 0xfc003fdf, "Zx(b)", pa10},
! { "fdc", 0x04001280, 0xfc003fdf, "Zx(s,b)", pa10},
! { "fdc", 0x04001280, 0xfc003fdf, "Zx(b)", pa10},
! { "fic", 0x04000280, 0xfc001fdf, "Zx(S,b)", pa10},
! { "fic", 0x04000280, 0xfc001fdf, "Zx(b)", pa10},
! { "fdce", 0x040012c0, 0xfc003fdf, "Zx(s,b)", pa10},
! { "fdce", 0x040012c0, 0xfc003fdf, "Zx(b)", pa10},
! { "fice", 0x040002c0, 0xfc001fdf, "Zx(S,b)", pa10},
! { "fice", 0x040002c0, 0xfc001fdf, "Zx(b)", pa10},
{ "diag", 0x14000000, 0xfc000000, "D", pa10},
/* These may be specific to certain versions of the PA. Joel claimed
--- 426,441 ----
{ "idtlbp", 0x04001000, 0xfc003fff, "x,(b)", pa10},
{ "iitlbp", 0x04000000, 0xfc001fff, "x,(S,b)", pa10},
{ "iitlbp", 0x04000000, 0xfc001fff, "x,(b)", pa10},
! { "pdc", 0x04001380, 0xfc003fdf, "cZx(s,b)", pa10},
! { "pdc", 0x04001380, 0xfc003fdf, "cZx(b)", pa10},
! { "fdc", 0x04001280, 0xfc003fdf, "cZx(s,b)", pa10},
! { "fdc", 0x04001280, 0xfc003fdf, "cZx(b)", pa10},
! { "fic", 0x04000280, 0xfc001fdf, "cZx(S,b)", pa10},
! { "fic", 0x04000280, 0xfc001fdf, "cZx(b)", pa10},
! { "fdce", 0x040012c0, 0xfc003fdf, "cZx(s,b)", pa10},
! { "fdce", 0x040012c0, 0xfc003fdf, "cZx(b)", pa10},
! { "fice", 0x040002c0, 0xfc001fdf, "cZx(S,b)", pa10},
! { "fice", 0x040002c0, 0xfc001fdf, "cZx(b)", pa10},
{ "diag", 0x14000000, 0xfc000000, "D", pa10},
/* These may be specific to certain versions of the PA. Joel claimed
***************
*** 443,475 ****
/* gfw and gfr are not in the HP PA 1.1 manual, but they are in either
the Timex FPU or the Mustang ERS (not sure which) manual. */
! { "gfw", 0x04001680, 0xfc003fdf, "Zx(s,b)", pa11},
! { "gfw", 0x04001680, 0xfc003fdf, "Zx(b)", pa11},
! { "gfr", 0x04001a80, 0xfc003fdf, "Zx(s,b)", pa11},
! { "gfr", 0x04001a80, 0xfc003fdf, "Zx(b)", pa11},
/* Floating Point Coprocessor Instructions */
! { "fldwx", 0x24000000, 0xfc001f80, "cx(s,b),v", pa10},
! { "fldwx", 0x24000000, 0xfc001f80, "cx(b),v", pa10},
! { "flddx", 0x2c000000, 0xfc001fc0, "cx(s,b),y", pa10},
! { "flddx", 0x2c000000, 0xfc001fc0, "cx(b),y", pa10},
! { "fstwx", 0x24000200, 0xfc001f80, "cv,x(s,b)", pa10},
! { "fstwx", 0x24000200, 0xfc001f80, "cv,x(b)", pa10},
! { "fstdx", 0x2c000200, 0xfc001fc0, "cy,x(s,b)", pa10},
! { "fstdx", 0x2c000200, 0xfc001fc0, "cy,x(b)", pa10},
! { "fstqx", 0x3c000200, 0xfc001fc0, "cy,x(s,b)", pa10},
! { "fstqx", 0x3c000200, 0xfc001fc0, "cy,x(b)", pa10},
! { "fldws", 0x24001000, 0xfc001f80, "C5(s,b),v", pa10},
! { "fldws", 0x24001000, 0xfc001f80, "C5(b),v", pa10},
! { "fldds", 0x2c001000, 0xfc001fc0, "C5(s,b),y", pa10},
! { "fldds", 0x2c001000, 0xfc001fc0, "C5(b),y", pa10},
! { "fstws", 0x24001200, 0xfc001f80, "Cv,5(s,b)", pa10},
! { "fstws", 0x24001200, 0xfc001f80, "Cv,5(b)", pa10},
! { "fstds", 0x2c001200, 0xfc001fc0, "Cy,5(s,b)", pa10},
! { "fstds", 0x2c001200, 0xfc001fc0, "Cy,5(b)", pa10},
! { "fstqs", 0x3c001200, 0xfc001fc0, "Cy,5(s,b)", pa10},
! { "fstqs", 0x3c001200, 0xfc001fc0, "Cy,5(b)", pa10},
{ "fadd", 0x30000600, 0xfc00e7e0, "FE,X,v", pa10},
{ "fadd", 0x38000600, 0xfc00e720, "IJ,K,v", pa10},
{ "fsub", 0x30002600, 0xfc00e7e0, "FE,X,v", pa10},
--- 450,482 ----
/* gfw and gfr are not in the HP PA 1.1 manual, but they are in either
the Timex FPU or the Mustang ERS (not sure which) manual. */
! { "gfw", 0x04001680, 0xfc003fdf, "cZx(s,b)", pa11},
! { "gfw", 0x04001680, 0xfc003fdf, "cZx(b)", pa11},
! { "gfr", 0x04001a80, 0xfc003fdf, "cZx(s,b)", pa11},
! { "gfr", 0x04001a80, 0xfc003fdf, "cZx(b)", pa11},
/* Floating Point Coprocessor Instructions */
! { "fldwx", 0x24000000, 0xfc001f80, "cxx(s,b),v", pa10},
! { "fldwx", 0x24000000, 0xfc001f80, "cxx(b),v", pa10},
! { "flddx", 0x2c000000, 0xfc001fc0, "cxx(s,b),y", pa10},
! { "flddx", 0x2c000000, 0xfc001fc0, "cxx(b),y", pa10},
! { "fstwx", 0x24000200, 0xfc001f80, "cxv,x(s,b)", pa10},
! { "fstwx", 0x24000200, 0xfc001f80, "cxv,x(b)", pa10},
! { "fstdx", 0x2c000200, 0xfc001fc0, "cxy,x(s,b)", pa10},
! { "fstdx", 0x2c000200, 0xfc001fc0, "cxy,x(b)", pa10},
! { "fstqx", 0x3c000200, 0xfc001fc0, "cxy,x(s,b)", pa10},
! { "fstqx", 0x3c000200, 0xfc001fc0, "cxy,x(b)", pa10},
! { "fldws", 0x24001000, 0xfc001f80, "cm5(s,b),v", pa10},
! { "fldws", 0x24001000, 0xfc001f80, "cm5(b),v", pa10},
! { "fldds", 0x2c001000, 0xfc001fc0, "cm5(s,b),y", pa10},
! { "fldds", 0x2c001000, 0xfc001fc0, "cm5(b),y", pa10},
! { "fstws", 0x24001200, 0xfc001f80, "cmv,5(s,b)", pa10},
! { "fstws", 0x24001200, 0xfc001f80, "cmv,5(b)", pa10},
! { "fstds", 0x2c001200, 0xfc001fc0, "cmy,5(s,b)", pa10},
! { "fstds", 0x2c001200, 0xfc001fc0, "cmy,5(b)", pa10},
! { "fstqs", 0x3c001200, 0xfc001fc0, "cmy,5(s,b)", pa10},
! { "fstqs", 0x3c001200, 0xfc001fc0, "cmy,5(b)", pa10},
{ "fadd", 0x30000600, 0xfc00e7e0, "FE,X,v", pa10},
{ "fadd", 0x38000600, 0xfc00e720, "IJ,K,v", pa10},
{ "fsub", 0x30002600, 0xfc00e7e0, "FE,X,v", pa10},
***************
*** 518,539 ****
{ "spop2", 0x10000400, 0xfc000600, "f,1Nb", pa10},
{ "spop3", 0x10000600, 0xfc000600, "f,0Nx,b", pa10},
{ "copr", 0x30000000, 0xfc000000, "u,2N", pa10},
! { "cldwx", 0x24000000, 0xfc001e00, "ucx(s,b),t", pa10},
! { "cldwx", 0x24000000, 0xfc001e00, "ucx(b),t", pa10},
! { "clddx", 0x2c000000, 0xfc001e00, "ucx(s,b),t", pa10},
! { "clddx", 0x2c000000, 0xfc001e00, "ucx(b),t", pa10},
! { "cstwx", 0x24000200, 0xfc001e00, "uct,x(s,b)", pa10},
! { "cstwx", 0x24000200, 0xfc001e00, "uct,x(b)", pa10},
! { "cstdx", 0x2c000200, 0xfc001e00, "uct,x(s,b)", pa10},
! { "cstdx", 0x2c000200, 0xfc001e00, "uct,x(b)", pa10},
! { "cldws", 0x24001000, 0xfc001e00, "uC5(s,b),t", pa10},
! { "cldws", 0x24001000, 0xfc001e00, "uC5(b),t", pa10},
! { "cldds", 0x2c001000, 0xfc001e00, "uC5(s,b),t", pa10},
! { "cldds", 0x2c001000, 0xfc001e00, "uC5(b),t", pa10},
! { "cstws", 0x24001200, 0xfc001e00, "uCt,5(s,b)", pa10},
! { "cstws", 0x24001200, 0xfc001e00, "uCt,5(b)", pa10},
! { "cstds", 0x2c001200, 0xfc001e00, "uCt,5(s,b)", pa10},
! { "cstds", 0x2c001200, 0xfc001e00, "uCt,5(b)", pa10},
};
#define NUMOPCODES ((sizeof pa_opcodes)/(sizeof pa_opcodes[0]))
--- 525,546 ----
{ "spop2", 0x10000400, 0xfc000600, "f,1Nb", pa10},
{ "spop3", 0x10000600, 0xfc000600, "f,0Nx,b", pa10},
{ "copr", 0x30000000, 0xfc000000, "u,2N", pa10},
! { "cldwx", 0x24000000, 0xfc001e00, "ucxx(s,b),t", pa10},
! { "cldwx", 0x24000000, 0xfc001e00, "ucxx(b),t", pa10},
! { "clddx", 0x2c000000, 0xfc001e00, "ucxx(s,b),t", pa10},
! { "clddx", 0x2c000000, 0xfc001e00, "ucxx(b),t", pa10},
! { "cstwx", 0x24000200, 0xfc001e00, "ucxt,x(s,b)", pa10},
! { "cstwx", 0x24000200, 0xfc001e00, "ucxt,x(b)", pa10},
! { "cstdx", 0x2c000200, 0xfc001e00, "ucxt,x(s,b)", pa10},
! { "cstdx", 0x2c000200, 0xfc001e00, "ucxt,x(b)", pa10},
! { "cldws", 0x24001000, 0xfc001e00, "ucm5(s,b),t", pa10},
! { "cldws", 0x24001000, 0xfc001e00, "ucm5(b),t", pa10},
! { "cldds", 0x2c001000, 0xfc001e00, "ucm5(s,b),t", pa10},
! { "cldds", 0x2c001000, 0xfc001e00, "ucm5(b),t", pa10},
! { "cstws", 0x24001200, 0xfc001e00, "ucmt,5(s,b)", pa10},
! { "cstws", 0x24001200, 0xfc001e00, "ucmt,5(b)", pa10},
! { "cstds", 0x2c001200, 0xfc001e00, "ucmt,5(s,b)", pa10},
! { "cstds", 0x2c001200, 0xfc001e00, "ucmt,5(b)", pa10},
};
#define NUMOPCODES ((sizeof pa_opcodes)/(sizeof pa_opcodes[0]))
*** pa-prev/opcodes/hppa-dis.c Wed Jul 28 15:20:22 1999
--- gas-src/opcodes/hppa-dis.c Thu Jul 29 10:22:55 1999
***************
*** 420,436 ****
case 'S':
(*info->fprintf_func) (info->stream, "sr%d", extract_3 (insn));
break;
case 'c':
! (*info->fprintf_func) (info->stream, "%s ",
! index_compl_names[GET_COMPL (insn)]);
! break;
! case 'C':
! (*info->fprintf_func) (info->stream, "%s ",
! short_ldst_compl_names[GET_COMPL (insn)]);
! break;
! case 'Y':
! (*info->fprintf_func) (info->stream, "%s ",
! short_bytes_compl_names[GET_COMPL (insn)]);
break;
/* Handle conditions. */
--- 420,449 ----
case 'S':
(*info->fprintf_func) (info->stream, "sr%d", extract_3 (insn));
break;
+
+ /* Handle completers. */
case 'c':
! switch (*++s)
! {
! case 'x':
! (*info->fprintf_func) (info->stream, "%s ",
! index_compl_names[GET_COMPL (insn)]);
! break;
! case 'm':
! (*info->fprintf_func) (info->stream, "%s ",
! short_ldst_compl_names[GET_COMPL (insn)]);
! break;
! case 's':
! (*info->fprintf_func) (info->stream, "%s ",
! short_bytes_compl_names[GET_COMPL (insn)]);
! break;
! case 'Z':
! if (GET_FIELD (insn, 26, 26))
! (*info->fprintf_func) (info->stream, ",m ");
! else
! (*info->fprintf_func) (info->stream, " ");
! break;
! }
break;
/* Handle conditions. */
***************
*** 626,637 ****
break;
case 'A':
fput_const (GET_FIELD (insn, 6, 18), info);
- break;
- case 'Z':
- if (GET_FIELD (insn, 26, 26))
- (*info->fprintf_func) (info->stream, ",m ");
- else
- (*info->fprintf_func) (info->stream, " ");
break;
case 'D':
fput_const (GET_FIELD (insn, 6, 31), info);
--- 639,644 ----