gas: blackfin: gas: blackfin: reject invalid BYTEUNPACK insns
The destination registers must be different with BYTEUNPACK 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
3823a07437
commit
fc99ebdc2b
@ -1,3 +1,8 @@
|
||||
2011-03-29 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* config/bfin-parse.y (BYTEUNPACK): Return yyerror when dest
|
||||
reg $2 is the same as dest reg $4.
|
||||
|
||||
2011-03-29 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* config/bfin-parse.y (BYTEOP16M): Return yyerror when dest
|
||||
|
@ -866,6 +866,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 (&$8, $10))
|
||||
return yyerror ("Bad dreg pair");
|
||||
else
|
||||
|
@ -1,3 +1,8 @@
|
||||
2011-03-29 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* gas/bfin/expected_errors.s: Add invalid BYTEUNPACK insn tests.
|
||||
* gas/bfin/expected_errors.l: Add new error messages.
|
||||
|
||||
2011-03-29 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* gas/bfin/expected_errors.s: Add invalid BYTEOP16M insn tests.
|
||||
|
@ -105,3 +105,4 @@
|
||||
.*:134: Error: Illegal dest register combination.
|
||||
.*:135: Error: Illegal dest register combination.
|
||||
.*:136: Error: Illegal dest register combination.
|
||||
.*:137: Error: Illegal dest register combination.
|
||||
|
@ -134,3 +134,4 @@
|
||||
(R7, R7) = BYTEOP16P (R1:0, R3:2);
|
||||
(R1, R1) = BYTEOP16M (R1:0, R3:2);
|
||||
(R4, R4) = BYTEOP16M (R1:0, R3:2);
|
||||
(R5, R5) = BYTEUNPACK R3:2;
|
||||
|
Loading…
x
Reference in New Issue
Block a user