[Bug target/94603] ICE: in extract_insn, at recog.c:2343 (unrecognizable insn) with -mno-sse2 and __builtin_ia32_movq128

2020-04-15 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94603

Uroš Bizjak  changed:

   What|Removed |Added

 Resolution|--- |FIXED
   Target Milestone|--- |8.5
 Status|ASSIGNED|RESOLVED

--- Comment #10 from Uroš Bizjak  ---
Fixed for gcc-8.5+.

[Bug target/94603] ICE: in extract_insn, at recog.c:2343 (unrecognizable insn) with -mno-sse2 and __builtin_ia32_movq128

2020-04-15 Thread cvs-commit at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94603

--- Comment #9 from CVS Commits  ---
The releases/gcc-8 branch has been updated by Uros Bizjak :

https://gcc.gnu.org/g:06d6120b7a5621d584bd0c861bc94096cc8b60b7

commit r8-10183-g06d6120b7a5621d584bd0c861bc94096cc8b60b7
Author: Uros Bizjak 
Date:   Wed Apr 15 23:25:27 2020 +0200

i386: Require OPTION_MASK_ISA_SSE2 for __builtin_ia32_movq128 [PR94603]

PR target/94603
* config/i386/i386-builtin.def (__builtin_ia32_movq128):
Require OPTION_MASK_ISA_SSE2.

testsuite/ChangeLog:

PR target/94603
* gcc.target/i386/pr94603.c: New test.

[Bug target/94603] ICE: in extract_insn, at recog.c:2343 (unrecognizable insn) with -mno-sse2 and __builtin_ia32_movq128

2020-04-15 Thread cvs-commit at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94603

--- Comment #8 from CVS Commits  ---
The releases/gcc-9 branch has been updated by Uros Bizjak :

https://gcc.gnu.org/g:1eccf9955614a6f0597bf624bbc88788b8b0fdc5

commit r9-8499-g1eccf9955614a6f0597bf624bbc88788b8b0fdc5
Author: Uros Bizjak 
Date:   Wed Apr 15 22:02:39 2020 +0200

i386: Require OPTION_MASK_ISA_SSE2 for __builtin_ia32_movq128 [PR94603]

PR target/94603
* config/i386/i386-builtin.def (__builtin_ia32_movq128):
Require OPTION_MASK_ISA_SSE2.

testsuite/ChangeLog:

PR target/94603
* gcc.target/i386/pr94603.c: New test.

[Bug target/94603] ICE: in extract_insn, at recog.c:2343 (unrecognizable insn) with -mno-sse2 and __builtin_ia32_movq128

2020-04-15 Thread cvs-commit at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94603

--- Comment #7 from CVS Commits  ---
The master branch has been updated by Uros Bizjak :

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

commit r10-7737-gd4f655724c6e19ef0aeb5ac9e8d04abd962ccde7
Author: Uros Bizjak 
Date:   Wed Apr 15 17:08:07 2020 +0200

i386: Require OPTION_MASK_ISA_SSE2 for __builtin_ia32_movq128 [PR94603]

PR target/94603
* config/i386/i386-builtin.def (__builtin_ia32_movq128):
Require OPTION_MASK_ISA_SSE2.

testsuite/ChangeLog:

PR target/94603
* gcc.target/i386/pr94603.c: New test.

[Bug target/94603] ICE: in extract_insn, at recog.c:2343 (unrecognizable insn) with -mno-sse2 and __builtin_ia32_movq128

2020-04-15 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94603

--- Comment #6 from Uroš Bizjak  ---
(In reply to Jakub Jelinek from comment #5)
> (In reply to Uroš Bizjak from comment #4)
> > (In reply to Jakub Jelinek from comment #3)
> > > The testcase will need -msse -mno-sse2.
> > 
> > Yes, but the testcase is invalid, because __builtin_ia32_movq128 should not
> > be used without SSE2. Fixed compiler reports:
> > 
> > pr94603.c: In function ‘foo’:
> > pr94603.c:6:10: warning: implicit declaration of function
> > ‘__builtin_ia32_movq128’; did you mean ‘__builtin_ia32_movntps’?
> > [-Wimplicit-function-declaration]
> > pr94603.c:6:10: error: incompatible types when returning type ‘int’ but ‘V’
> > {aka ‘__vector(2) long long int’} was expected
> 
> I know.  But we (often) include even invalid testcases, perhaps with just
> dg-error "" and dg-warning "" (or use -w too) if we don't care about exact
> wording but just want to verify there is no ICE.

This is the testcase:

--cut here--
/* PR target/94603 */
/* { dg-do compile } */
/* { dg-options "-Wno-implicit-function-declaration -msse -mno-sse2" } */

typedef long long __attribute__ ((__vector_size__ (16))) V;

V
foo (V v)
{
  return __builtin_ia32_movq128 (v);  /* { dg-error "" } */
}
--cut here--

[Bug target/94603] ICE: in extract_insn, at recog.c:2343 (unrecognizable insn) with -mno-sse2 and __builtin_ia32_movq128

2020-04-15 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94603

--- Comment #5 from Jakub Jelinek  ---
(In reply to Uroš Bizjak from comment #4)
> (In reply to Jakub Jelinek from comment #3)
> > The testcase will need -msse -mno-sse2.
> 
> Yes, but the testcase is invalid, because __builtin_ia32_movq128 should not
> be used without SSE2. Fixed compiler reports:
> 
> pr94603.c: In function ‘foo’:
> pr94603.c:6:10: warning: implicit declaration of function
> ‘__builtin_ia32_movq128’; did you mean ‘__builtin_ia32_movntps’?
> [-Wimplicit-function-declaration]
> pr94603.c:6:10: error: incompatible types when returning type ‘int’ but ‘V’
> {aka ‘__vector(2) long long int’} was expected

I know.  But we (often) include even invalid testcases, perhaps with just
dg-error "" and dg-warning "" (or use -w too) if we don't care about exact
wording but just want to verify there is no ICE.

[Bug target/94603] ICE: in extract_insn, at recog.c:2343 (unrecognizable insn) with -mno-sse2 and __builtin_ia32_movq128

2020-04-15 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94603

--- Comment #4 from Uroš Bizjak  ---
(In reply to Jakub Jelinek from comment #3)
> The testcase will need -msse -mno-sse2.

Yes, but the testcase is invalid, because __builtin_ia32_movq128 should not be
used without SSE2. Fixed compiler reports:

pr94603.c: In function ‘foo’:
pr94603.c:6:10: warning: implicit declaration of function
‘__builtin_ia32_movq128’; did you mean ‘__builtin_ia32_movntps’?
[-Wimplicit-function-declaration]
pr94603.c:6:10: error: incompatible types when returning type ‘int’ but ‘V’
{aka ‘__vector(2) long long int’} was expected

[Bug target/94603] ICE: in extract_insn, at recog.c:2343 (unrecognizable insn) with -mno-sse2 and __builtin_ia32_movq128

2020-04-15 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94603

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #3 from Jakub Jelinek  ---
The testcase will need -msse -mno-sse2.

[Bug target/94603] ICE: in extract_insn, at recog.c:2343 (unrecognizable insn) with -mno-sse2 and __builtin_ia32_movq128

2020-04-15 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94603

Uroš Bizjak  changed:

   What|Removed |Added

   Assignee|unassigned at gcc dot gnu.org  |ubizjak at gmail dot com
 Status|NEW |ASSIGNED

--- Comment #2 from Uroš Bizjak  ---
Created attachment 48278
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48278&action=edit
Patch in testing.

[Bug target/94603] ICE: in extract_insn, at recog.c:2343 (unrecognizable insn) with -mno-sse2 and __builtin_ia32_movq128

2020-04-15 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94603

Martin Liška  changed:

   What|Removed |Added

 CC||marxin at gcc dot gnu.org
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-04-15
 Ever confirmed|0   |1

--- Comment #1 from Martin Liška  ---
Confirmed, at least as old as 4.8.0.