GNU_PROPERTY_X86_* questions

H.J. Lu hjl.tools@gmail.com
Mon Oct 28 14:51:00 GMT 2019


On Fri, Oct 25, 2019 at 8:05 AM Jan Beulich <jbeulich@suse.com> wrote:
>
> 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

GNU_PROPERTY_X86_FEATURE_2 describes processor capabilities
in terms of processor states.

-- 
H.J.



More information about the Binutils mailing list