On Fri, Aug 23, 2013 at 06:03:36PM +0000, Song, Jin Kyu wrote:
> I found one discrepancy between NASM and gas regarding the size specifier.
> In insns.dat, VGATHERQPD/DPD expects 64bits(QWORD), if specified, specifier for VSIB operand.
> NASM : VGATHERQPD xmmreg,xmem64,xmmreg [rmv: vm64x vex.dds.128.66.0f38.w1 93 /r] FUTURE,AVX2
> VGATHERDPD zmmreg|mask,ymem64 [rm:t1s: vsiby evex.512.66.0f38.w1 92 /r ] AVX512,FUTURE
> But gas thinks it is a ZWORD.
> Gas : vgatherdpd zmm30{k1}, ZMMWORD PTR [r14+ymm31*8-123]
>
> I think NASM way makes more sense because each data element size is 64bits(QWORD) not ZWORD. But it is also true that
> the eventual data size gathered is up to ZWORD. Is this discrepancy made intentionally? Does it need to be fixed to
> conform with gas or just to stay same as it used to be?
I can't say for gas (better to ask gas developers then why zword there).
Still using QWORD for nasm looks sane for me. Lets wait for people opinions.
|