On Thu, Oct 27, 2011 at 9:14 PM, Jakub Jelinek <ja...@redhat.com> wrote:

> While testing other patches also with -masm=intel, I've noticed that
> several insns output wrong mem sizes.  The following patch fixes what I
> found.  %w1/%k1/%q1 will still %xmmN if it is a register and for AT&T
> syntax will print memory as normally, but for -masm=intel it will
> print WORD PTR/DWORD PTR/QWORD PTR instead of always XMMWORD PTR.
> The changes are to insns that read fewer than 16 bytes from memory
> and just extend it somehow into the whole %xmm resp. %ymm register.
>
> Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?
>
> 2011-10-27  Jakub Jelinek  <ja...@redhat.com>
>
>        * config/i386/i386.c (ix86_print_operand): Handle 'q' and 'x'
>        overrides for -masm=intel memory.
>        * config/i386/sse.md (sse2_cvtdq2pd, sse2_cvtps2pd,
>        sse4_1_<code>v8qiv8hi2, avx2_<code>v8qiv8si2,
>        sse4_1_<code>v4hiv4si2, avx2_<code>v4hiv4di2,
>        sse4_1_<code>v2siv2di2): Use %q1 instead of %1 for -masm=intel.
>        (sse4_1_<code>v4qiv4si2, avx2_<code>v4qiv4di2,
>        sse4_1_<code>v2hiv2di2): Use %k1 instead of %1 for -masm=intel.
>        (sse4_1_<code>v2qiv2di2): Use %w1 instead of %1 for -masm=intel.

OK, but let's ask H.J. about -masm=intel issues.

Thanks,
Uros.

Reply via email to