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: GNU_PROPERTY_X86_* questions


On 10.10.2019 17:16,  H.J. Lu  wrote:
> On Thu, Oct 10, 2019 at 6:33 AM Jan Beulich <jbeulich@suse.com> wrote:
>>
>> H.J.,
>>
>> I think I'm seeing a number of issues with the handling of these
>> properties in gas, but without the original commit referencing a
>> specification I can't really determine if some or all of these
>> are actually "working as designed".
>>
>> Some of the points are:
>> - What is the actual meaning of a set bit? I.e. should e.g. -O
> 
> https://github.com/hjl-tools/x86-psABI/wiki/X86-psABI
> 
>>   converting between ISAs actually be reflected in the produced
>>   note?
> 
> It records what are in the object file.
> 
>> - What is the rule of ISAs to get (or not get) a flag defined?
>>   E.g. why are there AVX, AVX2, and FMA flags, but no XOP nor
>>   FMA4 ones?
> 
> One can propose them.
> 
>> - What is the rule of register sets getting feature flags
>>   defined? E.g. why are there XMM etc flags but there's no mask
>>   register one?
> 
> One can propose them.

The document above does not explain in any way what is supposed to
force on the individual GNU_PROPERTY_X86_FEATURE_2_* flags. While
one can reasonably deduce this for GNU_PROPERTY_X86_ISA_1_* (albeit
there's at least one bug in gas), but not for these. IOW it in
particular does not answer ...

>> - What are the rules for the feature flags actually getting set?
>>   I find it puzzling that there are straight use
>>   i.has_reg{x,y,z}mm flags (which could be easily done away
>>   with), but for MMX quite a bit of extra logic is involved.

... this question.

> MMX is set for pure MMX related instructions.

Which only shift the question to "what is a pure MMX related
instruction". I'd assume one touching any MMX register. But I'd
also assume the same for e.g. GNU_PROPERTY_X86_FEATURE_2_XMM wrt
XMM registers, yet that's not spelled out anywhere. In turn only
the _exact_ spelling of this determines if there are further gas
bugs here.

Jan


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