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: [PATCH] powerpc: ignore opcodes on e500/SPE which can't be mixed


* Alan Modra | 2010-05-03 20:35:33 [+0930]:

>On Mon, May 03, 2010 at 10:10:21AM +0200, Sebastian Andrzej Siewior wrote:
>> * Alan Modra | 2010-05-03 16:01:15 [+0930]:
>> >This isn't correct.  Please don't add the "deprecate" to all vec/fp
>> I though the deprecate flag is for invalid mix of opcodes.
>
>It was really a means to disable a few opcodes from the common powerpc
>set for newer processors that implement most of them but have a few
>exceptions, perhaps using a new encoding.  
Hmm. So we assembly that opcode anyway just differently.

>> >opcodes like this.  Most should not be enabled for e500 anyway, so
>> >don't need to be deprecated.  
>> The compiler throws in -mppc -mspe -me500 -many. The first three are CPU
>> specific, the last one is used by gcc for all powerpcs.
>
>-many is supposed to assemble for any processor!  Have you actually
>tried your patch with -many to see what happens?  I think you'll find
Yup, without -many it fails to assembly VMX. It sounds like a subset of
opcodes which work on every machine. The reallity looks different.

>setting "deprecated" has no effect, except to match a non-deprecated
>instruction before a deprecated one.
>[snip]
>> Is there something you recommend so I can forbid this?
>
>First, I think you will need to stop gcc passing -many.  Then just
Yes you are right. The whole patch is pointless with -many. So let me
try to get rid of this. I hope that nothing breaks :)

>change the instructions you really must.  If I've counted correctly,
>that will be 86 changes to the opcodes table.
Okay. So I drop the VMX part. For the float part I just pick those in
the COM section + lwsync.

Sebastian


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