This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
[RFA] sh-sim: thislock/prevlock tweak
- From: Michael Snyder <msnyder at redhat dot com>
- To: Joern Rennecke <amylaar at fairadsl dot co dot uk>
- Cc: joern dot rennecke at superh dot com, gdb-patches at sources dot redhat dot com
- Date: Thu, 05 Feb 2004 15:47:22 -0800
- Subject: [RFA] sh-sim: thislock/prevlock tweak
- Organization: Red Hat, Inc.
- References: <200312201305.hBKD5MHZ001588@meolyon.local>
Joern,
I don't fully understand this code, but it looks to me as if this
minor change is needed. Most other instructions appear to call
the macro "L()" for the register that was explicitly the target
of the instruction.
Michael
2004-02-05 Michael Snyder <msnyder@redhat.com>
* gencode.c (movua.l): Set thislock to 0, not n.
Index: gencode.c
===================================================================
RCS file: /cvs/src/src/sim/sh/gencode.c,v
retrieving revision 1.26
diff -p -r1.26 gencode.c
*** gencode.c 27 Jan 2004 23:30:01 -0000 1.26
--- gencode.c 5 Feb 2004 23:40:27 -0000
*************** op tab[] =
*** 869,875 ****
"MA (1);",
"R[0] = (RBAT (regn) << 24) + (RBAT (regn + 1) << 16) + ",
" (RBAT (regn + 2) << 8) + RBAT (regn + 3);",
! "L (n);",
},
{ "0n", "n", "movua.l @<REG_N>+,R0", "0100nnnn11101001",
"int regn = R[n];",
--- 869,875 ----
"MA (1);",
"R[0] = (RBAT (regn) << 24) + (RBAT (regn + 1) << 16) + ",
" (RBAT (regn + 2) << 8) + RBAT (regn + 3);",
! "L (0);",
},
{ "0n", "n", "movua.l @<REG_N>+,R0", "0100nnnn11101001",
"int regn = R[n];",
*************** op tab[] =
*** 877,883 ****
"R[0] = (RBAT (regn) << 24) + (RBAT (regn + 1) << 16) + ",
" (RBAT (regn + 2) << 8) + RBAT (regn + 3);",
"R[n] += 4;",
! "L (n);",
},
{ "", "mn", "mul.l <REG_M>,<REG_N>", "0000nnnnmmmm0111",
"MACL = ((int) R[n]) * ((int) R[m]);",
--- 877,883 ----
"R[0] = (RBAT (regn) << 24) + (RBAT (regn + 1) << 16) + ",
" (RBAT (regn + 2) << 8) + RBAT (regn + 3);",
"R[n] += 4;",
! "L (0);",
},
{ "", "mn", "mul.l <REG_M>,<REG_N>", "0000nnnnmmmm0111",
"MACL = ((int) R[n]) * ((int) R[m]);",