summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cpu/ChangeLog4
-rw-r--r--cpu/fr30.cpu2
-rw-r--r--opcodes/ChangeLog4
-rw-r--r--opcodes/fr30-ibld.c2
4 files changed, 10 insertions, 2 deletions
diff --git a/cpu/ChangeLog b/cpu/ChangeLog
index 3d39b91b6d7..6882c456580 100644
--- a/cpu/ChangeLog
+++ b/cpu/ChangeLog
@@ -1,3 +1,7 @@
+2016-03-02 Alan Modra <amodra@gmail.com>
+
+ * fr30.cpu (f-m4): Replace -1 << 4 with -16.
+
2016-02-02 Andrew Burgess <andrew.burgess@embecosm.com>
* epiphany.opc (epiphany_print_insn): Set info->bytes_per_line to
diff --git a/cpu/fr30.cpu b/cpu/fr30.cpu
index 6c8e8ce2e93..01246477f31 100644
--- a/cpu/fr30.cpu
+++ b/cpu/fr30.cpu
@@ -163,7 +163,7 @@
; ??? On a 64 bit host this doesn't get completely sign extended
; if the value is recorded in a long, as it is during extraction.
; Various fixes exist, pick one.
- ((value pc) (or WI value (sll WI (const -1) (const 4))))
+ ((value pc) (or WI value (const -16)))
)
(dnf f-u8 "8 bit unsigned" () 8 8)
(dnf f-i8 "8 bit unsigned" () 4 8)
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 0a78719cb2e..63361e4f6ac 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,7 @@
+2016-03-02 Alan Modra <amodra@gmail.com>
+
+ * fr30-ibld.c: Regenerate.
+
2016-03-01 Nick Clifton <nickc@redhat.com>
PR target/19747
diff --git a/opcodes/fr30-ibld.c b/opcodes/fr30-ibld.c
index 1293e73ba29..3ebecf92f94 100644
--- a/opcodes/fr30-ibld.c
+++ b/opcodes/fr30-ibld.c
@@ -881,7 +881,7 @@ fr30_cgen_extract_operand (CGEN_CPU_DESC cd,
{
long value;
length = extract_normal (cd, ex_info, insn_value, 0, 0, 8, 4, 16, total_length, pc, & value);
- value = ((value) | (((-1UL) << (4))));
+ value = ((value) | (-16));
fields->f_m4 = value;
}
break;