This is the mail archive of the 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: [PATCH] Allow setting CpuVRex bit in .arch directive

On Tue, May 24, 2016 at 12:07 PM, Jakub Jelinek <> 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.


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