summaryrefslogtreecommitdiff
path: root/gas/config/bfin-parse.y
diff options
context:
space:
mode:
Diffstat (limited to 'gas/config/bfin-parse.y')
-rw-r--r--gas/config/bfin-parse.y37
1 files changed, 17 insertions, 20 deletions
diff --git a/gas/config/bfin-parse.y b/gas/config/bfin-parse.y
index 4eaf6f1b7a..797664a501 100644
--- a/gas/config/bfin-parse.y
+++ b/gas/config/bfin-parse.y
@@ -166,9 +166,6 @@ char *current_inputline;
extern char *yytext;
int yyerror (char *);
-/* Used to set SRCx fields to all 1s as described in the PRM. */
-static Register reg7 = {REG_R7, 0};
-
void error (char *format, ...)
{
va_list ap;
@@ -804,7 +801,7 @@ asm_1:
if (IS_DREG ($1) && !IS_A1 ($4) && IS_A1 ($5))
{
notethat ("dsp32alu: dregs = ( A0 += A1 )\n");
- $$ = DSP32ALU (11, 0, 0, &$1, &reg7, &reg7, 0, 0, 0);
+ $$ = DSP32ALU (11, 0, 0, &$1, 0, 0, 0, 0, 0);
}
else
return yyerror ("Register mismatch");
@@ -814,7 +811,7 @@ asm_1:
if (!IS_A1 ($4) && IS_A1 ($5))
{
notethat ("dsp32alu: dregs_half = ( A0 += A1 )\n");
- $$ = DSP32ALU (11, IS_H ($1), 0, &$1, &reg7, &reg7, 0, 0, 1);
+ $$ = DSP32ALU (11, IS_H ($1), 0, &$1, 0, 0, 0, 0, 1);
}
else
return yyerror ("Register mismatch");
@@ -901,7 +898,7 @@ asm_1:
if (IS_DREG ($1) && IS_DREG ($7))
{
notethat ("dsp32alu: dregs = A1.l + A1.h, dregs = A0.l + A0.h \n");
- $$ = DSP32ALU (12, 0, &$1, &$7, &reg7, &reg7, 0, 0, 1);
+ $$ = DSP32ALU (12, 0, &$1, &$7, 0, 0, 0, 0, 1);
}
else
return yyerror ("Register mismatch");
@@ -917,14 +914,14 @@ asm_1:
&& IS_A1 ($9) && !IS_A1 ($11))
{
notethat ("dsp32alu: dregs = A1 + A0 , dregs = A1 - A0 (amod1)\n");
- $$ = DSP32ALU (17, 0, &$1, &$7, &reg7, &reg7, $12.s0, $12.x0, 0);
+ $$ = DSP32ALU (17, 0, &$1, &$7, 0, 0, $12.s0, $12.x0, 0);
}
else if (IS_DREG ($1) && IS_DREG ($7) && !REG_SAME ($3, $5)
&& !IS_A1 ($9) && IS_A1 ($11))
{
notethat ("dsp32alu: dregs = A0 + A1 , dregs = A0 - A1 (amod1)\n");
- $$ = DSP32ALU (17, 0, &$1, &$7, &reg7, &reg7, $12.s0, $12.x0, 1);
+ $$ = DSP32ALU (17, 0, &$1, &$7, 0, 0, $12.s0, $12.x0, 1);
}
else
return yyerror ("Register mismatch");
@@ -998,7 +995,7 @@ asm_1:
| a_assign ABS REG_A
{
notethat ("dsp32alu: Ax = ABS Ax\n");
- $$ = DSP32ALU (16, IS_A1 ($1), 0, 0, &reg7, &reg7, 0, 0, IS_A1 ($3));
+ $$ = DSP32ALU (16, IS_A1 ($1), 0, 0, 0, 0, 0, 0, IS_A1 ($3));
}
| A_ZERO_DOT_L ASSIGN HALF_REG
{
@@ -1165,7 +1162,7 @@ asm_1:
| a_assign MINUS REG_A
{
notethat ("dsp32alu: Ax = - Ax\n");
- $$ = DSP32ALU (14, IS_A1 ($1), 0, 0, &reg7, &reg7, 0, 0, IS_A1 ($3));
+ $$ = DSP32ALU (14, IS_A1 ($1), 0, 0, 0, 0, 0, 0, IS_A1 ($3));
}
| HALF_REG ASSIGN HALF_REG plus_minus HALF_REG amod1
{
@@ -1178,7 +1175,7 @@ asm_1:
if (EXPR_VALUE ($3) == 0 && !REG_SAME ($1, $2))
{
notethat ("dsp32alu: A1 = A0 = 0\n");
- $$ = DSP32ALU (8, 0, 0, 0, &reg7, &reg7, 0, 0, 2);
+ $$ = DSP32ALU (8, 0, 0, 0, 0, 0, 0, 0, 2);
}
else
return yyerror ("Bad value, 0 expected");
@@ -1190,7 +1187,7 @@ asm_1:
if (REG_SAME ($1, $2))
{
notethat ("dsp32alu: Ax = Ax (S)\n");
- $$ = DSP32ALU (8, 0, 0, 0, &reg7, &reg7, 1, 0, IS_A1 ($1));
+ $$ = DSP32ALU (8, 0, 0, 0, 0, 0, 1, 0, IS_A1 ($1));
}
else
return yyerror ("Registers must be equal");
@@ -1234,7 +1231,7 @@ asm_1:
if (!REG_SAME ($1, $2))
{
notethat ("dsp32alu: An = Am\n");
- $$ = DSP32ALU (8, 0, 0, 0, &reg7, &reg7, IS_A1 ($1), 0, 3);
+ $$ = DSP32ALU (8, 0, 0, 0, 0, 0, IS_A1 ($1), 0, 3);
}
else
return yyerror ("Accu reg arguments must differ");
@@ -1354,12 +1351,12 @@ asm_1:
if (IS_DREG ($1) && $3.regno == REG_A0x)
{
notethat ("dsp32alu: dregs_lo = A0.x\n");
- $$ = DSP32ALU (10, 0, 0, &$1, &reg7, &reg7, 0, 0, 0);
+ $$ = DSP32ALU (10, 0, 0, &$1, 0, 0, 0, 0, 0);
}
else if (IS_DREG ($1) && $3.regno == REG_A1x)
{
notethat ("dsp32alu: dregs_lo = A1.x\n");
- $$ = DSP32ALU (10, 0, 0, &$1, &reg7, &reg7, 0, 0, 1);
+ $$ = DSP32ALU (10, 0, 0, &$1, 0, 0, 0, 0, 1);
}
else
return yyerror ("Register mismatch");
@@ -1392,7 +1389,7 @@ asm_1:
if (REG_SAME ($1, $3) && REG_SAME ($5, $7) && !REG_SAME ($1, $5))
{
notethat ("dsp32alu: A1 = ABS A1 , A0 = ABS A0\n");
- $$ = DSP32ALU (16, 0, 0, 0, &reg7, &reg7, 0, 0, 3);
+ $$ = DSP32ALU (16, 0, 0, 0, 0, 0, 0, 0, 3);
}
else
return yyerror ("Register mismatch");
@@ -1403,7 +1400,7 @@ asm_1:
if (REG_SAME ($1, $3) && REG_SAME ($5, $7) && !REG_SAME ($1, $5))
{
notethat ("dsp32alu: A1 = - A1 , A0 = - A0\n");
- $$ = DSP32ALU (14, 0, 0, 0, &reg7, &reg7, 0, 0, 3);
+ $$ = DSP32ALU (14, 0, 0, 0, 0, 0, 0, 0, 3);
}
else
return yyerror ("Register mismatch");
@@ -1414,7 +1411,7 @@ asm_1:
if (!IS_A1 ($1) && IS_A1 ($2))
{
notethat ("dsp32alu: A0 -= A1\n");
- $$ = DSP32ALU (11, 0, 0, 0, &reg7, &reg7, $3.r0, 0, 3);
+ $$ = DSP32ALU (11, 0, 0, 0, 0, 0, $3.r0, 0, 3);
}
else
return yyerror ("Register mismatch");
@@ -1474,7 +1471,7 @@ asm_1:
if (!IS_A1 ($1) && IS_A1 ($3))
{
notethat ("dsp32alu: A0 += A1 (W32)\n");
- $$ = DSP32ALU (11, 0, 0, 0, &reg7, &reg7, $4.r0, 0, 2);
+ $$ = DSP32ALU (11, 0, 0, 0, 0, 0, $4.r0, 0, 2);
}
else
return yyerror ("Register mismatch");
@@ -1553,7 +1550,7 @@ asm_1:
if (REG_SAME ($1, $2) && REG_SAME ($7, $8) && !REG_SAME ($1, $7))
{
notethat ("dsp32alu: A1 = A1 (S) , A0 = A0 (S)\n");
- $$ = DSP32ALU (8, 0, 0, 0, &reg7, &reg7, 1, 0, 2);
+ $$ = DSP32ALU (8, 0, 0, 0, 0, 0, 1, 0, 2);
}
else
return yyerror ("Register mismatch");