mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-24 20:28:28 +08:00
Fix determination of when two instructions can be combined in parallel.
This commit is contained in:
@ -1,3 +1,10 @@
|
||||
start-sanitize-m32rx
|
||||
Wed Jan 28 16:27:27 1998 Nick Clifton <nickc@cygnus.com>
|
||||
|
||||
* config/tc-m32r.c (md_assemble): Fix determination of when
|
||||
instructions can be combined in parallel.
|
||||
|
||||
end-sanitize-m32rx
|
||||
Wed Jan 28 14:35:00 1998 Bill Moyer <billm@cygnus.com>
|
||||
|
||||
* as.h (flag_warn_suppress_instructionswap): added new flag.
|
||||
|
@ -746,21 +746,19 @@ md_assemble (str)
|
||||
previous instruction to make one, parallel, 32 bit instruction.
|
||||
If the previous instruction (potentially) changed the flow of
|
||||
program control, then it cannot be combined with the current
|
||||
instruction, otherwise call can_make_parallel() with both
|
||||
instruction. Also if the output of the previous instruction
|
||||
is used as an input to the current instruction then it cannot
|
||||
be combined. Otherwise call can_make_parallel() with both
|
||||
orderings of the instructions to see if they can be combined. */
|
||||
if ( ! CGEN_INSN_ATTR (prev_insn.insn, CGEN_INSN_COND_CTI)
|
||||
&& ! CGEN_INSN_ATTR (prev_insn.insn, CGEN_INSN_UNCOND_CTI))
|
||||
&& ! CGEN_INSN_ATTR (prev_insn.insn, CGEN_INSN_UNCOND_CTI)
|
||||
&& check_parallel_io_clash (& prev_insn, &insn)
|
||||
)
|
||||
{
|
||||
if (can_make_parallel (& prev_insn, & insn) == NULL
|
||||
&& check_parallel_io_clash (& prev_insn, &insn))
|
||||
{
|
||||
make_parallel (insn.buffer);
|
||||
}
|
||||
else if (can_make_parallel (& insn, & prev_insn.insn) == NULL
|
||||
&& check_parallel_io_clash (& insn, & prev_insn))
|
||||
{
|
||||
swap = true;
|
||||
}
|
||||
if (can_make_parallel (& prev_insn, & insn) == NULL)
|
||||
make_parallel (insn.buffer);
|
||||
else if (can_make_parallel (& insn, & prev_insn.insn) == NULL)
|
||||
swap = true;
|
||||
}
|
||||
/* end-sanitize-phase2-m32rx */
|
||||
/* end-sanitize-m32rx */
|
||||
|
Reference in New Issue
Block a user