On 05/23/2018 04:08 AM, Uros Bizjak wrote:
> Hello!
>
> With current insn mnemonic and ATT assembler dialect, there is no way
> for the assembler to distinguish between DImode and SImode instruction
> when memory input operand is used. The dump for 32bit memory reads as:
>
> 0: 62 f1 7e 08 7b 05 00 vcvtusi2ss 0x0(%rip),%xmm0,%xmm0
> 7: 00 00 00
> 10: 62 f1 7f 08 7b 05 00 vcvtusi2sd 0x0(%rip),%xmm0,%xmm0
> 17: 00 00 00
>
> And for 64bit access:
>
> 20: 62 f1 fe 08 7b 05 00 vcvtusi2ss 0x0(%rip),%xmm0,%xmm0
> 27: 00 00 00
> 30: 62 f1 ff 08 7b 05 00 vcvtusi2sd 0x0(%rip),%xmm0,%xmm0
> 37: 00 00 00
>
> (Note the difference in the 3rd byte. On a related note, binutils
> should also be fixed to dump vcvtsi2sdq in the 64bit case to avoid
> ambiguity)
>
> We should use "q" suffix with the ATT dialect in the Dimode insn mnemonic.
>
> 2018-05-23 Uros Bizjak <ubiz...@gmail.com>
>
> * config/i386/sse.md (cvtusi2<ssescalarmodesuffix>64<round_name>):
> Add {q} suffix to insn mnemonic.
>
> testsuite/Changelog:
>
> 2018-05-23 Uros Bizjak <ubiz...@gmail.com>
>
> * gcc.target/i386/avx512f-vcvtusi2sd64-1.c: Update scan string.
> * gcc.target/i386/avx512f-vcvtusi2ss64-1.c: Ditto.
>
> Bootstrapped and regression tested on x86_64-linux-gnu {,-m32}.
>
> OK for mainline and backports?
OK.
jeff