https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94603

--- Comment #6 from Uroš Bizjak <ubizjak at gmail dot com> ---
(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--

Reply via email to