[PATCH] Some -masm=intel fixes
Thu Oct 27 19:45:00 GMT 2011
On Thu, Oct 27, 2011 at 12:17 PM, Uros Bizjak <firstname.lastname@example.org> wrote:
> On Thu, Oct 27, 2011 at 9:14 PM, Jakub Jelinek <email@example.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 <firstname.lastname@example.org>
>> * 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