* config/tc-hppa.c (pa_ip): Handle PA2.0 unit completers. Handle
authorJeff Law <law@redhat.com>
Thu, 25 Nov 1999 03:27:35 +0000 (03:27 +0000)
committerJeff Law <law@redhat.com>
Thu, 25 Nov 1999 03:27:35 +0000 (03:27 +0000)
        'B' operand for PA2.0 bb instruction.

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

index 807af87ebc1a95baa085a9d73492f82fa78006a5..5b28623c8f7475bb3fe2763bc05f9d22f05fdf07 100644 (file)
@@ -1,3 +1,8 @@
+Wed Nov 24 20:27:58 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * config/tc-hppa.c (pa_ip): Handle PA2.0 unit completers.  Handle
+       'B' operand for PA2.0 bb instruction.
+       
 1999-11-18  Nick Clifton  <nickc@cygnus.com>
 
        * config/tc-mcore.h (TC_FORCE_RELOCATION): Define for Mcore-pe
index d733577df9b727c3056f1e294f2048709de77f1a..fe53273d9d5f4b46b1b779cdcdf687a129a49ce1 100644 (file)
@@ -2794,6 +2794,30 @@ pa_ip (str)
                            flag = 1;
                            s += 3;
                          }
+                       else if (strncasecmp (s, "swz", 3) == 0)
+                         {
+                           cmpltr = 1;
+                           flag = 0;
+                           s += 3;
+                         }
+                       else if (strncasecmp (s, "swc", 3) == 0)
+                         {
+                           cmpltr = 5;
+                           flag = 0;
+                           s += 3;
+                         }
+                       else if (strncasecmp (s, "nwz", 3) == 0)
+                         {
+                           cmpltr = 1;
+                           flag = 1;
+                           s += 3;
+                         }
+                       else if (strncasecmp (s, "nwc", 3) == 0)
+                         {
+                           cmpltr = 5;
+                           flag = 1;
+                           s += 3;
+                         }
                        /* ",*" is a valid condition.  */
                        else if (*args != 'U')
                          as_bad (_("Invalid Unit Instruction Condition."));
@@ -3307,6 +3331,20 @@ pa_ip (str)
              opcode |= (num & 0x20) << 6;
              INSERT_FIELD_AND_CONTINUE (opcode, num & 0x1f, 5);
 
+           /* Handle a 5 bit immediate at 10 with 'd' as the complement
+              of the high bit of the immediate.  */
+           case 'B':
+             num = pa_get_absolute_expression (&the_insn, &s);
+             if (strict && the_insn.exp.X_op != O_constant)
+               break;
+             s = expr_end;
+             CHECK_FIELD (num, 63, 0, strict);
+             if (num & 0x20)
+               ;
+             else
+               opcode |= (1 << 13);
+             INSERT_FIELD_AND_CONTINUE (opcode, num & 0x1f, 21);
+
            /* Handle a 5 bit immediate at 10.  */
            case 'Q':
              num = pa_get_absolute_expression (&the_insn, &s);
This page took 0.063386 seconds and 4 git commands to generate.