OSDN Git Service

gas/opcodes: blackfin: punt BYTEOP2M insn support
authorvapier <vapier>
Mon, 14 Feb 2011 03:53:14 +0000 (03:53 +0000)
committervapier <vapier>
Mon, 14 Feb 2011 03:53:14 +0000 (03:53 +0000)
The BYTEOP2M insn was part of the initial Blackfin designs, but never made
it into any actual silicon.  So punt support for it.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
gas/ChangeLog
gas/config/bfin-lex.l
gas/config/bfin-parse.y
gas/testsuite/ChangeLog
gas/testsuite/gas/bfin/video.d
gas/testsuite/gas/bfin/video.s
gas/testsuite/gas/bfin/video2.d
gas/testsuite/gas/bfin/video2.s
opcodes/ChangeLog
opcodes/bfin-dis.c

index 656c912..c1aead2 100644 (file)
@@ -1,3 +1,9 @@
+2011-02-13  Mike Frysinger  <vapier@gentoo.org>
+
+       * config/bfin-lex.l (BYTEOP2M): Remove tokenization.
+       * config/bfin-parse.y (BYTEOP2M): Delete token.
+       (asm_1): Remove BYTEOP2M insn matching.
+
 2011-02-12  Mike Frysinger  <vapier@gentoo.org>
 
        * config/bfin-defs.h: Include opcode/bfin.h.
index 9606006..9792323 100644 (file)
@@ -190,7 +190,6 @@ int yylex (void);
 [bB][yY][tT][eE][oO][pP]16[mM]          return BYTEOP16M;
 [bB][yY][tT][eE][oO][pP]16[pP]          return BYTEOP16P;
 [bB][yY][tT][eE][oO][pP]3[pP]           return BYTEOP3P;
-[bB][yY][tT][eE][oO][pP]2[mM]           return BYTEOP2M;
 [bB][yY][tT][eE][oO][pP]2[pP]           return BYTEOP2P;
 [bB][yY][tT][eE][oO][pP]1[pP]           return BYTEOP1P;
 [bB][yY]                                return BY;
index b1795e1..c43d1b3 100644 (file)
@@ -455,7 +455,7 @@ dsp32shiftimm in slot1 and P-reg Store in slot2 Not Supported");
 
 /* Vector Specific.  */
 %token BYTEOP16P BYTEOP16M
-%token BYTEOP1P BYTEOP2P BYTEOP2M BYTEOP3P
+%token BYTEOP1P BYTEOP2P BYTEOP3P
 %token BYTEUNPACK BYTEPACK
 %token PACK
 %token SAA
@@ -1053,22 +1053,6 @@ asm_1:
            }
        }
 
-       | REG ASSIGN BYTEOP2M LPAREN REG COLON expr COMMA REG COLON expr RPAREN
-         rnd_op
-       {
-         if (!IS_DREG ($1))
-           return yyerror ("Dregs expected");
-         else if (!valid_dreg_pair (&$5, $7))
-           return yyerror ("Bad dreg pair");
-         else if (!valid_dreg_pair (&$9, $11))
-           return yyerror ("Bad dreg pair");
-         else
-           {
-             notethat ("dsp32alu: dregs = BYTEOP2M (dregs_pair , dregs_pair ) (rnd_op)\n");
-             $$ = DSP32ALU (22, $13.r0, 0, &$1, &$5, &$9, $13.s0, $13.x0, $13.aop + 2);
-           }
-       }
-
        | REG ASSIGN BYTEOP3P LPAREN REG COLON expr COMMA REG COLON expr RPAREN
          b3_op
        {
index f9c90af..946dc1b 100644 (file)
@@ -1,3 +1,8 @@
+2011-02-12  Mike Frysinger  <vapier@gentoo.org>
+
+       * gas/bfin/video.d, gas/bfin/video.s, gas/bfin/video2.d,
+       gas/bfin/video2.s: Remove BYTEOP2M insns.
+
 2011-02-10  Kai Tietz  <kai.tietz@onevision.com>
 
        * gas/cfi/cfi-x86_64.d: Adjust for x64 PE+.
index ce7362d..0fafc06 100644 (file)
@@ -40,16 +40,6 @@ Disassembly of section .text:
 [ 0-9a-f]+:    16 c4 02 6c     R6 = BYTEOP2P \(R1:0, R3:2\) \(TL, R\);
 [ 0-9a-f]+:    36 c4 02 6e     R7 = BYTEOP2P \(R1:0, R3:2\) \(TH, R\);
 
-[0-9a-f]+ <byteop2m>:
-[ 0-9a-f]+:    16 c4 02 80     R0 = BYTEOP2M \(R1:0, R3:2\) \(RNDL\);
-[ 0-9a-f]+:    36 c4 02 82     R1 = BYTEOP2M \(R1:0, R3:2\) \(RNDH\);
-[ 0-9a-f]+:    16 c4 02 c4     R2 = BYTEOP2M \(R1:0, R3:2\) \(TL\);
-[ 0-9a-f]+:    36 c4 02 c6     R3 = BYTEOP2M \(R1:0, R3:2\) \(TH\);
-[ 0-9a-f]+:    16 c4 02 a8     R4 = BYTEOP2M \(R1:0, R3:2\) \(RNDL, R\);
-[ 0-9a-f]+:    36 c4 02 aa     R5 = BYTEOP2M \(R1:0, R3:2\) \(RNDH, R\);
-[ 0-9a-f]+:    16 c4 02 ec     R6 = BYTEOP2M \(R1:0, R3:2\) \(TL, R\);
-[ 0-9a-f]+:    36 c4 02 ee     R7 = BYTEOP2M \(R1:0, R3:2\) \(TH, R\);
-
 [0-9a-f]+ <bytepack>:
 [ 0-9a-f]+:    18 c4 03 0a     R5 = BYTEPACK \(R0, R3\);
 
index a3f34c0..b53eb6c 100644 (file)
@@ -49,18 +49,6 @@ byteop2p:
        R7 = byteop2p (r1:0, R3:2) (TH, r);
 
        .text
-       .global byteop2m
-byteop2m:
-       R0 = BYTEOP2M (R1:0, R3:2) (RNDL);
-       r1 = byteop2m (r1:0, r3:2) (rndh);
-       R2 = Byteop2m (R1:0, R3:2) (tL);
-       R3 = Byteop2m (r1:0, r3:2) (TH);
-       r4 = ByTEOP2M (r1:0, R3:2) (Rndl, R);
-       R5 = byTeOp2m (R1:0, r3:2) (rndH, r);
-       r6 = BYTEop2m (r1:0, r3:2) (tl, R);
-       R7 = byteop2m (r1:0, R3:2) (TH, r);
-
-       .text
        .global bytepack
 bytepack:
        R5 = BytePack (R0, R3);
index ed5d2fd..b9830d9 100644 (file)
@@ -103,30 +103,6 @@ Disassembly of section .text:
 [ 0-9a-f]+:    36 c4 12 2a     R5 = BYTEOP2P \(R3:2, R3:2\) \(RNDH, R\);
 [ 0-9a-f]+:    16 c4 12 6c     R6 = BYTEOP2P \(R3:2, R3:2\) \(TL, R\);
 [ 0-9a-f]+:    36 c4 12 6e     R7 = BYTEOP2P \(R3:2, R3:2\) \(TH, R\);
-[ 0-9a-f]+:    16 c4 02 86     R3 = BYTEOP2M \(R1:0, R3:2\) \(RNDL\);
-[ 0-9a-f]+:    36 c4 02 86     R3 = BYTEOP2M \(R1:0, R3:2\) \(RNDH\);
-[ 0-9a-f]+:    16 c4 02 c6     R3 = BYTEOP2M \(R1:0, R3:2\) \(TL\);
-[ 0-9a-f]+:    36 c4 02 c6     R3 = BYTEOP2M \(R1:0, R3:2\) \(TH\);
-[ 0-9a-f]+:    16 c4 02 a6     R3 = BYTEOP2M \(R1:0, R3:2\) \(RNDL, R\);
-[ 0-9a-f]+:    36 c4 02 a6     R3 = BYTEOP2M \(R1:0, R3:2\) \(RNDH, R\);
-[ 0-9a-f]+:    16 c4 02 e6     R3 = BYTEOP2M \(R1:0, R3:2\) \(TL, R\);
-[ 0-9a-f]+:    36 c4 02 e6     R3 = BYTEOP2M \(R1:0, R3:2\) \(TH, R\);
-[ 0-9a-f]+:    16 c4 02 80     R0 = BYTEOP2M \(R1:0, R3:2\) \(RNDL\);
-[ 0-9a-f]+:    36 c4 02 82     R1 = BYTEOP2M \(R1:0, R3:2\) \(RNDH\);
-[ 0-9a-f]+:    16 c4 02 c4     R2 = BYTEOP2M \(R1:0, R3:2\) \(TL\);
-[ 0-9a-f]+:    36 c4 02 c6     R3 = BYTEOP2M \(R1:0, R3:2\) \(TH\);
-[ 0-9a-f]+:    16 c4 02 a8     R4 = BYTEOP2M \(R1:0, R3:2\) \(RNDL, R\);
-[ 0-9a-f]+:    36 c4 02 aa     R5 = BYTEOP2M \(R1:0, R3:2\) \(RNDH, R\);
-[ 0-9a-f]+:    16 c4 02 ec     R6 = BYTEOP2M \(R1:0, R3:2\) \(TL, R\);
-[ 0-9a-f]+:    36 c4 02 ee     R7 = BYTEOP2M \(R1:0, R3:2\) \(TH, R\);
-[ 0-9a-f]+:    16 c4 12 80     R0 = BYTEOP2M \(R3:2, R3:2\) \(RNDL\);
-[ 0-9a-f]+:    36 c4 12 82     R1 = BYTEOP2M \(R3:2, R3:2\) \(RNDH\);
-[ 0-9a-f]+:    16 c4 12 c4     R2 = BYTEOP2M \(R3:2, R3:2\) \(TL\);
-[ 0-9a-f]+:    36 c4 12 c6     R3 = BYTEOP2M \(R3:2, R3:2\) \(TH\);
-[ 0-9a-f]+:    16 c4 12 a8     R4 = BYTEOP2M \(R3:2, R3:2\) \(RNDL, R\);
-[ 0-9a-f]+:    36 c4 12 aa     R5 = BYTEOP2M \(R3:2, R3:2\) \(RNDH, R\);
-[ 0-9a-f]+:    16 c4 12 ec     R6 = BYTEOP2M \(R3:2, R3:2\) \(TL, R\);
-[ 0-9a-f]+:    36 c4 12 ee     R7 = BYTEOP2M \(R3:2, R3:2\) \(TH, R\);
 [ 0-9a-f]+:    18 c4 00 00     R0 = BYTEPACK \(R0, R0\);
 [ 0-9a-f]+:    18 c4 13 02     R1 = BYTEPACK \(R2, R3\);
 [ 0-9a-f]+:    18 c4 2e 08     R4 = BYTEPACK \(R5, R6\);
index 1d27c56..22fb50f 100755 (executable)
@@ -159,52 +159,6 @@ r5 = byteop2p (r3:2, r3:2) (rndh, r) ;
 r6 = byteop2p (r3:2, r3:2) (tl, r) ;
 r7 = byteop2p (r3:2, r3:2) (th, r) ;
 
-/* forward byte order operands */
-//Dreg = BYTEOP2M (Dreg_pair, Dreg_pair) (RNDL) ;
-/* round into low bytes (b) */
-//Dreg = BYTEOP2M (Dreg_pair, Dreg_pair) (RNDH) ;
-/* round into high bytes (b) */
-//Dreg = BYTEOP2M (Dreg_pair, Dreg_pair) (TL) ;
-/* truncate into low bytes (b) */
-//Dreg = BYTEOP2M (Dreg_pair, Dreg_pair) (TH) ;
-/* truncate into high bytes (b) */
-/* reverse byte order operands */
-//Dreg = BYTEOP2M (Dreg_pair, Dreg_pair) (RNDL, R) ;
-/* round into low bytes (b) */
-//Dreg = BYTEOP2M (Dreg_pair, Dreg_pair) (RNDH, R) ;
-/* round into high bytes (b) */
-//Dreg = BYTEOP2M (Dreg_pair, Dreg_pair) (TL, R) ;
-/* truncate into low bytes (b) */
-//Dreg = BYTEOP2M (Dreg_pair, Dreg_pair) (TH, R) ;
-/* truncate into high bytes (b) */
-
-r3 = byteop2m (r1:0, r3:2) (rndl) ;
-r3 = byteop2m (r1:0, r3:2) (rndh) ;
-r3 = byteop2m (r1:0, r3:2) (tl) ;
-r3 = byteop2m (r1:0, r3:2) (th) ;
-r3 = byteop2m (r1:0, r3:2) (rndl, r) ;
-r3 = byteop2m (r1:0, r3:2) (rndh, r) ;
-r3 = byteop2m (r1:0, r3:2) (tl, r) ;
-r3 = byteop2m (r1:0, r3:2) (th, r) ;
-
-r0 = byteop2m (r1:0, r3:2) (rndl) ;
-r1 = byteop2m (r1:0, r3:2) (rndh) ;
-r2 = byteop2m (r1:0, r3:2) (tl) ;
-r3 = byteop2m (r1:0, r3:2) (th) ;
-r4 = byteop2m (r1:0, r3:2) (rndl, r) ;
-r5 = byteop2m (r1:0, r3:2) (rndh, r) ;
-r6 = byteop2m (r1:0, r3:2) (tl, r) ;
-r7 = byteop2m (r1:0, r3:2) (th, r) ;
-
-r0 = byteop2m (r3:2, r3:2) (rndl) ;
-r1 = byteop2m (r3:2, r3:2) (rndh) ;
-r2 = byteop2m (r3:2, r3:2) (tl) ;
-r3 = byteop2m (r3:2, r3:2) (th) ;
-r4 = byteop2m (r3:2, r3:2) (rndl, r) ;
-r5 = byteop2m (r3:2, r3:2) (rndh, r) ;
-r6 = byteop2m (r3:2, r3:2) (tl, r) ;
-r7 = byteop2m (r3:2, r3:2) (th, r) ;
-
 //Dreg = BYTEPACK ( Dreg, Dreg ) ; /* (b) */
 r0 = bytepack (r0,r0) ;
 r1 = bytepack (r2,r3) ;
index c11d832..aaafac4 100644 (file)
@@ -1,3 +1,7 @@
+2011-02-13  Mike Frysinger  <vapier@gentoo.org>
+
+       * bfin-dis.c (decode_dsp32alu_0): Delete BYTEOP2M code.
+
 2011-02-12  Mike Frysinger  <vapier@gentoo.org>
 
        * bfin-dis.c (decode_pseudoDEBUG_0): Add space after PRNT.
index 2e73b09..e6901dc 100644 (file)
@@ -3373,74 +3373,6 @@ decode_dsp32alu_0 (TIword iw0, TIword iw1, disassemble_info *outf)
   else if (aop == 3 && aopcde == 11 && s == 1)
     OUTS (outf, "A0 -= A1 (W32)");
 
-  else if (aop == 3 && aopcde == 22 && HL == 1)
-    {
-      OUTS (outf, dregs (dst0));
-      OUTS (outf, " = BYTEOP2M (");
-      OUTS (outf, dregs (src0 + 1));
-      OUTS (outf, ":");
-      OUTS (outf, imm5d (src0));
-      OUTS (outf, ", ");
-      OUTS (outf, dregs (src1 + 1));
-      OUTS (outf, ":");
-      OUTS (outf, imm5d (src1));
-      OUTS (outf, ") (TH");
-      if (s == 1)
-       OUTS (outf, ", R)");
-      else
-       OUTS (outf, ")");
-    }
-  else if (aop == 3 && aopcde == 22 && HL == 0)
-    {
-      OUTS (outf, dregs (dst0));
-      OUTS (outf, " = BYTEOP2M (");
-      OUTS (outf, dregs (src0 + 1));
-      OUTS (outf, ":");
-      OUTS (outf, imm5d (src0));
-      OUTS (outf, ", ");
-      OUTS (outf, dregs (src1 + 1));
-      OUTS (outf, ":");
-      OUTS (outf, imm5d (src1));
-      OUTS (outf, ") (TL");
-      if (s == 1)
-       OUTS (outf, ", R)");
-      else
-       OUTS (outf, ")");
-    }
-  else if (aop == 2 && aopcde == 22 && HL == 1)
-    {
-      OUTS (outf, dregs (dst0));
-      OUTS (outf, " = BYTEOP2M (");
-      OUTS (outf, dregs (src0 + 1));
-      OUTS (outf, ":");
-      OUTS (outf, imm5d (src0));
-      OUTS (outf, ", ");
-      OUTS (outf, dregs (src1 + 1));
-      OUTS (outf, ":");
-      OUTS (outf, imm5d (src1));
-      OUTS (outf, ") (RNDH");
-      if (s == 1)
-       OUTS (outf, ", R)");
-      else
-       OUTS (outf, ")");
-    }
-  else if (aop == 2 && aopcde == 22 && HL == 0)
-    {
-      OUTS (outf, dregs (dst0));
-      OUTS (outf, " = BYTEOP2M (");
-      OUTS (outf, dregs (src0 + 1));
-      OUTS (outf, ":");
-      OUTS (outf, imm5d (src0));
-      OUTS (outf, ", ");
-      OUTS (outf, dregs (src1 + 1));
-      OUTS (outf, ":");
-      OUTS (outf, imm5d (src1));
-      OUTS (outf, ") (RNDL");
-      if (s == 1)
-       OUTS (outf, ", R)");
-      else
-       OUTS (outf, ")");
-    }
   else if (aop == 1 && aopcde == 22 && HL == 1)
     {
       OUTS (outf, dregs (dst0));