mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-02 14:53:46 +08:00
gas: blackfin: gas: blackfin: reject invalid BYTEOP16P insns
The destination registers must be different with BYTEOP16P insns, otherwise the hardware throws up an exception. So reject them. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
This commit is contained in:
parent
c3a7b1206d
commit
0be99d4ba6
@ -1,3 +1,8 @@
|
||||
2011-03-29 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* config/bfin-parse.y (BYTEOP16P): Return yyerror when dest
|
||||
reg $2 is the same as dest reg $4.
|
||||
|
||||
2011-03-28 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* config/bfin-parse.y (16bit acc add): Return yyerror when dest
|
||||
|
@ -831,6 +831,8 @@ asm_1:
|
||||
{
|
||||
if (!IS_DREG ($2) || !IS_DREG ($4))
|
||||
return yyerror ("Dregs expected");
|
||||
else if (REG_SAME ($2, $4))
|
||||
return yyerror ("Illegal dest register combination");
|
||||
else if (!valid_dreg_pair (&$9, $11))
|
||||
return yyerror ("Bad dreg pair");
|
||||
else if (!valid_dreg_pair (&$13, $15))
|
||||
|
@ -1,3 +1,8 @@
|
||||
2011-03-29 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* gas/bfin/expected_errors.s: Add invalid BYTEOP16P insn tests.
|
||||
* gas/bfin/expected_errors.l: Add new error messages.
|
||||
|
||||
2011-03-28 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* gas/bfin/expected_errors.s: Add invalid 16bit acc add insn tests.
|
||||
|
@ -101,3 +101,5 @@
|
||||
.*:127: Error: Differing source registers.
|
||||
.*:129: Error: Register mismatch.
|
||||
.*:131: Error: Illegal dest register combination. Input text was A0.H.
|
||||
.*:133: Error: Illegal dest register combination.
|
||||
.*:134: Error: Illegal dest register combination.
|
||||
|
@ -129,3 +129,6 @@
|
||||
R0 = R3 + R4, R1 = R5 - R6;
|
||||
|
||||
R7 = A1.L + A1.H, R7 = A0.L + A0.H;
|
||||
|
||||
(R0, R0) = BYTEOP16P (R1:0, R3:2);
|
||||
(R7, R7) = BYTEOP16P (R1:0, R3:2);
|
||||
|
Loading…
Reference in New Issue
Block a user