Beispiel #1
0
__STRING_INLINE char *
__stpcpy_small (char *__dest,
		__uint16_t __src0_2, __uint16_t __src4_2,
		__uint32_t __src0_4, __uint32_t __src4_4,
		size_t __srclen)
{
  union {
    unsigned int __ui;
    unsigned short int __usi;
    unsigned char __uc;
    char __c;
  } *__u = (void *) __dest;
  switch ((unsigned int) __srclen)
    {
    case 1:
      __u->__uc = '\0';
      break;
    case 2:
      __u->__usi = __src0_2;
      __u = __extension__ ((void *) __u + 1);
      break;
    case 3:
      __u->__usi = __src0_2;
      __u = __extension__ ((void *) __u + 2);
      __u->__uc = '\0';
      break;
    case 4:
      __u->__ui = __src0_4;
      __u = __extension__ ((void *) __u + 3);
      break;
    case 5:
      __u->__ui = __src0_4;
      __u = __extension__ ((void *) __u + 4);
      __u->__uc = '\0';
      break;
    case 6:
      __u->__ui = __src0_4;
      __u = __extension__ ((void *) __u + 4);
      __u->__usi = __src4_2;
      __u = __extension__ ((void *) __u + 1);
      break;
    case 7:
      __u->__ui = __src0_4;
      __u = __extension__ ((void *) __u + 4);
      __u->__usi = __src4_2;
      __u = __extension__ ((void *) __u + 2);
      __u->__uc = '\0';
      break;
    case 8:
      __u->__ui = __src0_4;
      __u = __extension__ ((void *) __u + 4);
      __u->__ui = __src4_4;
      __u = __extension__ ((void *) __u + 3);
      break;
    }
  return &__u->__c;
}
Beispiel #2
0
static __inline __m128 __attribute__((__always_inline__)) _mm_setzero_ps_rose (void)
{
// DQ (8/22/2011): Modified header for ROSE
// return __extension__ (__m128){ 0.0f, 0.0f, 0.0f, 0.0f };
// DQ (8/29/2015): This is not unparsed properly for the Intel compiler.
   return __extension__ (__m128){ 0.0f };
}
Beispiel #3
0
int main1 ()
{
  char *s, t;
  (__extension__ (__builtin_constant_p (t) 
		  && !__builtin_constant_p (s) 
		  && (t) == '\0' 
		  ? (char *) __rawmemchr (s, t) 
		  : __builtin_strchr (s, t)));
  return 0;
}
Beispiel #4
0
xsqrt( double x )
{
  __v2df f, g;
  double _d;
  x += x;
  g = __extension__ (__v2df){ x, 0 };
  f = _mm_sqrt_pd( g );
  _d = _mm_cvtsd_f64 (f);
  return (_d);
}
Beispiel #5
0
static void
__bb_init_prg ()
{
  const char *p;

      {
 unsigned long l;

 (__extension__ (__builtin_constant_p (p) && __builtin_constant_p (l)
   ? 5 : 2));
      }

}
Beispiel #6
0
__STRING_INLINE void *
__mempcpy_small (void *__dest, char __src1,
		 __STRING2_COPY_ARR2 __src2, __STRING2_COPY_ARR3 __src3,
		 __STRING2_COPY_ARR4 __src4, __STRING2_COPY_ARR5 __src5,
		 __STRING2_COPY_ARR6 __src6, __STRING2_COPY_ARR7 __src7,
		 __STRING2_COPY_ARR8 __src8, size_t __srclen)
{
  union {
    char __c;
    __STRING2_COPY_ARR2 __sca2;
    __STRING2_COPY_ARR3 __sca3;
    __STRING2_COPY_ARR4 __sca4;
    __STRING2_COPY_ARR5 __sca5;
    __STRING2_COPY_ARR6 __sca6;
    __STRING2_COPY_ARR7 __sca7;
    __STRING2_COPY_ARR8 __sca8;
  } *__u = __dest;
  switch ((unsigned int) __srclen)
    {
    case 1:
      __u->__c = __src1;
      break;
    case 2:
      __extension__ __u->__sca2 = __src2;
      break;
    case 3:
      __extension__ __u->__sca3 = __src3;
      break;
    case 4:
      __extension__ __u->__sca4 = __src4;
      break;
    case 5:
      __extension__ __u->__sca5 = __src5;
      break;
    case 6:
      __extension__ __u->__sca6 = __src6;
      break;
    case 7:
      __extension__ __u->__sca7 = __src7;
      break;
    case 8:
      __extension__ __u->__sca8 = __src8;
      break;
    }
  return __extension__ ((void *) __u + __srclen);
}
Beispiel #7
0
static __m256i
_mm256_set1_epi32 (int __A)
{
  return __extension__ (__m256i)(__v8si){ __A, __A, __A, __A,
					  __A, __A, __A, __A };
}
Beispiel #8
0
__STRING_INLINE void *
__mempcpy_small (void *__dest1,
		 char __src0_1, char __src2_1, char __src4_1, char __src6_1,
		 __uint16_t __src0_2, __uint16_t __src4_2,
		 __uint32_t __src0_4, __uint32_t __src4_4,
		 size_t __srclen)
{
  union {
    __uint32_t __ui;
    __uint16_t __usi;
    unsigned char __uc;
    unsigned char __c;
  } *__u = __dest1;
  switch ((unsigned int) __srclen)
    {
    case 1:
      __u->__c = __src0_1;
      __u = __extension__ ((void *) __u + 1);
      break;
    case 2:
      __u->__usi = __src0_2;
      __u = __extension__ ((void *) __u + 2);
      break;
    case 3:
      __u->__usi = __src0_2;
      __u = __extension__ ((void *) __u + 2);
      __u->__c = __src2_1;
      __u = __extension__ ((void *) __u + 1);
      break;
    case 4:
      __u->__ui = __src0_4;
      __u = __extension__ ((void *) __u + 4);
      break;
    case 5:
      __u->__ui = __src0_4;
      __u = __extension__ ((void *) __u + 4);
      __u->__c = __src4_1;
      __u = __extension__ ((void *) __u + 1);
      break;
    case 6:
      __u->__ui = __src0_4;
      __u = __extension__ ((void *) __u + 4);
      __u->__usi = __src4_2;
      __u = __extension__ ((void *) __u + 2);
      break;
    case 7:
      __u->__ui = __src0_4;
      __u = __extension__ ((void *) __u + 4);
      __u->__usi = __src4_2;
      __u = __extension__ ((void *) __u + 2);
      __u->__c = __src6_1;
      __u = __extension__ ((void *) __u + 1);
      break;
    case 8:
      __u->__ui = __src0_4;
      __u = __extension__ ((void *) __u + 4);
      __u->__ui = __src4_4;
      __u = __extension__ ((void *) __u + 4);
      break;
    }
  return (void *) __u;
}
Beispiel #9
0
extern inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_set1_ps (float __F) {
    return __extension__ (__m128)(__v4sf){
	__F, __F, __F, __F };
}
Beispiel #10
0
__m512i
foo_1 (long long y)
{
  return __extension__ (__m512i)(__v8di){ y, y, y, y, y, y, y, y };
}
Beispiel #11
0
__m512i
foo_2 (int y)
{
  return __extension__ (__m512i)(__v16si){ y, y, y, y, y, y, y, y, y,
				      y, y, y, y, y, y, y };
}
Beispiel #12
0
TestPairs(1); TestPairs(2);
TestPairs(3); TestPairs(4);
TestPairs(5); TestPairs(6);
TestPairs(7); TestPairs(8);
}

// rdar://6097730
void test3(_Complex int *x) {
  *x = ~*x;
}

void test4(_Complex float *x) {
  *x = ~*x;
}

void test5(_Complex int *x) {
  (*x)++;
}

int i1[(2+3i)*(5+7i) == 29i-11 ? 1 : -1];
int i2[(29i-11)/(5+7i) == 2+3i ? 1 : -1];
int i3[-(2+3i) == +(-3i-2) ? 1 : -1];
int i4[~(2+3i) == 2-3i ? 1 : -1];
int i5[(3i == -(-3i) ? ((void)3, 1i - 1) : 0) == 1i - 1 ? 1 : -1];

int f1[(2.0+3.0i)*(5.0+7.0i) == 29.0i-11.0 ? 1 : -1];
int f2[(29.0i-11.0)/(5.0+7.0i) == 2.0+3.0i ? 1 : -1];
int f3[-(2.0+3.0i) == +(-3.0i-2.0) ? 1 : -1];
int f4[~(2.0+3.0i) == 2.0-3.0i ? 1 : -1];
int f5[(3.0i == -(-3.0i) ? ((void)3.0, __extension__ (1.0i - 1.0)) : 0) == 1.0i - 1.0 ? 1 : -1];
Beispiel #13
0
 enum e1 {
   /* Integer constant expressions may not contain statement
      expressions (not a permitted operand).  */
   E1 = (1 ? 0 : ({ 0; })), /* { dg-error "constant expression" } */
   /* { dg-error "ISO C forbids braced-groups" "ISO" { target *-*-* } 16 } */
   /* Real and imaginary parts act like other arithmetic
      operators.  */
   E2 = __real__ (1 ? 0 : i++), /* { dg-error "constant expression" } */
   E3 = __real__ 0,
   E4 = __imag__ (1 ? 0 : i++), /* { dg-error "constant" } */
   E5 = __imag__ 0,
   /* __alignof__ always constant.  */
   E6 = __alignof__ (int[n]), /* { dg-error "ISO C90 forbids variable length array" } */
   E7 = __alignof__ (a), /* { dg-error "__alignof__ \\(expression\\)" } */
   /* __extension__ ignored for constant expression purposes.  */
   E8 = __extension__ (1 ? 0 : i++), /* { dg-error "constant expression" } */
   E9 = __extension__ 0,
   /* Conditional expressions with omitted arguments act like the
      standard type.  */ 
   E10 = (1 ? : i++), /* { dg-error "constant expression" } */
   /* { dg-error "ISO C forbids omitting" "ISO" { target *-*-* } 32 } */
   E11 = (1 ? : 0) /* { dg-error "ISO C forbids omitting" } */
 };
 enum e2 {
   /* Complex integer constants may be cast directly to integer
      types, but not after further arithmetic on them.  */
   F1 = (int) (_Complex int) 2i, /* { dg-error "constant expression" } */
   /* { dg-error "complex" "complex" { target *-*-* } 39 } */
   /* { dg-error "imaginary" "imaginary" { target *-*-* } 39 } */
   F2 = (int) +2i, /* { dg-error "constant expression" } */
   /* { dg-error "imaginary" "ISO" { target *-*-* } 42 } */
Beispiel #14
0
_mm_set_epi32 (int __q3, int __q2, int __q1, int __q0) /* { dg-error "target specific option mismatch" } */
{
  return __extension__ (__m128i)(__v4si){ __q0, __q1, __q2, __q3 };
}
Beispiel #15
0
_mm_set_epi64x (long long __q1, long long __q0)
{
  return __extension__ (__m128i)(__v2di){ __q0, __q1 };
}
Beispiel #16
0
_mm_set_epi32 (int __q3, int __q2, int __q1, int __q0)
{
  return __extension__ (__m128i)(__v4si){ __q0, __q1, __q2, __q3 };
}
Beispiel #17
0
_mm256_setzero_pd (void)
   {
  // EDG can't handle this code with 4 initializers.  Only one initializer is accepted.
  // return __extension__ (my__m256d){ 0.0, 0.0, 0.0, 0.0 };
     return __extension__ (my__m256d){ 0.0 };
   }
int PR8962 (int *t) {
  // This should look through the __extension__ no-op.
  if (__extension__ (t)) return 0;
  return *t; // expected-warning {{null pointer}}
}
static __inline __m128d __attribute__((__always_inline__)) _mm_set1_pd (double __F) {
  return __extension__ (__m128d){__F, __F};
}