* hppa.h: Add strict variants of PA1.0/PA1.1 loads and stores.
authorJeff Law <law@redhat.com>
Mon, 6 Sep 1999 10:42:11 +0000 (10:42 +0000)
committerJeff Law <law@redhat.com>
Mon, 6 Sep 1999 10:42:11 +0000 (10:42 +0000)
        Add a few PA2.0 loads and store variants.

include/opcode/ChangeLog
include/opcode/hppa.h

index de5589bba02d4c462dd0fdea6d908cc36a02bef2..753cb01379d723745df8ce08c3f0ca3d53aeb620 100644 (file)
@@ -1,3 +1,8 @@
+Mon Sep  6 04:41:42 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * hppa.h: Add strict variants of PA1.0/PA1.1 loads and stores.
+       Add a few PA2.0 loads and store variants.
+
 1999-09-04  Steve Chamberlain  <sac@pobox.com>
 
        * pj.h: New file.
index 19f50e0673773e6db29d1680a12aff857317f72c..ad666932df1beec0a317be5fc1fa4ff0bdf60cca 100644 (file)
@@ -264,16 +264,40 @@ static const struct pa_opcode pa_opcodes[] =
 { "mtsar",      0x01601840, 0xffe0ffff, "x", pa10}, /* mtctl r,cr11 */
 
 /* Loads and Stores for integer registers.  */
+{ "ldd",        0x0c0000c0, 0xfc001fc0, "cxx(s,b),t", pa20, FLAG_STRICT},
+{ "ldd",        0x0c0000c0, 0xfc001fc0, "cxx(b),t", pa20, FLAG_STRICT},
+{ "ldd",       0x0c0010c0, 0xfc001fc0, "cm5(s,b),t", pa20, FLAG_STRICT},
+{ "ldd",       0x0c0010c0, 0xfc001fc0, "cm5(b),t", pa20, FLAG_STRICT},
+{ "ldw",        0x0c000080, 0xfc001fc0, "cxx(s,b),t", pa10, FLAG_STRICT},
+{ "ldw",        0x0c000080, 0xfc001fc0, "cxx(b),t", pa10, FLAG_STRICT},
+{ "ldw",       0x0c001080, 0xfc001fc0, "cm5(s,b),t", pa10, FLAG_STRICT},
+{ "ldw",       0x0c001080, 0xfc001fc0, "cm5(b),t", pa10, FLAG_STRICT},
 { "ldw",        0x48000000, 0xfc000000, "j(s,b),x", pa10},
 { "ldw",        0x48000000, 0xfc000000, "j(b),x", pa10},
+{ "ldh",        0x0c000040, 0xfc001fc0, "cxx(s,b),t", pa10, FLAG_STRICT},
+{ "ldh",        0x0c000040, 0xfc001fc0, "cxx(b),t", pa10, FLAG_STRICT},
+{ "ldh",       0x0c001040, 0xfc001fc0, "cm5(s,b),t", pa10, FLAG_STRICT},
+{ "ldh",       0x0c001040, 0xfc001fc0, "cm5(b),t", pa10, FLAG_STRICT},
 { "ldh",        0x44000000, 0xfc000000, "j(s,b),x", pa10},
 { "ldh",        0x44000000, 0xfc000000, "j(b),x", pa10},
+{ "ldb",        0x0c000000, 0xfc001fc0, "cxx(s,b),t", pa10, FLAG_STRICT},
+{ "ldb",        0x0c000000, 0xfc001fc0, "cxx(b),t", pa10, FLAG_STRICT},
+{ "ldb",       0x0c001000, 0xfc001fc0, "cm5(s,b),t", pa10, FLAG_STRICT},
+{ "ldb",       0x0c001000, 0xfc001fc0, "cm5(b),t", pa10, FLAG_STRICT},
 { "ldb",        0x40000000, 0xfc000000, "j(s,b),x", pa10},
 { "ldb",        0x40000000, 0xfc000000, "j(b),x", pa10},
+{ "std",       0x0c0012c0, 0xfc001fc0, "cmx,V(s,b)", pa20, FLAG_STRICT},
+{ "std",       0x0c0012c0, 0xfc001fc0, "cmx,V(b)", pa20, FLAG_STRICT},
+{ "stw",       0x0c001280, 0xfc001fc0, "cmx,V(s,b)", pa10, FLAG_STRICT},
+{ "stw",       0x0c001280, 0xfc001fc0, "cmx,V(b)", pa10, FLAG_STRICT},
 { "stw",        0x68000000, 0xfc000000, "x,j(s,b)", pa10},
 { "stw",        0x68000000, 0xfc000000, "x,j(b)", pa10},
+{ "sth",       0x0c001240, 0xfc001fc0, "cmx,V(s,b)", pa10, FLAG_STRICT},
+{ "sth",       0x0c001240, 0xfc001fc0, "cmx,V(b)", pa10, FLAG_STRICT},
 { "sth",        0x64000000, 0xfc000000, "x,j(s,b)", pa10},
 { "sth",        0x64000000, 0xfc000000, "x,j(b)", pa10},
+{ "stb",       0x0c001200, 0xfc001fc0, "cmx,V(s,b)", pa10, FLAG_STRICT},
+{ "stb",       0x0c001200, 0xfc001fc0, "cmx,V(b)", pa10, FLAG_STRICT},
 { "stb",        0x60000000, 0xfc000000, "x,j(s,b)", pa10},
 { "stb",        0x60000000, 0xfc000000, "x,j(b)", pa10},
 { "ldwm",       0x4c000000, 0xfc000000, "j(s,b),x", pa10},
@@ -286,6 +310,23 @@ static const struct pa_opcode pa_opcodes[] =
 { "ldhx",       0x0c000040, 0xfc001fc0, "cxx(b),t", pa10},
 { "ldbx",       0x0c000000, 0xfc001fc0, "cxx(s,b),t", pa10},
 { "ldbx",       0x0c000000, 0xfc001fc0, "cxx(b),t", pa10},
+{ "ldwa",       0x0c000180, 0xfc00dfc0, "cxx(b),t", pa10, FLAG_STRICT},
+{ "ldwa",      0x0c001180, 0xfc00dfc0, "cm5(b),t", pa10, FLAG_STRICT},
+{ "ldcw",       0x0c0001c0, 0xfc001fc0, "cxx(s,b),t", pa10, FLAG_STRICT},
+{ "ldcw",       0x0c0001c0, 0xfc001fc0, "cxx(b),t", pa10, FLAG_STRICT},
+{ "ldcw",      0x0c0011c0, 0xfc001fc0, "cm5(s,b),t", pa10, FLAG_STRICT},
+{ "ldcw",      0x0c0011c0, 0xfc001fc0, "cm5(b),t", pa10, FLAG_STRICT},
+{ "stwa",      0x0c001380, 0xfc00dfc0, "cmx,V(b)", pa10, FLAG_STRICT},
+{ "stby",      0x0c001300, 0xfc001fc0, "csx,V(s,b)", pa10, FLAG_STRICT},
+{ "stby",      0x0c001300, 0xfc001fc0, "csx,V(b)", pa10, FLAG_STRICT},
+{ "ldda",       0x0c000100, 0xfc00dfc0, "cxx(b),t", pa20, FLAG_STRICT},
+{ "ldda",      0x0c001100, 0xfc00dfc0, "cm5(b),t", pa20, FLAG_STRICT},
+{ "ldcd",       0x0c000140, 0xfc001fc0, "cxx(s,b),t", pa20, FLAG_STRICT},
+{ "ldcd",       0x0c000140, 0xfc001fc0, "cxx(b),t", pa20, FLAG_STRICT},
+{ "ldcd",      0x0c001140, 0xfc001fc0, "cm5(s,b),t", pa20, FLAG_STRICT},
+{ "ldcd",      0x0c001140, 0xfc001fc0, "cm5(b),t", pa20, FLAG_STRICT},
+{ "stda",      0x0c0013c0, 0xfc001fc0, "cmx,V(s,b)", pa20, FLAG_STRICT},
+{ "stda",      0x0c0013c0, 0xfc001fc0, "cmx,V(b)", pa20, FLAG_STRICT},
 { "ldwax",      0x0c000180, 0xfc00dfc0, "cxx(b),t", pa10},
 { "ldcwx",      0x0c0001c0, 0xfc001fc0, "cxx(s,b),t", pa10},
 { "ldcwx",      0x0c0001c0, 0xfc001fc0, "cxx(b),t", pa10},
@@ -305,6 +346,8 @@ static const struct pa_opcode pa_opcodes[] =
 { "stbs",      0x0c001200, 0xfc001fc0, "cmx,V(s,b)", pa10},
 { "stbs",      0x0c001200, 0xfc001fc0, "cmx,V(b)", pa10},
 { "stwas",     0x0c001380, 0xfc00dfc0, "cmx,V(b)", pa10},
+{ "stdby",     0x0c001340, 0xfc001fc0, "csx,V(s,b)", pa20, FLAG_STRICT},
+{ "stdby",     0x0c001340, 0xfc001fc0, "csx,V(b)", pa20, FLAG_STRICT},
 { "stbys",     0x0c001300, 0xfc001fc0, "csx,V(s,b)", pa10},
 { "stbys",     0x0c001300, 0xfc001fc0, "csx,V(b)", pa10},
 
@@ -528,6 +571,8 @@ static const struct pa_opcode pa_opcodes[] =
 { "fice",       0x040002c0, 0xfc001fdf, "cZx(S,b)", pa10},
 { "fice",       0x040002c0, 0xfc001fdf, "cZx(b)", pa10},
 { "diag",       0x14000000, 0xfc000000, "D", pa10},
+{ "idtlbt",     0x04001800, 0xfc00ffff, "x,b", pa20, FLAG_STRICT},
+{ "iitlbt",     0x04000800, 0xfc00ffff, "x,b", pa20, FLAG_STRICT},
 
 /* These may be specific to certain versions of the PA.  Joel claimed
    they were 72000 (7200?) specific.  However, I'm almost certain the
@@ -636,6 +681,22 @@ static const struct pa_opcode pa_opcodes[] =
 { "cstws",      0x24001200, 0xfc001e00, "ucmt,5(b)", pa10},
 { "cstds",      0x2c001200, 0xfc001e00, "ucmt,5(s,b)", pa10},
 { "cstds",      0x2c001200, 0xfc001e00, "ucmt,5(b)", pa10},
+{ "cldw",       0x24000000, 0xfc001e00, "ucxx(s,b),t", pa10, FLAG_STRICT},
+{ "cldw",       0x24000000, 0xfc001e00, "ucxx(b),t", pa10, FLAG_STRICT},
+{ "cldw",       0x24001000, 0xfc001e00, "ucm5(s,b),t", pa10, FLAG_STRICT},
+{ "cldw",       0x24001000, 0xfc001e00, "ucm5(b),t", pa10, FLAG_STRICT},
+{ "cldd",       0x2c000000, 0xfc001e00, "ucxx(s,b),t", pa10, FLAG_STRICT},
+{ "cldd",       0x2c000000, 0xfc001e00, "ucxx(b),t", pa10, FLAG_STRICT},
+{ "cldd",       0x2c001000, 0xfc001e00, "ucm5(s,b),t", pa10, FLAG_STRICT},
+{ "cldd",       0x2c001000, 0xfc001e00, "ucm5(b),t", pa20, FLAG_STRICT},
+{ "cstw",       0x24000200, 0xfc001e00, "ucxt,x(s,b)", pa10, FLAG_STRICT},
+{ "cstw",       0x24000200, 0xfc001e00, "ucxt,x(b)", pa10, FLAG_STRICT},
+{ "cstw",       0x24001200, 0xfc001e00, "ucmt,5(s,b)", pa10, FLAG_STRICT},
+{ "cstw",       0x24001200, 0xfc001e00, "ucmt,5(b)", pa10, FLAG_STRICT},
+{ "cstd",       0x2c000200, 0xfc001e00, "ucxt,x(s,b)", pa10, FLAG_STRICT},
+{ "cstd",       0x2c000200, 0xfc001e00, "ucxt,x(b)", pa10, FLAG_STRICT},
+{ "cstd",       0x2c001200, 0xfc001e00, "ucmt,5(s,b)", pa10, FLAG_STRICT},
+{ "cstd",       0x2c001200, 0xfc001e00, "ucmt,5(b)", pa10, FLAG_STRICT},
 };
 
 #define NUMOPCODES ((sizeof pa_opcodes)/(sizeof pa_opcodes[0]))