This is the mail archive of the
mailing list for the binutils project.
Re: [PATCH] Allow setting CpuVRex bit in .arch directive
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: Binutils <binutils at sourceware dot org>, Uros Bizjak <ubizjak at gmail dot com>, Kirill Yukhin <kirill dot yukhin at gmail dot com>
- Date: Tue, 24 May 2016 13:36:22 -0700
- Subject: Re: [PATCH] Allow setting CpuVRex bit in .arch directive
- Authentication-results: sourceware.org; auth=none
- References: <20160521165405 dot GQ28550 at tucnak dot redhat dot com> <20160521170615 dot GE1875 at tucnak dot redhat dot com> <CAMe9rOrSYftrqeWjZQYmWmn7x_h9vHfz9Fcy3=UVUDNr+O2aCA at mail dot gmail dot com> <20160524174933 dot GN28550 at tucnak dot redhat dot com> <CAMe9rOqQp54VXOvQPVwZDzSGDH1=_YB6Ghnekh=SRJQcsCVY3w at mail dot gmail dot com> <20160524190716 dot GQ28550 at tucnak dot redhat dot com>
On Tue, May 24, 2016 at 12:07 PM, Jakub Jelinek <firstname.lastname@example.org> wrote:
> On Tue, May 24, 2016 at 12:02:42PM -0700, H.J. Lu wrote:
>> > Try:
>> > .arch corei7
>> > .arch .avx512f
>> > vpxord %xmm15, %xmm15, %xmm15
>> > vpxord %xmm16, %xmm16, %xmm16
>> > I get:
>> > /tmp/1.s: Assembler messages:
>> > /tmp/1.s:4: Error: bad register name `%xmm16'
>> I opened:
>> > and couldn't find any way how to make that assemble if I want to
>> > disable even some ISA set and thus have to start with .arch <cpuname>
>> > and add all the ISA sets I want to enable on top of that CPU.
>> So you want to just disable AVX512D, no thing else. Wouldn't a
>> ".noarch" directive work better?
> Well, to be able to generically disable specific ISAs (one, several).
> An alternative to .noarch would be just allowing
> .arch .noavx512vl etc. (like it already allows .no87).
> Perhaps instead of mentioning all the ISAs once again with "no" prefix
> just handle it generically, if .arch .no* is used, look first for
> entries with explicit no at the beginning, and if not found, look for
> the string after the prefix in the table and assume negate.
Yes, it should work.
> Anyway, still it would be good to be able to change (both set and remove)
> the CpuVRex bit.
CpuVRex should be cleared/set automatically based on ISA.