On ARM, char is unsigned, and the code generation for
multiplication gets totally broken.
Fixes #4354.
R=golang-dev, dave, minux.ma, rsc
CC=golang-dev
https://golang.org/cl/
6826079
struct Malg
{
- char vals[10];
+ schar vals[10];
};
struct Mparam
{
uint32 value;
- char alg;
+ schar alg;
char neg;
char shift;
char arg;
- char off;
+ schar off;
};
static Mparam multab[32];
{
int c, i, j, n, o, q, s;
int bc, bi, bn, bo, bq, bs, bt;
- char *p;
+ schar *p;
int32 u;
uint32 t;
struct Malg
{
- char vals[10];
+ schar vals[10];
};
struct Mparam
{
uint32 value;
- char alg;
+ schar alg;
char neg;
char shift;
char arg;
- char off;
+ schar off;
};
static Mparam multab[32];
{
int c, i, j, n, o, q, s;
int bc, bi, bn, bo, bq, bs, bt;
- char *p;
+ schar *p;
int32 u;
uint32 t;