Bug: gather/scatter accepts same registers in destination/src and index

Jan Beulich JBeulich@suse.com
Tue Jan 21 15:32:00 GMT 2014


>>> On 21.01.14 at 16:09, Michael Zolotukhin <michael.v.zolotukhin@gmail.com> wrote:
>>  I was talking of the test case here (i.e. validate that scatters without
>> index get warned/errored upon).
> How is it different from any other instruction with incorrect operands?  
> Could
> you give an example of a test you mean?

While

	vmovaps	[rax], zmm0

is allowed

	vscatterdps [rax]{k1}, zmm0

isn't, i.e. this is not a typical "invalid operand". Same for gather
of course. Also, I'm not sure if this

	vscatterdps [rax+zmm1], zmm0

(also invalid iirc) is being checked for already.

And your argument is bogus for another reason too: If so,
checking register collisions for gather to get properly detected
would then also be "superfluous".

Jan



More information about the Binutils mailing list