[PATCH] Some -masm=intel fixes

H.J. Lu hjl.tools@gmail.com
Thu Oct 27 19:45:00 GMT 2011

On Thu, Oct 27, 2011 at 12:17 PM, Uros Bizjak <ubizjak@gmail.com> wrote:
> On Thu, Oct 27, 2011 at 9:14 PM, Jakub Jelinek <jakub@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  <jakub@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.

I never used -masm=intel. I am OK with it.  We can always
fix it when people report issues.

BTW, I am not against removing -masm=intel since it is rarely



More information about the Gcc-patches mailing list