This is the mail archive of the
mailing list for the binutils project.
Re: [PATCH] Allow setting CpuVRex bit in .arch directive
- From: Jakub Jelinek <jakub at redhat dot com>
- To: "H.J. Lu" <hjl dot tools at gmail 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 21:07:16 +0200
- 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>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
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.
Anyway, still it would be good to be able to change (both set and remove)
the CpuVRex bit.