aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.apple/ppc_intrinsics-1.c
blob: 3df118853ca4a2bbea6c822e720d98b967d0b4d3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/* { dg-options "-I ${srcdir}/../../more-hdrs" } */
/* { dg-do compile { target "powerpc*-*-darwin*" } } */
/* Radar 3208244  */
#include "ppc_intrinsics.h"
#include <stdlib.h>

int main( void )
{
  int i,j;    
  int value;
  register int temp;
  double a,b,c,d;
  a = 1.;b=2.;c=3.;
        
  d = __fmadd(a,b,c);
  a = __fmadd(c,b,d);
  d = __fmadd(a,b,c);

  __lwsync();
  __nop();
  __lwsync();
  __nop();
  d = __fctidz(a);
  d = __fctidz(d);
  b = __fctid(a);
  b = __fctid(b);
  c = __fcfid(a);
  c = __fcfid(c);
  __dcbzl(32,&value);
  __dcbzl(&value,0);
        
  return a+b+c+d;
}