2003-07-25 Michael Snyder <msnyder@redhat.com>
* gencode.c (pshl): Change < to <= (shift by 16 is allowed). Cast argument of >> to unsigned to prevent sign extension. (psha): Change < to <= (shift by 32 is allowed).
This commit is contained in:
parent
8e8c182c83
commit
437b0e60a1
@ -1,3 +1,9 @@
|
|||||||
|
2003-07-25 Michael Snyder <msnyder@redhat.com>
|
||||||
|
|
||||||
|
* gencode.c (pshl): Change < to <= (shift by 16 is allowed).
|
||||||
|
Cast argument of >> to unsigned to prevent sign extension.
|
||||||
|
(psha): Change < to <= (shift by 32 is allowed).
|
||||||
|
|
||||||
2003-07-24 Michael Snyder <msnyder@redhat.com>
|
2003-07-24 Michael Snyder <msnyder@redhat.com>
|
||||||
|
|
||||||
* gencode.c: Fix typo in comment.
|
* gencode.c: Fix typo in comment.
|
||||||
|
@ -1306,10 +1306,10 @@ op ppi_tab[] =
|
|||||||
{ "","", "pshl #<imm>,dz", "00000iiim16.zzzz",
|
{ "","", "pshl #<imm>,dz", "00000iiim16.zzzz",
|
||||||
"int Sz = DSP_R (z) & 0xffff0000;",
|
"int Sz = DSP_R (z) & 0xffff0000;",
|
||||||
"",
|
"",
|
||||||
"if (i < 16)",
|
"if (i <= 16)",
|
||||||
" res = Sz << i;",
|
" res = Sz << i;",
|
||||||
"else if (i >= 128 - 16)",
|
"else if (i >= 128 - 16)",
|
||||||
" res = Sz >> 128 - i;",
|
" res = (unsigned) Sz >> 128 - i; /* no sign extension */",
|
||||||
"else",
|
"else",
|
||||||
" {",
|
" {",
|
||||||
" RAISE_EXCEPTION (SIGILL);",
|
" RAISE_EXCEPTION (SIGILL);",
|
||||||
@ -1323,7 +1323,7 @@ op ppi_tab[] =
|
|||||||
"int Sz = DSP_R (z);",
|
"int Sz = DSP_R (z);",
|
||||||
"int Sz_grd = GET_DSP_GRD (z);",
|
"int Sz_grd = GET_DSP_GRD (z);",
|
||||||
"",
|
"",
|
||||||
"if (i < 32)",
|
"if (i <= 32)",
|
||||||
" {",
|
" {",
|
||||||
" if (i == 32)",
|
" if (i == 32)",
|
||||||
" {",
|
" {",
|
||||||
@ -1525,10 +1525,10 @@ op ppi_tab[] =
|
|||||||
"int Sx = DSP_R (x) & 0xffff0000;",
|
"int Sx = DSP_R (x) & 0xffff0000;",
|
||||||
"int Sy = DSP_R (y) >> 16 & 0x7f;",
|
"int Sy = DSP_R (y) >> 16 & 0x7f;",
|
||||||
"",
|
"",
|
||||||
"if (Sy < 16)",
|
"if (Sy <= 16)",
|
||||||
" res = Sx << Sy;",
|
" res = Sx << Sy;",
|
||||||
"else if (Sy >= 128 - 16)",
|
"else if (Sy >= 128 - 16)",
|
||||||
" res = Sx >> 128 - Sy;",
|
" res = (unsigned) Sx >> 128 - Sy; /* no sign extension */",
|
||||||
"else",
|
"else",
|
||||||
" {",
|
" {",
|
||||||
" RAISE_EXCEPTION (SIGILL);",
|
" RAISE_EXCEPTION (SIGILL);",
|
||||||
@ -1541,7 +1541,7 @@ op ppi_tab[] =
|
|||||||
"int Sx_grd = GET_DSP_GRD (x);",
|
"int Sx_grd = GET_DSP_GRD (x);",
|
||||||
"int Sy = DSP_R (y) >> 16 & 0x7f;",
|
"int Sy = DSP_R (y) >> 16 & 0x7f;",
|
||||||
"",
|
"",
|
||||||
"if (Sy < 32)",
|
"if (Sy <= 32)",
|
||||||
" {",
|
" {",
|
||||||
" if (Sy == 32)",
|
" if (Sy == 32)",
|
||||||
" {",
|
" {",
|
||||||
|
Loading…
Reference in New Issue
Block a user