[Bug target/104104] [12 Regression] Assembler messages: Error: number of operands mismatch for `vxorps'

2022-01-18 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104104

Jakub Jelinek  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|ASSIGNED|RESOLVED

--- Comment #3 from Jakub Jelinek  ---
Fixed.

[Bug target/104104] [12 Regression] Assembler messages: Error: number of operands mismatch for `vxorps'

2022-01-18 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104104

--- Comment #2 from CVS Commits  ---
The master branch has been updated by Jakub Jelinek :

https://gcc.gnu.org/g:ddce00dba244d889d688490517fb106169a72f01

commit r12-6715-gddce00dba244d889d688490517fb106169a72f01
Author: Jakub Jelinek 
Date:   Wed Jan 19 02:24:06 2022 +0100

i386: Fix GLC tuning with -masm=intel [PR104104]

> > On Sat, Jan 15, 2022 at 5:39 PM Hongyu Wang 
wrote:
> > > Thanks for the suggestion, here is the updated patch that survived
> > > bootstrap/regtest.

Unfortunately the patch results in assembler failures with -masm=intel.

> > > > +  if (TARGET_DEST_FALSE_DEPENDENCY
> > > > +  && get_attr_dest_false_dep (insn) ==
> > > > +DEST_FALSE_DEP_TRUE)
> > > > +output_asm_insn ("vxorps\t{%x0, %x0, %x0}", operands);

All the vxorps insns were emitted like the above, which means for
-masm=sysv
it looks like
vxorps  %xmm3, %xmm3, %xmm3
but for -masm=intel like:
vxorps
We want obviously
vxorps  xmm3, xmm3, xmm3
so the following patch just drops the errorneous {}s.

2022-01-19  Jakub Jelinek  

PR target/104104
* config/i386/sse.md
(__,
   
avx512fp16_sh_v8hf,
avx512dq_mul3,
_permvar,
avx2_perm_1, avx512f_perm_1,
avx512dq_rangep,
avx512dq_ranges,
_getmant,
   
avx512f_vgetmant):
Use vxorps\t%x0, %x0, %x0 instead of vxorps\t{%x0, %x0, %x0}.

* gcc.target/i386/pr104104.c: New test.

[Bug target/104104] [12 Regression] Assembler messages: Error: number of operands mismatch for `vxorps'

2022-01-18 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104104

--- Comment #1 from Jakub Jelinek  ---
Created attachment 52219
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=52219=edit
gcc12-pr104104.patch

Untested fix.

[Bug target/104104] [12 Regression] Assembler messages: Error: number of operands mismatch for `vxorps'

2022-01-18 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104104

Jakub Jelinek  changed:

   What|Removed |Added

 Ever confirmed|0   |1
Summary|Assembler messages: Error:  |[12 Regression] Assembler
   |number of operands mismatch |messages: Error: number of
   |for `vxorps'|operands mismatch for
   ||`vxorps'
 Status|UNCONFIRMED |ASSIGNED
 CC||jakub at gcc dot gnu.org
   Assignee|unassigned at gcc dot gnu.org  |jakub at gcc dot gnu.org
   Target Milestone|--- |12.0
   Last reconfirmed||2022-01-18