On Fri, Apr 15, 2016 at 12:57 AM, Kirill Yukhin <kirill.yuk...@gmail.com> wrote: > Hello, > Patch in the bottom fixes memory operand modifiers > for Intel syntax on broadcast patter. > > Bootstrapped and regtested on 32,64b x86 target. > > I'll check it into main trunk and gcc-5 branch. > > gcc/ > PR target/70662 > * config/i386/sse.md: Use proper memory operand > modifiers. > gcc/testsuite/ > PR target/70662 > * gcc.target/i386/pr70662.c: New test. >
The fix is incomplete: [hjl@gnu-6 gcc]$ /export/build/gnu/gcc-x32/build-x86_64-linux/gcc/xgcc -B/export/build/gnu/gcc-x32/build-x86_64-linux/gcc/ -mx32 -mtune=slm -fno-diagnostics-show-caret -fdiagnostics-color=never -Og -fschedule-insns -fno-tree-fre -mavx512vbmi --param=max-sched-ready-insns=1 -masm=intel -c -o pr70662.o /export/gnu/import/git/sources/gcc/gcc/testsuite/gcc.target/i386/pr70662.c /tmp/ccatFXMU.s: Assembler messages: /tmp/ccatFXMU.s:240: Error: operand size mismatch for `vpbroadcastd' [hjl@gnu-6 gcc]$ vpbroadcastd zmm17{k1}, QWORD PTR [esp+184] ^^^^^^^^ Should be DWORD. H.J.