OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [testsuite/] [gcc.dg/] [vmx/] [ops-long-1.c] - Blame information for rev 298

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 298 jeremybenn
/* { dg-do compile } */
2
 
3
/* Checks from the original ops.c that pass pointers to long or
4
   unsigned long for operations that support that in released versions
5
   of <altivec.h>.  */
6
 
7
#include <altivec.h>
8
#include <stdlib.h>
9
extern int *var_int;
10
extern long * *var_long_ptr;
11
extern unsigned long * *var_unsigned_long_ptr;
12
extern vector signed int * *var_vec_s32_ptr;
13
extern vector signed int *var_vec_s32;
14
extern vector unsigned char * *var_vec_u8_ptr;
15
extern vector unsigned char *var_vec_u8;
16
extern vector unsigned int * *var_vec_u32_ptr;
17
extern vector unsigned int *var_vec_u32;
18
 
19
void f13() {
20
  *var_vec_s32++ = vec_ld(var_int[0], var_long_ptr[1]);
21
  *var_vec_s32++ = vec_lde(var_int[0], var_long_ptr[1]);
22
  *var_vec_s32++ = vec_ldl(var_int[0], var_long_ptr[1]);
23
  *var_vec_s32++ = vec_lvewx(var_int[0], var_long_ptr[1]);
24
  *var_vec_s32++ = vec_lvx(var_int[0], var_long_ptr[1]);
25
  *var_vec_s32++ = vec_lvxl(var_int[0], var_long_ptr[1]);
26
}
27
void f22() {
28
  *var_vec_u32++ = vec_ld(var_int[0], var_unsigned_long_ptr[1]);
29
  *var_vec_u32++ = vec_lde(var_int[0], var_unsigned_long_ptr[1]);
30
  *var_vec_u32++ = vec_ldl(var_int[0], var_unsigned_long_ptr[1]);
31
  *var_vec_u32++ = vec_lvewx(var_int[0], var_unsigned_long_ptr[1]);
32
  *var_vec_u32++ = vec_lvx(var_int[0], var_unsigned_long_ptr[1]);
33
  *var_vec_u32++ = vec_lvxl(var_int[0], var_unsigned_long_ptr[1]);
34
}
35
void f25() {
36
  *var_vec_u8++ = vec_lvsl(var_int[0], var_long_ptr[1]);
37
  *var_vec_u8++ = vec_lvsl(var_int[0], var_unsigned_long_ptr[1]);
38
  *var_vec_u8++ = vec_lvsr(var_int[0], var_long_ptr[1]);
39
  *var_vec_u8++ = vec_lvsr(var_int[0], var_unsigned_long_ptr[1]);
40
}
41
void f33() {
42
  vec_dst(var_long_ptr[0], var_int[1], 0);
43
  vec_dst(var_long_ptr[0], var_int[1], 1);
44
  vec_dst(var_long_ptr[0], var_int[1], 2);
45
  vec_dst(var_long_ptr[0], var_int[1], 3);
46
  vec_dst(var_unsigned_long_ptr[0], var_int[1], 0);
47
  vec_dst(var_unsigned_long_ptr[0], var_int[1], 1);
48
  vec_dst(var_unsigned_long_ptr[0], var_int[1], 2);
49
  vec_dst(var_unsigned_long_ptr[0], var_int[1], 3);
50
}
51
void f34() {
52
  vec_dstst(var_long_ptr[0], var_int[1], 0);
53
  vec_dstst(var_long_ptr[0], var_int[1], 1);
54
  vec_dstst(var_long_ptr[0], var_int[1], 2);
55
  vec_dstst(var_long_ptr[0], var_int[1], 3);
56
  vec_dstst(var_unsigned_long_ptr[0], var_int[1], 0);
57
  vec_dstst(var_unsigned_long_ptr[0], var_int[1], 1);
58
  vec_dstst(var_unsigned_long_ptr[0], var_int[1], 2);
59
  vec_dstst(var_unsigned_long_ptr[0], var_int[1], 3);
60
}
61
void f35() {
62
  vec_dststt(var_long_ptr[0], var_int[1], 0);
63
  vec_dststt(var_long_ptr[0], var_int[1], 1);
64
  vec_dststt(var_long_ptr[0], var_int[1], 2);
65
  vec_dststt(var_long_ptr[0], var_int[1], 3);
66
  vec_dststt(var_unsigned_long_ptr[0], var_int[1], 0);
67
  vec_dststt(var_unsigned_long_ptr[0], var_int[1], 1);
68
  vec_dststt(var_unsigned_long_ptr[0], var_int[1], 2);
69
  vec_dststt(var_unsigned_long_ptr[0], var_int[1], 3);
70
  vec_dstt(var_long_ptr[0], var_int[1], 0);
71
  vec_dstt(var_long_ptr[0], var_int[1], 1);
72
  vec_dstt(var_long_ptr[0], var_int[1], 2);
73
  vec_dstt(var_long_ptr[0], var_int[1], 3);
74
}
75
void f36() {
76
  vec_dstt(var_unsigned_long_ptr[0], var_int[1], 0);
77
  vec_dstt(var_unsigned_long_ptr[0], var_int[1], 1);
78
  vec_dstt(var_unsigned_long_ptr[0], var_int[1], 2);
79
  vec_dstt(var_unsigned_long_ptr[0], var_int[1], 3);
80
}

powered by: WebSVN 2.1.0

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