This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: arm.md `nop' insn register name patch


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
>  
>
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]