aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Anglin <dave.anglin@nrc.ca>2012-10-14 23:27:37 +0000
committerDave Anglin <dave.anglin@nrc.ca>2012-10-14 23:27:37 +0000
commitcacac30d4ed5f863b8ac93d9ca29fc35b095c951 (patch)
treeb0e6152ca143e2a21869509a43c2fb5c66e5f7c6
parent4e7fbe0c1bb362c30123ebb479c33c2ee774e2e0 (diff)
downloadbinutils-cacac30d4ed5f863b8ac93d9ca29fc35b095c951.tar.gz
* config/tc-hppa.c (pa_ip): Reject double floating point stores and
loads that reference the right half of a floating point register.
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-hppa.c5
2 files changed, 9 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 0fb92862a..376869e9d 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 6411e36cc..16192d896 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);