From: Song, J. K. <jin...@in...> - 2013-08-23 18:03:56
|
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? - Jin |