aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2024-07-19 11:56:46 +0200
committerJan Beulich <jbeulich@suse.com>2024-07-19 11:56:46 +0200
commit1cc4b7d755afd8cce917ca43d2db18a7442b468a (patch)
tree657b6ec430d079c84475bc8503265d83072f6514
parenta1b7023447d19d70bc36d71b7627f457dbfae5ce (diff)
downloadbinutils-1cc4b7d755afd8cce917ca43d2db18a7442b468a.zip
binutils-1cc4b7d755afd8cce917ca43d2db18a7442b468a.tar.gz
binutils-1cc4b7d755afd8cce917ca43d2db18a7442b468a.tar.bz2
bfin: drop _ASSIGN_BANG
A few testcases demonstrate that "=!" isn't supposed to be an individual token, since "= !" is used in a number of places. So far lexing that to a single token worked because of the scrubber being overly aggressive in removing whitespace. As that's going to change, replace uses by separate ASSIGN and BANG.
-rw-r--r--gas/config/bfin-lex.l1
-rw-r--r--gas/config/bfin-parse.y10
2 files changed, 5 insertions, 6 deletions
diff --git a/gas/config/bfin-lex.l b/gas/config/bfin-lex.l
index a14e25b..62a760c 100644
--- a/gas/config/bfin-lex.l
+++ b/gas/config/bfin-lex.l
@@ -287,7 +287,6 @@ int yylex (void);
"%" return PERCENT;
"!" return BANG;
";" return SEMICOLON;
-"=!" return _ASSIGN_BANG;
"||" return DOUBLE_BAR;
"@" return AT;
<KEYWORD>[pP][rR][eE][fF][eE][tT][cC][hH] return PREFETCH;
diff --git a/gas/config/bfin-parse.y b/gas/config/bfin-parse.y
index 828a009..1971058 100644
--- a/gas/config/bfin-parse.y
+++ b/gas/config/bfin-parse.y
@@ -529,7 +529,7 @@ dsp32shiftimm in slot1 and P-reg Store in slot2 Not Supported");
%token _MINUS_ASSIGN _PLUS_ASSIGN
/* Assignments, comparisons. */
-%token _ASSIGN_BANG _LESS_THAN_ASSIGN _ASSIGN_ASSIGN
+%token _LESS_THAN_ASSIGN _ASSIGN_ASSIGN
%token GE LT LE GT
%token LESS_THAN
@@ -1804,7 +1804,7 @@ asm_1:
return yyerror ("Only 'Dreg = CC' supported");
}
- | CCREG _ASSIGN_BANG CCREG
+ | CCREG ASSIGN BANG CCREG
{
notethat ("CC2dreg: CC =! CC\n");
$$ = bfin_gen_cc2dreg (3, 0);
@@ -2471,12 +2471,12 @@ asm_1:
return yyerror ("Register mismatch");
}
- | CCREG _ASSIGN_BANG BITTST LPAREN REG COMMA expr RPAREN
+ | CCREG ASSIGN BANG BITTST LPAREN REG COMMA expr RPAREN
{
- if (IS_DREG ($5) && IS_UIMM ($7, 5))
+ if (IS_DREG ($6) && IS_UIMM ($8, 5))
{
notethat ("LOGI2op: CC =! BITTST (dregs , uimm5 )\n");
- $$ = LOGI2OP ($5, uimm5 ($7), 0);
+ $$ = LOGI2OP ($6, uimm5 ($8), 0);
}
else
return yyerror ("Register mismatch or value error");