aboutsummaryrefslogtreecommitdiff
path: root/gas/config/bfin-parse.y
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2011-03-29 05:54:41 +0000
committerMike Frysinger <vapier@gentoo.org>2011-03-29 05:54:41 +0000
commitfc99ebdc2b470b31622d9efc28fca6f03945532c (patch)
treebb3bba14326204194606831a8d7f24e5233bd8e5 /gas/config/bfin-parse.y
parent3823a07437e70105c9a11fbddddb8273e1b8a858 (diff)
downloadgdb-fc99ebdc2b470b31622d9efc28fca6f03945532c.zip
gdb-fc99ebdc2b470b31622d9efc28fca6f03945532c.tar.gz
gdb-fc99ebdc2b470b31622d9efc28fca6f03945532c.tar.bz2
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>
Diffstat (limited to 'gas/config/bfin-parse.y')
-rw-r--r--gas/config/bfin-parse.y2
1 files changed, 2 insertions, 0 deletions
diff --git a/gas/config/bfin-parse.y b/gas/config/bfin-parse.y
index 7961e2e..797664a 100644
--- a/gas/config/bfin-parse.y
+++ b/gas/config/bfin-parse.y
@@ -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