diff options
author | Mike Frysinger <vapier@gentoo.org> | 2011-03-29 05:51:22 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2011-03-29 05:51:22 +0000 |
commit | 3823a07437e70105c9a11fbddddb8273e1b8a858 (patch) | |
tree | c59866239059a3b5321dfbd51dd4ad54ddeb528b /gas/config/bfin-parse.y | |
parent | 0be99d4ba6c89dca6bbee981c7b89d506f344a40 (diff) | |
download | binutils-3823a07437e70105c9a11fbddddb8273e1b8a858.zip binutils-3823a07437e70105c9a11fbddddb8273e1b8a858.tar.gz binutils-3823a07437e70105c9a11fbddddb8273e1b8a858.tar.bz2 |
gas: blackfin: gas: blackfin: reject invalid BYTEOP16M insns
The destination registers must be different with BYTEOP16M 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.y | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gas/config/bfin-parse.y b/gas/config/bfin-parse.y index 12e7525..7961e2e 100644 --- a/gas/config/bfin-parse.y +++ b/gas/config/bfin-parse.y @@ -849,6 +849,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)) |