diff options
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/config/tc-hppa.c | 5 |
2 files changed, 9 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 0fb9286..376869e 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2012-10-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + * config/tc-hppa.c (pa_ip): Reject double floating point stores and + loads that reference the right half of a floating point register. + 2012-10-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> * config/tc-hppa.c (pa_ip): Limit unit conditions for uxor to those diff --git a/gas/config/tc-hppa.c b/gas/config/tc-hppa.c index 6411e36..16192d8 100644 --- a/gas/config/tc-hppa.c +++ b/gas/config/tc-hppa.c @@ -5482,7 +5482,10 @@ pa_ip (char *str) case 't': if (!pa_parse_number (&s, 3)) break; - num = (pa_number & ~FP_REG_RSEL) - FP_REG_BASE; + /* RSEL should not be set. */ + if (pa_number & FP_REG_RSEL) + break; + num = pa_number - FP_REG_BASE; CHECK_FIELD (num, 31, 0, 0); INSERT_FIELD_AND_CONTINUE (opcode, num, 0); |