Skip to content

Commit 36f4461

Browse files
committed
gas/opcodes: blackfin: punt BYTEOP2M insn support
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 <[email protected]>
1 parent bc9a555 commit 36f4461

File tree

10 files changed

+16
-178
lines changed

10 files changed

+16
-178
lines changed

gas/ChangeLog

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
2011-02-13 Mike Frysinger <[email protected]>
2+
3+
* config/bfin-lex.l (BYTEOP2M): Remove tokenization.
4+
* config/bfin-parse.y (BYTEOP2M): Delete token.
5+
(asm_1): Remove BYTEOP2M insn matching.
6+
17
2011-02-12 Mike Frysinger <[email protected]>
28

39
* config/bfin-defs.h: Include opcode/bfin.h.

gas/config/bfin-lex.l

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,6 @@ int yylex (void);
190190
[bB][yY][tT][eE][oO][pP]16[mM] return BYTEOP16M;
191191
[bB][yY][tT][eE][oO][pP]16[pP] return BYTEOP16P;
192192
[bB][yY][tT][eE][oO][pP]3[pP] return BYTEOP3P;
193-
[bB][yY][tT][eE][oO][pP]2[mM] return BYTEOP2M;
194193
[bB][yY][tT][eE][oO][pP]2[pP] return BYTEOP2P;
195194
[bB][yY][tT][eE][oO][pP]1[pP] return BYTEOP1P;
196195
[bB][yY] return BY;

gas/config/bfin-parse.y

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -455,7 +455,7 @@ dsp32shiftimm in slot1 and P-reg Store in slot2 Not Supported");
455455

456456
/* Vector Specific. */
457457
%token BYTEOP16P BYTEOP16M
458-
%token BYTEOP1P BYTEOP2P BYTEOP2M BYTEOP3P
458+
%token BYTEOP1P BYTEOP2P BYTEOP3P
459459
%token BYTEUNPACK BYTEPACK
460460
%token PACK
461461
%token SAA
@@ -1053,22 +1053,6 @@ asm_1:
10531053
}
10541054
}
10551055

1056-
| REG ASSIGN BYTEOP2M LPAREN REG COLON expr COMMA REG COLON expr RPAREN
1057-
rnd_op
1058-
{
1059-
if (!IS_DREG ($1))
1060-
return yyerror ("Dregs expected");
1061-
else if (!valid_dreg_pair (&$5, $7))
1062-
return yyerror ("Bad dreg pair");
1063-
else if (!valid_dreg_pair (&$9, $11))
1064-
return yyerror ("Bad dreg pair");
1065-
else
1066-
{
1067-
notethat ("dsp32alu: dregs = BYTEOP2M (dregs_pair , dregs_pair ) (rnd_op)\n");
1068-
$$ = DSP32ALU (22, $13.r0, 0, &$1, &$5, &$9, $13.s0, $13.x0, $13.aop + 2);
1069-
}
1070-
}
1071-
10721056
| REG ASSIGN BYTEOP3P LPAREN REG COLON expr COMMA REG COLON expr RPAREN
10731057
b3_op
10741058
{

gas/testsuite/ChangeLog

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
2011-02-12 Mike Frysinger <[email protected]>
2+
3+
* gas/bfin/video.d, gas/bfin/video.s, gas/bfin/video2.d,
4+
gas/bfin/video2.s: Remove BYTEOP2M insns.
5+
16
2011-02-10 Kai Tietz <[email protected]>
27

38
* gas/cfi/cfi-x86_64.d: Adjust for x64 PE+.

gas/testsuite/gas/bfin/video.d

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -40,16 +40,6 @@ Disassembly of section .text:
4040
[ 0-9a-f]+: 16 c4 02 6c R6 = BYTEOP2P \(R1:0, R3:2\) \(TL, R\);
4141
[ 0-9a-f]+: 36 c4 02 6e R7 = BYTEOP2P \(R1:0, R3:2\) \(TH, R\);
4242

43-
[0-9a-f]+ <byteop2m>:
44-
[ 0-9a-f]+: 16 c4 02 80 R0 = BYTEOP2M \(R1:0, R3:2\) \(RNDL\);
45-
[ 0-9a-f]+: 36 c4 02 82 R1 = BYTEOP2M \(R1:0, R3:2\) \(RNDH\);
46-
[ 0-9a-f]+: 16 c4 02 c4 R2 = BYTEOP2M \(R1:0, R3:2\) \(TL\);
47-
[ 0-9a-f]+: 36 c4 02 c6 R3 = BYTEOP2M \(R1:0, R3:2\) \(TH\);
48-
[ 0-9a-f]+: 16 c4 02 a8 R4 = BYTEOP2M \(R1:0, R3:2\) \(RNDL, R\);
49-
[ 0-9a-f]+: 36 c4 02 aa R5 = BYTEOP2M \(R1:0, R3:2\) \(RNDH, R\);
50-
[ 0-9a-f]+: 16 c4 02 ec R6 = BYTEOP2M \(R1:0, R3:2\) \(TL, R\);
51-
[ 0-9a-f]+: 36 c4 02 ee R7 = BYTEOP2M \(R1:0, R3:2\) \(TH, R\);
52-
5343
[0-9a-f]+ <bytepack>:
5444
[ 0-9a-f]+: 18 c4 03 0a R5 = BYTEPACK \(R0, R3\);
5545

gas/testsuite/gas/bfin/video.s

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -48,18 +48,6 @@ byteop2p:
4848
r6 = BYTEop2p (r1:0, r3:2) (tl, R);
4949
R7 = byteop2p (r1:0, R3:2) (TH, r);
5050

51-
.text
52-
.global byteop2m
53-
byteop2m:
54-
R0 = BYTEOP2M (R1:0, R3:2) (RNDL);
55-
r1 = byteop2m (r1:0, r3:2) (rndh);
56-
R2 = Byteop2m (R1:0, R3:2) (tL);
57-
R3 = Byteop2m (r1:0, r3:2) (TH);
58-
r4 = ByTEOP2M (r1:0, R3:2) (Rndl, R);
59-
R5 = byTeOp2m (R1:0, r3:2) (rndH, r);
60-
r6 = BYTEop2m (r1:0, r3:2) (tl, R);
61-
R7 = byteop2m (r1:0, R3:2) (TH, r);
62-
6351
.text
6452
.global bytepack
6553
bytepack:

gas/testsuite/gas/bfin/video2.d

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -103,30 +103,6 @@ Disassembly of section .text:
103103
[ 0-9a-f]+: 36 c4 12 2a R5 = BYTEOP2P \(R3:2, R3:2\) \(RNDH, R\);
104104
[ 0-9a-f]+: 16 c4 12 6c R6 = BYTEOP2P \(R3:2, R3:2\) \(TL, R\);
105105
[ 0-9a-f]+: 36 c4 12 6e R7 = BYTEOP2P \(R3:2, R3:2\) \(TH, R\);
106-
[ 0-9a-f]+: 16 c4 02 86 R3 = BYTEOP2M \(R1:0, R3:2\) \(RNDL\);
107-
[ 0-9a-f]+: 36 c4 02 86 R3 = BYTEOP2M \(R1:0, R3:2\) \(RNDH\);
108-
[ 0-9a-f]+: 16 c4 02 c6 R3 = BYTEOP2M \(R1:0, R3:2\) \(TL\);
109-
[ 0-9a-f]+: 36 c4 02 c6 R3 = BYTEOP2M \(R1:0, R3:2\) \(TH\);
110-
[ 0-9a-f]+: 16 c4 02 a6 R3 = BYTEOP2M \(R1:0, R3:2\) \(RNDL, R\);
111-
[ 0-9a-f]+: 36 c4 02 a6 R3 = BYTEOP2M \(R1:0, R3:2\) \(RNDH, R\);
112-
[ 0-9a-f]+: 16 c4 02 e6 R3 = BYTEOP2M \(R1:0, R3:2\) \(TL, R\);
113-
[ 0-9a-f]+: 36 c4 02 e6 R3 = BYTEOP2M \(R1:0, R3:2\) \(TH, R\);
114-
[ 0-9a-f]+: 16 c4 02 80 R0 = BYTEOP2M \(R1:0, R3:2\) \(RNDL\);
115-
[ 0-9a-f]+: 36 c4 02 82 R1 = BYTEOP2M \(R1:0, R3:2\) \(RNDH\);
116-
[ 0-9a-f]+: 16 c4 02 c4 R2 = BYTEOP2M \(R1:0, R3:2\) \(TL\);
117-
[ 0-9a-f]+: 36 c4 02 c6 R3 = BYTEOP2M \(R1:0, R3:2\) \(TH\);
118-
[ 0-9a-f]+: 16 c4 02 a8 R4 = BYTEOP2M \(R1:0, R3:2\) \(RNDL, R\);
119-
[ 0-9a-f]+: 36 c4 02 aa R5 = BYTEOP2M \(R1:0, R3:2\) \(RNDH, R\);
120-
[ 0-9a-f]+: 16 c4 02 ec R6 = BYTEOP2M \(R1:0, R3:2\) \(TL, R\);
121-
[ 0-9a-f]+: 36 c4 02 ee R7 = BYTEOP2M \(R1:0, R3:2\) \(TH, R\);
122-
[ 0-9a-f]+: 16 c4 12 80 R0 = BYTEOP2M \(R3:2, R3:2\) \(RNDL\);
123-
[ 0-9a-f]+: 36 c4 12 82 R1 = BYTEOP2M \(R3:2, R3:2\) \(RNDH\);
124-
[ 0-9a-f]+: 16 c4 12 c4 R2 = BYTEOP2M \(R3:2, R3:2\) \(TL\);
125-
[ 0-9a-f]+: 36 c4 12 c6 R3 = BYTEOP2M \(R3:2, R3:2\) \(TH\);
126-
[ 0-9a-f]+: 16 c4 12 a8 R4 = BYTEOP2M \(R3:2, R3:2\) \(RNDL, R\);
127-
[ 0-9a-f]+: 36 c4 12 aa R5 = BYTEOP2M \(R3:2, R3:2\) \(RNDH, R\);
128-
[ 0-9a-f]+: 16 c4 12 ec R6 = BYTEOP2M \(R3:2, R3:2\) \(TL, R\);
129-
[ 0-9a-f]+: 36 c4 12 ee R7 = BYTEOP2M \(R3:2, R3:2\) \(TH, R\);
130106
[ 0-9a-f]+: 18 c4 00 00 R0 = BYTEPACK \(R0, R0\);
131107
[ 0-9a-f]+: 18 c4 13 02 R1 = BYTEPACK \(R2, R3\);
132108
[ 0-9a-f]+: 18 c4 2e 08 R4 = BYTEPACK \(R5, R6\);

gas/testsuite/gas/bfin/video2.s

Lines changed: 0 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -159,52 +159,6 @@ r5 = byteop2p (r3:2, r3:2) (rndh, r) ;
159159
r6 = byteop2p (r3:2, r3:2) (tl, r) ;
160160
r7 = byteop2p (r3:2, r3:2) (th, r) ;
161161

162-
/* forward byte order operands */
163-
//Dreg = BYTEOP2M (Dreg_pair, Dreg_pair) (RNDL) ;
164-
/* round into low bytes (b) */
165-
//Dreg = BYTEOP2M (Dreg_pair, Dreg_pair) (RNDH) ;
166-
/* round into high bytes (b) */
167-
//Dreg = BYTEOP2M (Dreg_pair, Dreg_pair) (TL) ;
168-
/* truncate into low bytes (b) */
169-
//Dreg = BYTEOP2M (Dreg_pair, Dreg_pair) (TH) ;
170-
/* truncate into high bytes (b) */
171-
/* reverse byte order operands */
172-
//Dreg = BYTEOP2M (Dreg_pair, Dreg_pair) (RNDL, R) ;
173-
/* round into low bytes (b) */
174-
//Dreg = BYTEOP2M (Dreg_pair, Dreg_pair) (RNDH, R) ;
175-
/* round into high bytes (b) */
176-
//Dreg = BYTEOP2M (Dreg_pair, Dreg_pair) (TL, R) ;
177-
/* truncate into low bytes (b) */
178-
//Dreg = BYTEOP2M (Dreg_pair, Dreg_pair) (TH, R) ;
179-
/* truncate into high bytes (b) */
180-
181-
r3 = byteop2m (r1:0, r3:2) (rndl) ;
182-
r3 = byteop2m (r1:0, r3:2) (rndh) ;
183-
r3 = byteop2m (r1:0, r3:2) (tl) ;
184-
r3 = byteop2m (r1:0, r3:2) (th) ;
185-
r3 = byteop2m (r1:0, r3:2) (rndl, r) ;
186-
r3 = byteop2m (r1:0, r3:2) (rndh, r) ;
187-
r3 = byteop2m (r1:0, r3:2) (tl, r) ;
188-
r3 = byteop2m (r1:0, r3:2) (th, r) ;
189-
190-
r0 = byteop2m (r1:0, r3:2) (rndl) ;
191-
r1 = byteop2m (r1:0, r3:2) (rndh) ;
192-
r2 = byteop2m (r1:0, r3:2) (tl) ;
193-
r3 = byteop2m (r1:0, r3:2) (th) ;
194-
r4 = byteop2m (r1:0, r3:2) (rndl, r) ;
195-
r5 = byteop2m (r1:0, r3:2) (rndh, r) ;
196-
r6 = byteop2m (r1:0, r3:2) (tl, r) ;
197-
r7 = byteop2m (r1:0, r3:2) (th, r) ;
198-
199-
r0 = byteop2m (r3:2, r3:2) (rndl) ;
200-
r1 = byteop2m (r3:2, r3:2) (rndh) ;
201-
r2 = byteop2m (r3:2, r3:2) (tl) ;
202-
r3 = byteop2m (r3:2, r3:2) (th) ;
203-
r4 = byteop2m (r3:2, r3:2) (rndl, r) ;
204-
r5 = byteop2m (r3:2, r3:2) (rndh, r) ;
205-
r6 = byteop2m (r3:2, r3:2) (tl, r) ;
206-
r7 = byteop2m (r3:2, r3:2) (th, r) ;
207-
208162
//Dreg = BYTEPACK ( Dreg, Dreg ) ; /* (b) */
209163
r0 = bytepack (r0,r0) ;
210164
r1 = bytepack (r2,r3) ;

opcodes/ChangeLog

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
2011-02-13 Mike Frysinger <[email protected]>
2+
3+
* bfin-dis.c (decode_dsp32alu_0): Delete BYTEOP2M code.
4+
15
2011-02-12 Mike Frysinger <[email protected]>
26

37
* bfin-dis.c (decode_pseudoDEBUG_0): Add space after PRNT.

opcodes/bfin-dis.c

Lines changed: 0 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -3373,74 +3373,6 @@ decode_dsp32alu_0 (TIword iw0, TIword iw1, disassemble_info *outf)
33733373
else if (aop == 3 && aopcde == 11 && s == 1)
33743374
OUTS (outf, "A0 -= A1 (W32)");
33753375

3376-
else if (aop == 3 && aopcde == 22 && HL == 1)
3377-
{
3378-
OUTS (outf, dregs (dst0));
3379-
OUTS (outf, " = BYTEOP2M (");
3380-
OUTS (outf, dregs (src0 + 1));
3381-
OUTS (outf, ":");
3382-
OUTS (outf, imm5d (src0));
3383-
OUTS (outf, ", ");
3384-
OUTS (outf, dregs (src1 + 1));
3385-
OUTS (outf, ":");
3386-
OUTS (outf, imm5d (src1));
3387-
OUTS (outf, ") (TH");
3388-
if (s == 1)
3389-
OUTS (outf, ", R)");
3390-
else
3391-
OUTS (outf, ")");
3392-
}
3393-
else if (aop == 3 && aopcde == 22 && HL == 0)
3394-
{
3395-
OUTS (outf, dregs (dst0));
3396-
OUTS (outf, " = BYTEOP2M (");
3397-
OUTS (outf, dregs (src0 + 1));
3398-
OUTS (outf, ":");
3399-
OUTS (outf, imm5d (src0));
3400-
OUTS (outf, ", ");
3401-
OUTS (outf, dregs (src1 + 1));
3402-
OUTS (outf, ":");
3403-
OUTS (outf, imm5d (src1));
3404-
OUTS (outf, ") (TL");
3405-
if (s == 1)
3406-
OUTS (outf, ", R)");
3407-
else
3408-
OUTS (outf, ")");
3409-
}
3410-
else if (aop == 2 && aopcde == 22 && HL == 1)
3411-
{
3412-
OUTS (outf, dregs (dst0));
3413-
OUTS (outf, " = BYTEOP2M (");
3414-
OUTS (outf, dregs (src0 + 1));
3415-
OUTS (outf, ":");
3416-
OUTS (outf, imm5d (src0));
3417-
OUTS (outf, ", ");
3418-
OUTS (outf, dregs (src1 + 1));
3419-
OUTS (outf, ":");
3420-
OUTS (outf, imm5d (src1));
3421-
OUTS (outf, ") (RNDH");
3422-
if (s == 1)
3423-
OUTS (outf, ", R)");
3424-
else
3425-
OUTS (outf, ")");
3426-
}
3427-
else if (aop == 2 && aopcde == 22 && HL == 0)
3428-
{
3429-
OUTS (outf, dregs (dst0));
3430-
OUTS (outf, " = BYTEOP2M (");
3431-
OUTS (outf, dregs (src0 + 1));
3432-
OUTS (outf, ":");
3433-
OUTS (outf, imm5d (src0));
3434-
OUTS (outf, ", ");
3435-
OUTS (outf, dregs (src1 + 1));
3436-
OUTS (outf, ":");
3437-
OUTS (outf, imm5d (src1));
3438-
OUTS (outf, ") (RNDL");
3439-
if (s == 1)
3440-
OUTS (outf, ", R)");
3441-
else
3442-
OUTS (outf, ")");
3443-
}
34443376
else if (aop == 1 && aopcde == 22 && HL == 1)
34453377
{
34463378
OUTS (outf, dregs (dst0));

0 commit comments

Comments
 (0)