OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [testsuite/] [gcc.target/] [powerpc/] [altivec-cell-3.c] - Blame information for rev 378

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 322 jeremybenn
/* { dg-do run { target { powerpc*-*-* && vmx_hw } } } */
2
/* { dg-do compile { target { powerpc*-*-* && { ! vmx_hw } } } } */
3
/* { dg-require-effective-target powerpc_altivec_ok } */
4
/* { dg-options "-maltivec" } */
5
/* Test the vec_splats and vec_promote VMX intrinsics.  */
6
#include <altivec.h>
7
 
8
extern void abort (void);
9
 
10
vector int a = {0, 0, 0, 0};
11
int main1(int t) __attribute__((noinline));
12
int main1(int t)
13
{
14
  int i;
15
  vector int b = vec_splats(0);
16
  if (__builtin_memcmp (&a, &b, sizeof(vector int)))
17
    abort ();
18
 
19
  b = vec_splats(t);
20
  if (__builtin_memcmp (&a, &b, sizeof(vector int)))
21
    abort ();
22
 
23
  b = vec_promote(0, 1);
24
  if (vec_extract (b, 1) != 0)
25
    abort ();
26
 
27
  b = vec_promote(t, t);
28
  if (vec_extract (b, t) != 0)
29
    abort ();
30
 
31
  return 0;
32
}
33
 
34
int main(void)
35
{
36
  return main1 (0);
37
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.