This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH] x86: Replace evex-no-scale.s with evex-no-scale-[32|64].s
- From: "Jan Beulich" <JBeulich at suse dot com>
- To: "H.J. Lu" <hjl dot tools at gmail dot com>
- Cc: <binutils at sourceware dot org>
- Date: Mon, 13 Aug 2018 00:20:03 -0600
- Subject: Re: [PATCH] x86: Replace evex-no-scale.s with evex-no-scale-[32|64].s
- References: <20180810172814.7966-1-hjl.tools@gmail.com>
>>> On 10.08.18 at 19:28, <hjl.tools@gmail.com> wrote:
> .if is_64bit
> vmovaps -1024(%rip), %zmm0
> vmovaps 64(,%rax), %zmm0
> vmovaps 64(,%riz), %zmm0
> .endif
>
> doesn't with i686-elf cross binutils on 64-bit hosts:
>
> evex-no-scale.s: Assembler messages:
> evex-no-scale.s:10: Error: bad register name `%rip)'
> evex-no-scale.s:11: Error: bad register name `%rax)'
> evex-no-scale.s:12: Error: bad register name `%riz)'
Mind shedding some light on the _actual_ issue? The fact that
the 64-bit code won't assemble with a 32-bit assembler doesn't
come as a surprise. The question is why is_64bit is set in this
case. I was actually meaning to use this approach in further
tests, to reduce the split / redundancy between similar or even
close to identical 32- and 64-bit tests.
Jan