diff options
Diffstat (limited to 'gas/config')
-rw-r--r-- | gas/config/tc-i386.c | 6 | ||||
-rw-r--r-- | gas/config/tc-ppc.c | 4 |
2 files changed, 6 insertions, 4 deletions
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index 0b60387..bc0945c 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -5804,14 +5804,16 @@ parse_real_register (char *reg_string, char **end_op) ++s; if (*s >= '0' && *s <= '7') { - r = &i386_float_regtab[*s - '0']; + int fpr = *s - '0'; ++s; if (is_space_char (*s)) ++s; if (*s == ')') { *end_op = s + 1; - return r; + r = hash_find (reg_hash, "st(0)"); + know (r); + return r + fpr; } } /* We have "%st(" then garbage. */ diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c index 1755363..978f0f3 100644 --- a/gas/config/tc-ppc.c +++ b/gas/config/tc-ppc.c @@ -2816,7 +2816,7 @@ ppc_macro (str, macro) char *s; unsigned int len; const char *format; - int arg; + unsigned int arg; char *send; char *complete; @@ -2854,7 +2854,7 @@ ppc_macro (str, macro) else { arg = strtol (format + 1, &send, 10); - know (send != format && arg >= 0 && arg < count); + know (send != format && arg < count); len += strlen (operands[arg]); format = send; } |