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 16:01:15 [+0930]:

>On Sun, May 02, 2010 at 03:41:32PM +0200, Sebastian Andrzej Siewior wrote:
>> +	* ppc-opcodes.c: Deprecate all PPCVEC opcodes on PPCSPE,
>> +	deprecate opcodes which use floating point registers on PPCEFS,
>> +	deprecate lwsync on PPCSPE.
>
>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.

>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. Without the last
one VMX would be ignored but I am not sure what else might. So even without
-many floating point and lwsync gets assmebled successfully:

.gnu_attribute 4, 2
.gnu_attribute 8, 3
.section        ".text"
.align 2
.globl main
.type   main, @function
 main:
    fmul 0, 1, 2
    blr
.size   main, .-main
.section        .note.GNU-stack,"",@progbits

Is there something you recommend so I can forbid this? As I wrote
earlier: the compiler does throw any of this opcodes but itself, they
are just .S files and asm() syntax within the .c file.

>Also, I see you disabled "lfdepx".
Why disabled? I marked all opcodes which touch FP regs. I could make a
sane subset which exlude power6 and so on. If you refer to E500MC then
that one does not use embedded FPU, it uses the "traditional" one.

Sebastian


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