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] Support VMX128 Instruction for PowerPC


Segher Boessenkool wrote:
>> The attached patches add support for the VMX128 altivec instructions
>> found on e.g. the Xenon CPU. (These are altivec instructions for a
>> register set of 128 vector registers).
> 
> Nice!
> 
>> You can find a documentation here:
>> http://wiki.free60.org/Xenon/VMX128
> 
> Has this been checked against the official documentation,
> too?

Nope, I don't have access to the official documentation and I guess you
have to sign an NDA or something to get it. I figured this out by
looking at dumpbin outputs some (not to be named) person created for me.

But my opcode list is exhaustive and perfectly matches the output of
dumpbin.

>> The patch is not invasive, but I'm not sure whether there should be an
>> option to enable/disable the extended instruction set. Comments welcome.
> 
> Yes there should be such an option, VMX128 isn't part of
> the architecture.

Ok, but I'm a little bit unsure how the configuration stuff works.
Should there an option like "-mxenon" which resembles the xenon cpu or
should there be a modifier like "-mvmx128" which selectively actives the
VMX128 instruction set?

>> +/* Opcode is supported by Altivec Vector128 Unit */
> 
> AltiVec (note spelling) is not the right name; it is
> called VMX128.  AltiVec is the (trademarked) FreeScale
> name for VMX; not for VMX128.

Ok. So, maybe for consistency reasons we should rename
PPC_OPCODE_ALTIVEC to PPC_OPCODE_VMX?  The VMX and VMX128 instructions
are not mutually exclusive, you can mix them (but only the VMX128 give
you access to vr32-vr127).

BTW: I also noticed that I (or my editor) misplaced some tabs. I'll
clean them up in the next version.


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