This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: FW: [PATCH,MIPS] Change the mapping for the 'move' instruction


I've checked `_bfd_mips_elf_get_synthetic_symtab' and that function doesn't attempt to match
against the move part of the PLT entry, so I don't believe any updates are required there.

I've added specific disassembly tests for the move macro, (move.d, micromips32-move.d).

Issues on comments addressed.

Updated tests pass check-gas.

Thanks,
Simon

-----Original Message-----
From: Maciej W. Rozycki [mailto:macro@linux-mips.org] 
Sent: 30 July 2015 23:11
To: Simon Dardis
Cc: binutils@sourceware.org; Matthew Fortune; rdsandiford@googlemail.com; Moore, Catherine
Subject: Re: FW: [PATCH,MIPS] Change the mapping for the 'move' instruction

On Thu, 30 Jul 2015, Simon Dardis wrote:

> This patch updates the MIPS move instruction alias so that it is 'or' 
> instead of [d]addu for microMIPS, MIPS32 and MIPS64. The reasoning 
> behind this change was brought up in an earlier RFC from Matthew
> Fortune:
> 
> http://sourceware.org/ml/binutils/2015-03/msg00001.html
> 
> "This issue was identified during performance analysis of a recent 
> 64-bit design by Imagination and the use of addu for 32-bit moves can 
> inhibit some pipeline forwarding optimisations as the addu has to sign 
> extend in 64-bit implementations. I suspect there are ways to deal 
> with this in hardware but regardless it seems sensible to use the same 
> instruction for move in 32-bit and 64-bit code."
> 	
> This patch preserves existing disassembler behavior, e.g assembling 
> 'daddu t7, ra, zero' and then disassembling it gives back 'move t7,ra'.
> 
> Tested with no new regression with check-ld, check-gas, check-binutils.

 The changes to PLT entries produced may require corresponding updates to `_bfd_mips_elf_get_synthetic_symtab' -- have you checked that they are indeed unneeded?  I see no mention of that anywhere.

  Maciej

Attachment: MIPS-move-as-or.patch
Description: MIPS-move-as-or.patch


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