diff options
author | Nick Clifton <nickc@redhat.com> | 2002-05-01 09:54:31 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2002-05-01 09:54:31 +0000 |
commit | d8731e7dad5a4451c4214cc99fe76ca0e2c4d9ff (patch) | |
tree | a22d3d7377b55deb71459b80c758396f864650be | |
parent | 818c39a387392564763ae26fd9ef1837b448fb48 (diff) | |
download | gdb-d8731e7dad5a4451c4214cc99fe76ca0e2c4d9ff.zip gdb-d8731e7dad5a4451c4214cc99fe76ca0e2c4d9ff.tar.gz gdb-d8731e7dad5a4451c4214cc99fe76ca0e2c4d9ff.tar.bz2 |
Generate warning if the same destination register is used in parallel
instructions.
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/config/tc-sh.c | 21 |
2 files changed, 26 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 76fe139..76b97ad 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2002-05-01 Arati Dikey <aratid@kpit.com> + + * tc-sh.c (get_specific): Generate warning if the same + destination register is used in parallel instructions. + 2002-05-01 Andrew Macleod <amacleod@cygnus.com> * config/tc-i386.c (extra_symbol_chars): Add '[' to the list. diff --git a/gas/config/tc-sh.c b/gas/config/tc-sh.c index 1f33e10..61a38fd 100644 --- a/gas/config/tc-sh.c +++ b/gas/config/tc-sh.c @@ -1566,6 +1566,27 @@ get_specific (opcode, operands) sh_operand_info *user = operands + n; sh_arg_type arg = this_try->arg[n]; + /* If this is a parallel insn check to see if both + parts have the same destination register. */ + if ((n == 2) && (this_try->nibbles[0] == PPI)) + { + static boolean bIsPPI = false; + static int nLastDestReg; + + if (!bIsPPI) + { + bIsPPI = true; + nLastDestReg = user->reg; + } + else /* Second insn. */ + { + if (nLastDestReg == user->reg) + as_warn (_("destination register is same for parallel insns")); + + bIsPPI = false; + } + } + switch (arg) { case A_DISP_PC: |