This is the mail archive of the binutils@sources.redhat.com 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]

x86_64 extensions of SSE2 instruction set


Hi
The x86_64 architecture documents extensions to the conversion instruction
all the cvt*2si and cvtsi2* arehaving 64bit equivalents.

Problem is that in AT&T syntax
cvsss2si %xmm0, %eax   is 32bit conversion
cvsss2si %xmm0, %rax   is 64bit conversion
cvsss2si %xmm0, (%rax)  is ambiguous
(this is resolved in the Intel syntax by qword ptr or dwrod ptr keywords)

Using the default scheme by adding 'l' or 'q' suffix don't seems to fit
here nicely (imagine cvtsi2ssq).
So I would suggest other naming probably:
cvtss2si - always 32bit
cvtss2sqi (convert scalar single to signed quad integer) - 64bit version.

Looks OK?

AMD: Maybe it would be nice to set such names for Intel syntax as well - the
SSE instructions are overall not dependent on the operands and we will stay
consistent.

Honza


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