This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: arm.md `nop' insn register name patch
- To: Nick Burrett <nick dot burrett at btinternet dot com>
- Subject: Re: arm.md `nop' insn register name patch
- From: Richard Earnshaw <rearnsha at arm dot com>
- Date: Tue, 27 Apr 1999 16:25:02 +0100
- Cc: egcs-patches at egcs dot cygnus dot com
I'm travelling at the moment, so can't do a real patch.
It shouldn't be necessary to go this far, Using '%|' in front of the
register name should be adequate. Hence:
mov%?\\t%|r0, %|r0\\t%@ nop
See other patterns that directly manipulate known registers.
Richard
At 12:10 26/04/99 +0100, Nick Burrett wrote:
>
>The hard coded assembler register `r0' in the nop insn will not work
>on ARM targets that use different REGISTER_NAMES, such as the AOF
>targets.
>
>Nick.
>
>
>Sun Feb 01 20:24:22 1998 Nick Burrett <nick.burrett@btinternet.com>
>
> * arm.md (nop): Output instruction using output_asm_insn to fix
> assembler dialect problems.
>
>
>*** gcc/config/arm/arm.md.orig Mon Apr 26 12:03:03 1999
>--- gcc/config/arm/arm.md Mon Apr 26 12:05:07 1999
>***************
>*** 4420,4426 ****
> (define_insn "nop"
> [(const_int 0)]
> ""
>! "mov%?\\tr0, r0\\t%@ nop")
>
> ;; Patterns to allow combination of arithmetic, cond code and shifts
>
>--- 4420,4434 ----
> (define_insn "nop"
> [(const_int 0)]
> ""
>! "*
>! {
>! rtx operands[1];
>!
>! operands[0] = gen_rtx (REG, SImode, 0);
>! output_asm_insn (\"mov%?\\t%0, %0\\t%@ nop\", operands);
>! return \"\";
>! }
>! ")
>
> ;; Patterns to allow combination of arithmetic, cond code and shifts
>
>
>