]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
Fix double-word branch on bit instruction.
authorJohn David Anglin <danglin@gcc.gnu.org>
Wed, 2 Aug 2017 16:06:16 +0000 (12:06 -0400)
committerJohn David Anglin <danglin@gcc.gnu.org>
Wed, 2 Aug 2017 16:06:16 +0000 (12:06 -0400)
        Backport from mainline
        2017-07-31  John David Anglin  <danglin@gcc.gnu.org>

        * config/tc-hppa.c (pa_ip): Clear `d' bit in branch on bit instructions
        with a double-word condition and a fixed bit position greater than 31.

gas/ChangeLog
gas/config/tc-hppa.c

index 948f23662cac8ad67adb66809e4c937cf42b0ff3..cfa67e9efc92278c1b5f6678df5543dbe98290e1 100644 (file)
@@ -1,3 +1,11 @@
+2017-08-02  John David Anglin  <danglin@gcc.gnu.org>
+
+       Backport from mainline
+       2017-07-31  John David Anglin  <danglin@gcc.gnu.org>
+
+       * config/tc-hppa.c (pa_ip): Clear `d' bit in branch on bit instructions
+       with a double-word condition and a fixed bit position greater than 31.
+
 2017-08-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
 
        Backport from mainline
index 724b48bfbce0d102f980f4f0a3bf3f809320404f..e4ec89260772767464733e013b2018891ccfe8e9 100644 (file)
@@ -5216,9 +5216,7 @@ pa_ip (char *str)
              s = expr_end;
              CHECK_FIELD (num, 63, 0, strict);
              if (num & 0x20)
-               ;
-             else
-               opcode |= (1 << 13);
+               opcode &= ~(1 << 13);
              INSERT_FIELD_AND_CONTINUE (opcode, num & 0x1f, 21);
 
            /* Handle a 5 bit immediate at 10.  */