aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2023-12-15 23:54:40 -0500
committerMike Frysinger <vapier@gentoo.org>2023-12-15 23:59:00 -0500
commit82a398adb854dd602212e1007d76b187277b9823 (patch)
treef0a78bc38989333e00abadf2ac80f9189c3b91ca
parent0fd9d0cec01437c8ca2951f3702be16123733442 (diff)
downloadfsf-binutils-gdb-82a398adb854dd602212e1007d76b187277b9823.zip
fsf-binutils-gdb-82a398adb854dd602212e1007d76b187277b9823.tar.gz
fsf-binutils-gdb-82a398adb854dd602212e1007d76b187277b9823.tar.bz2
sim: sh: adjust some dsp insn masks
The pmuls encoding is incorrect -- it looks like a copy & paste error from the padd pmuls variant. The SuperH software manual covers this. On the flip side, the manual lists pwsb & pwad as insns that exist, but no description of what they do, what the insn name means, or the actual encoding. Our sim implementation stubs them both out as nops. Let's mark the fields to avoid unused variable warnings.
-rw-r--r--sim/sh/gencode.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sim/sh/gencode.c b/sim/sh/gencode.c
index 0a04e33..2522ec1 100644
--- a/sim/sh/gencode.c
+++ b/sim/sh/gencode.c
@@ -1915,7 +1915,7 @@ static op ppi_tab[] =
"COMPUTE_OVERFLOW;",
"greater_equal = 0;",
},
- { "","", "pmuls Se,Sf,Dg", "0100eeffxxyygguu",
+ { "","", "pmuls Se,Sf,Dg", "0100eeff0000gg00",
"res = (DSP_R (e) >> 16) * (DSP_R (f) >> 16) * 2;",
"if (res == 0x80000000)",
" res = 0x7fffffff;",
@@ -2011,9 +2011,9 @@ static op ppi_tab[] =
"COMPUTE_OVERFLOW;",
"ADD_SUB_GE;",
},
- { "","", "pwsb Sx,Sy,Dz", "10100100xxyyzzzz",
+ { "","", "pwsb Sx,Sy,Dz", "10100100....zzzz",
},
- { "","", "pwad Sx,Sy,Dz", "10110100xxyyzzzz",
+ { "","", "pwad Sx,Sy,Dz", "10110100....zzzz",
},
{ "","", "(if cc) pabs Sx,Dz", "100010ccxx01zzzz",
"/* FIXME: duplicate code pabs. */",