This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
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