On Fri, Jul 2, 2021 at 12:48 PM Hongyu Wang <wwwhhhyyy...@gmail.com> wrote: > > > > > On Fri, Jul 2, 2021 at 10:30 AM Hongyu Wang <hongyu.w...@intel.com> wrote: > > > > > > Hi, > > > > > > For instructions like cvtss2si, there is no need to output the 'l' > > > or 'q' suffixes just like cvtss2usi, since the output operand is always > > > register and those suffixes are only used to distinguish ambiguous > > > memory operands. > > > > > > Bootstraped and regression tested on x86_64-linux-gnu {,-m32}. > > > OK for master? > > > > No, we leave suffixes for additional assembler checks. > > > > Uros. > > > > What is the difference between cvtss2si and cvtss2usi? I just don't > understand why only the singed convert requires suffixes. > > Assembler encodes these cvt*2si instruction according to the output > operand size, it has same behavior w and w/o the suffixes. AFAIK the > suffixes are needed when the assembler could not distinguish the > operand size, otherwise it seems to be redundant.
We also don't need suffixes for: movl %edi, %eax but we emit them anyway. Uros.