[Bug target/88522] Error: operand size mismatch for `vpgatherqq'

2019-01-08 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88522

--- Comment #9 from Jakub Jelinek  ---
Author: jakub
Date: Tue Jan  8 10:29:21 2019
New Revision: 267715

URL: https://gcc.gnu.org/viewcvs?rev=267715=gcc=rev
Log:
Backported from mainline
2018-12-21  Jakub Jelinek  

PR target/88522
* config/i386/sse.md (*avx512pf_gatherpfsf_mask,
*avx512pf_gatherpfdf_mask, *avx512pf_scatterpfsf_mask,
*avx512pf_scatterpfdf_mask): Use %X5 instead of %5 for
-masm=intel.
(gatherq_mode): Remove mode iterator.
(*avx512f_gathersi, *avx512f_gathersi_2): Use X instead
of .
(*avx512f_gatherdi): Use X instead of .
(*avx512f_gatherdi_2, *avx512f_scattersi,
*avx512f_scatterdi): Use %X5 for -masm=intel.

Modified:
branches/gcc-8-branch/gcc/ChangeLog
branches/gcc-8-branch/gcc/config/i386/sse.md

[Bug target/88522] Error: operand size mismatch for `vpgatherqq'

2019-01-04 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88522

H.J. Lu  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |9.0

--- Comment #8 from H.J. Lu  ---
Fixed for GCC 9.

[Bug target/88522] Error: operand size mismatch for `vpgatherqq'

2018-12-21 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88522

--- Comment #7 from Jakub Jelinek  ---
Author: jakub
Date: Fri Dec 21 16:01:53 2018
New Revision: 267327

URL: https://gcc.gnu.org/viewcvs?rev=267327=gcc=rev
Log:
PR target/88522
* config/i386/sse.md (*avx512pf_gatherpfsf_mask,
*avx512pf_gatherpfdf_mask, *avx512pf_scatterpfsf_mask,
*avx512pf_scatterpfdf_mask): Use %X5 instead of %5 for
-masm=intel.
(gatherq_mode): Remove mode iterator.
(*avx512f_gathersi, *avx512f_gathersi_2): Use X instead
of .
(*avx512f_gatherdi): Use X instead of .
(*avx512f_gatherdi_2, *avx512f_scattersi,
*avx512f_scatterdi): Use %X5 for -masm=intel.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/sse.md

[Bug target/88522] Error: operand size mismatch for `vpgatherqq'

2018-12-21 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88522

--- Comment #6 from Jakub Jelinek  ---
Created attachment 45275
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=45275=edit
gcc9-pr88522.patch

Untested fix.

[Bug target/88522] Error: operand size mismatch for `vpgatherqq'

2018-12-20 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88522

--- Comment #5 from H.J. Lu  ---
*** Bug 87471 has been marked as a duplicate of this bug. ***

[Bug target/88522] Error: operand size mismatch for `vpgatherqq'

2018-12-17 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88522

H.J. Lu  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2018-12-17
 Ever confirmed|0   |1

--- Comment #4 from H.J. Lu  ---
(In reply to Jakub Jelinek from comment #3)
> Yes, it does.  So, shall we emit just PTR always, or have a configure check
> to detect this and use PTR if assembler with this support isn't detect,
> otherwise whatever it requires newly (is that whatever is normally used for
> an element of the vector)?

I think we should just emit PTR without assembler check.

[Bug target/88522] Error: operand size mismatch for `vpgatherqq'

2018-12-17 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88522

--- Comment #3 from Jakub Jelinek  ---
Yes, it does.  So, shall we emit just PTR always, or have a configure check to
detect this and use PTR if assembler with this support isn't detect, otherwise
whatever it requires newly (is that whatever is normally used for an element of
the vector)?

[Bug target/88522] Error: operand size mismatch for `vpgatherqq'

2018-12-17 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88522

--- Comment #2 from H.J. Lu  ---
(In reply to Jakub Jelinek from comment #1)
> binutils 2.29 doesn't accept the syntax that 2.32 accepts and vice versa.
> Why has it changed incompatibly?
> Shouldn't new binutils accept both forms?

binutils 2.29 is wrong.  Since Intel syntax is rarely used, it was decided
not to accept wrong syntax in binutils 2.32.  Does

vpgatherdd  xmm0{k1},  PTR [eax+xmm1*1]
vpgatherdd  ymm0{k1},  PTR [eax+ymm1*1]
vpgatherdd  zmm1{k1},  PTR [eax+zmm0*1]
vpgatherdq  xmm0{k1},  PTR [eax+xmm1*1]
vpgatherdq  ymm0{k1},  PTR [eax+xmm1*1]
vpgatherdq  zmm1{k1},  PTR [eax+ymm0*1]
vpgatherqd  xmm0{k1},  PTR [eax+xmm1*1]
vpgatherqd  xmm0{k1},  PTR [eax+ymm1*1]
vpgatherqd  ymm1{k1},  PTR [eax+zmm0*1]
vpgatherqd  ymm2{k1},  PTR [edx+zmm1*1]
vpgatherqq  xmm0{k1},  PTR [eax+xmm1*1]
vpgatherqq  ymm0{k1},  PTR [eax+ymm1*1]
vpgatherqq  zmm2{k1},  PTR [edx+zmm1*1]

work with binutils 2.29?

[Bug target/88522] Error: operand size mismatch for `vpgatherqq'

2018-12-17 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88522

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #1 from Jakub Jelinek  ---
binutils 2.29 doesn't accept the syntax that 2.32 accepts and vice versa.
Why has it changed incompatibly?
Shouldn't new binutils accept both forms?