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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gcc.target/] [i386/] [avx-1.c] - Blame information for rev 724

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

Line No. Rev Author Line
1 691 jeremybenn
/* { dg-do compile } */
2
/* { dg-options "-O2 -Werror-implicit-function-declaration -march=k8 -m3dnow -mavx -mavx2 -maes -mpclmul" } */
3
 
4
#include <mm_malloc.h>
5
 
6
/* Test that the intrinsics compile with optimization.  All of them are
7
   defined as inline functions in {,x,e,p,t,s,w,g,a,b}mmintrin.h and
8
   mm3dnow.h that reference the proper builtin functions.  Defining away
9
   "extern" and "__inline" results in all of them being compiled as proper
10
   functions.  */
11
 
12
#define extern
13
#define __inline
14
 
15
/* Following intrinsics require immediate arguments. */
16
 
17
/* ammintrin.h */
18
#define __builtin_ia32_extrqi(X, I, L)  __builtin_ia32_extrqi(X, 1, 1)
19
#define __builtin_ia32_insertqi(X, Y, I, L) __builtin_ia32_insertqi(X, Y, 1, 1)
20
 
21
/* immintrin.h */
22
#define __builtin_ia32_blendpd256(X, Y, M) __builtin_ia32_blendpd256(X, Y, 1)
23
#define __builtin_ia32_blendps256(X, Y, M) __builtin_ia32_blendps256(X, Y, 1)
24
#define __builtin_ia32_dpps256(X, Y, M) __builtin_ia32_dpps256(X, Y, 1)
25
#define __builtin_ia32_shufpd256(X, Y, M) __builtin_ia32_shufpd256(X, Y, 1)
26
#define __builtin_ia32_shufps256(X, Y, M) __builtin_ia32_shufps256(X, Y, 1)
27
#define __builtin_ia32_cmpsd(X, Y, O) __builtin_ia32_cmpsd(X, Y, 1)
28
#define __builtin_ia32_cmpss(X, Y, O) __builtin_ia32_cmpss(X, Y, 1)
29
#define __builtin_ia32_cmppd(X, Y, O) __builtin_ia32_cmppd(X, Y, 1)
30
#define __builtin_ia32_cmpps(X, Y, O) __builtin_ia32_cmpps(X, Y, 1)
31
#define __builtin_ia32_cmppd256(X, Y, O) __builtin_ia32_cmppd256(X, Y, 1)
32
#define __builtin_ia32_cmpps256(X, Y, O) __builtin_ia32_cmpps256(X, Y, 1)
33
#define __builtin_ia32_vextractf128_pd256(X, N) __builtin_ia32_vextractf128_pd256(X, 1)
34
#define __builtin_ia32_vextractf128_ps256(X, N) __builtin_ia32_vextractf128_ps256(X, 1)
35
#define __builtin_ia32_vextractf128_si256(X, N) __builtin_ia32_vextractf128_si256(X, 1)
36
#define __builtin_ia32_vpermilpd(X, N) __builtin_ia32_vpermilpd(X, 1)
37
#define __builtin_ia32_vpermilpd256(X, N) __builtin_ia32_vpermilpd256(X, 1)
38
#define __builtin_ia32_vpermilps(X, N) __builtin_ia32_vpermilps(X, 1)
39
#define __builtin_ia32_vpermilps256(X, N) __builtin_ia32_vpermilps256(X, 1)
40
#define __builtin_ia32_vpermil2pd(X, Y, C, I) __builtin_ia32_vpermil2pd(X, Y, C, 1)
41
#define __builtin_ia32_vpermil2pd256(X, Y, C, I) __builtin_ia32_vpermil2pd256(X, Y, C, 1)
42
#define __builtin_ia32_vpermil2ps(X, Y, C, I) __builtin_ia32_vpermil2ps(X, Y, C, 1)
43
#define __builtin_ia32_vpermil2ps256(X, Y, C, I) __builtin_ia32_vpermil2ps256(X, Y, C, 1)
44
#define __builtin_ia32_vperm2f128_pd256(X, Y, C) __builtin_ia32_vperm2f128_pd256(X, Y, 1)
45
#define __builtin_ia32_vperm2f128_ps256(X, Y, C) __builtin_ia32_vperm2f128_ps256(X, Y, 1)
46
#define __builtin_ia32_vperm2f128_si256(X, Y, C) __builtin_ia32_vperm2f128_si256(X, Y, 1)
47
#define __builtin_ia32_vinsertf128_pd256(X, Y, C) __builtin_ia32_vinsertf128_pd256(X, Y, 1)
48
#define __builtin_ia32_vinsertf128_ps256(X, Y, C) __builtin_ia32_vinsertf128_ps256(X, Y, 1)
49
#define __builtin_ia32_vinsertf128_si256(X, Y, C) __builtin_ia32_vinsertf128_si256(X, Y, 1)
50
#define __builtin_ia32_roundpd256(V, M) __builtin_ia32_roundpd256(V, 1)
51
#define __builtin_ia32_roundps256(V, M) __builtin_ia32_roundps256(V, 1)
52
#define __builtin_ia32_mpsadbw256(X, Y, M) __builtin_ia32_mpsadbw256(X, Y, 1)
53
#define __builtin_ia32_palignr256(X, Y, M) __builtin_ia32_palignr256(X, Y, 8)
54
#define __builtin_ia32_pblendw256(X, Y, M) __builtin_ia32_pblendw256(X, Y, 8)
55
#define __builtin_ia32_pshufd256(X, M) __builtin_ia32_pshufd256(X, 8)
56
#define __builtin_ia32_pshufhw256(X, M) __builtin_ia32_pshufhw256(X, 8)
57
#define __builtin_ia32_pshuflw256(X, M) __builtin_ia32_pshuflw256(X, 8)
58
#define __builtin_ia32_pslldqi256(X, M) __builtin_ia32_pslldqi256(X, 8)
59
#define __builtin_ia32_psrldqi256(X, M) __builtin_ia32_psrldqi256(X, 8)
60
#define __builtin_ia32_pblendd128(X, Y, M) __builtin_ia32_pblendd128(X, Y, 1)
61
#define __builtin_ia32_pblendd256(X, Y, M) __builtin_ia32_pblendd256(X, Y, 1)
62
#define __builtin_ia32_permdf256(X, M) __builtin_ia32_permdf256(X, 1)
63
#define __builtin_ia32_permdi256(X, M) __builtin_ia32_permdi256(X, 1)
64
#define __builtin_ia32_permti256(X, Y, M) __builtin_ia32_permti256(X, Y, 1)
65
#define __builtin_ia32_extract128i256(X, M) __builtin_ia32_extract128i256(X, 1)
66
#define __builtin_ia32_insert128i256(X, Y, M) __builtin_ia32_insert128i256(X, Y, 1)
67
#define __builtin_ia32_gathersiv2df(A, B, C, D, M) __builtin_ia32_gathersiv2df(A, B, C, D, 1)
68
#define __builtin_ia32_gathersiv4df(A, B, C, D, M) __builtin_ia32_gathersiv4df(A, B, C, D, 1)
69
#define __builtin_ia32_gatherdiv2df(A, B, C, D, M) __builtin_ia32_gatherdiv2df(A, B, C, D, 1)
70
#define __builtin_ia32_gatherdiv4df(A, B, C, D, M) __builtin_ia32_gatherdiv4df(A, B, C, D, 1)
71
#define __builtin_ia32_gathersiv4sf(A, B, C, D, M) __builtin_ia32_gathersiv4sf(A, B, C, D, 1)
72
#define __builtin_ia32_gathersiv8sf(A, B, C, D, M) __builtin_ia32_gathersiv8sf(A, B, C, D, 1)
73
#define __builtin_ia32_gatherdiv4sf(A, B, C, D, M) __builtin_ia32_gatherdiv4sf(A, B, C, D, 1)
74
#define __builtin_ia32_gatherdiv4sf256(A, B, C, D, M) \
75
  __builtin_ia32_gatherdiv4sf256(A, B, C, D, 1)
76
#define __builtin_ia32_gathersiv2di(A, B, C, D, M) __builtin_ia32_gathersiv2di(A, B, C, D, 1)
77
#define __builtin_ia32_gathersiv4di(A, B, C, D, M) __builtin_ia32_gathersiv4di(A, B, C, D, 1)
78
#define __builtin_ia32_gatherdiv2di(A, B, C, D, M) __builtin_ia32_gatherdiv2di(A, B, C, D, 1)
79
#define __builtin_ia32_gatherdiv4di(A, B, C, D, M) __builtin_ia32_gatherdiv4di(A, B, C, D, 1)
80
#define __builtin_ia32_gathersiv4si(A, B, C, D, M) __builtin_ia32_gathersiv4si(A, B, C, D, 1)
81
#define __builtin_ia32_gathersiv8si(A, B, C, D, M) __builtin_ia32_gathersiv8si(A, B, C, D, 1)
82
#define __builtin_ia32_gatherdiv4si(A, B, C, D, M) __builtin_ia32_gatherdiv4si(A, B, C, D, 1)
83
#define __builtin_ia32_gatherdiv4si256(A, B, C, D, M) \
84
  __builtin_ia32_gatherdiv4si256(A, B, C, D, 1)
85
 
86
/* wmmintrin.h */
87
#define __builtin_ia32_aeskeygenassist128(X, C) __builtin_ia32_aeskeygenassist128(X, 1)
88
#define __builtin_ia32_pclmulqdq128(X, Y, I) __builtin_ia32_pclmulqdq128(X, Y, 1)
89
 
90
/* smmintrin.h */
91
#define __builtin_ia32_roundpd(V, M) __builtin_ia32_roundpd(V, 1)
92
#define __builtin_ia32_roundsd(D, V, M) __builtin_ia32_roundsd(D, V, 1)
93
#define __builtin_ia32_roundps(V, M) __builtin_ia32_roundps(V, 1)
94
#define __builtin_ia32_roundss(D, V, M) __builtin_ia32_roundss(D, V, 1)
95
 
96
#define __builtin_ia32_pblendw128(X, Y, M) __builtin_ia32_pblendw128 (X, Y, 1)
97
#define __builtin_ia32_blendps(X, Y, M) __builtin_ia32_blendps(X, Y, 1)
98
#define __builtin_ia32_blendpd(X, Y, M) __builtin_ia32_blendpd(X, Y, 1)
99
#define __builtin_ia32_dpps(X, Y, M) __builtin_ia32_dpps(X, Y, 1)
100
#define __builtin_ia32_dppd(X, Y, M) __builtin_ia32_dppd(X, Y, 1)
101
#define __builtin_ia32_insertps128(D, S, N) __builtin_ia32_insertps128(D, S, 1)
102
#define __builtin_ia32_vec_ext_v4sf(X, N) __builtin_ia32_vec_ext_v4sf(X, 1)
103
#define __builtin_ia32_vec_set_v16qi(D, S, N) __builtin_ia32_vec_set_v16qi(D, S, 1)
104
#define __builtin_ia32_vec_set_v4si(D, S, N) __builtin_ia32_vec_set_v4si(D, S, 1)
105
#define __builtin_ia32_vec_set_v2di(D, S, N) __builtin_ia32_vec_set_v2di(D, S, 1)
106
#define __builtin_ia32_vec_ext_v16qi(X, N) __builtin_ia32_vec_ext_v16qi(X, 1)
107
#define __builtin_ia32_vec_ext_v4si(X, N) __builtin_ia32_vec_ext_v4si(X, 1)
108
#define __builtin_ia32_vec_ext_v2di(X, N) __builtin_ia32_vec_ext_v2di(X, 1)
109
#define __builtin_ia32_mpsadbw128(X, Y, M) __builtin_ia32_mpsadbw128(X, Y, 1)
110
#define __builtin_ia32_pcmpistrm128(X, Y, M) \
111
  __builtin_ia32_pcmpistrm128(X, Y, 1)
112
#define __builtin_ia32_pcmpistri128(X, Y, M) \
113
  __builtin_ia32_pcmpistri128(X, Y, 1)
114
#define __builtin_ia32_pcmpestrm128(X, LX, Y, LY, M) \
115
  __builtin_ia32_pcmpestrm128(X, LX, Y, LY, 1)
116
#define __builtin_ia32_pcmpestri128(X, LX, Y, LY, M) \
117
  __builtin_ia32_pcmpestri128(X, LX, Y, LY, 1)
118
#define __builtin_ia32_pcmpistria128(X, Y, M) \
119
  __builtin_ia32_pcmpistria128(X, Y, 1)
120
#define __builtin_ia32_pcmpistric128(X, Y, M) \
121
  __builtin_ia32_pcmpistric128(X, Y, 1)
122
#define __builtin_ia32_pcmpistrio128(X, Y, M) \
123
  __builtin_ia32_pcmpistrio128(X, Y, 1)
124
#define __builtin_ia32_pcmpistris128(X, Y, M) \
125
  __builtin_ia32_pcmpistris128(X, Y, 1)
126
#define __builtin_ia32_pcmpistriz128(X, Y, M) \
127
  __builtin_ia32_pcmpistriz128(X, Y, 1)
128
#define __builtin_ia32_pcmpestria128(X, LX, Y, LY, M) \
129
  __builtin_ia32_pcmpestria128(X, LX, Y, LY, 1)
130
#define __builtin_ia32_pcmpestric128(X, LX, Y, LY, M) \
131
  __builtin_ia32_pcmpestric128(X, LX, Y, LY, 1)
132
#define __builtin_ia32_pcmpestrio128(X, LX, Y, LY, M) \
133
  __builtin_ia32_pcmpestrio128(X, LX, Y, LY, 1)
134
#define __builtin_ia32_pcmpestris128(X, LX, Y, LY, M) \
135
  __builtin_ia32_pcmpestris128(X, LX, Y, LY, 1)
136
#define __builtin_ia32_pcmpestriz128(X, LX, Y, LY, M) \
137
  __builtin_ia32_pcmpestriz128(X, LX, Y, LY, 1)
138
 
139
/* tmmintrin.h */
140
#define __builtin_ia32_palignr128(X, Y, N) __builtin_ia32_palignr128(X, Y, 8)
141
#define __builtin_ia32_palignr(X, Y, N) __builtin_ia32_palignr(X, Y, 8)
142
 
143
/* emmintrin.h */
144
#define __builtin_ia32_psrldqi128(A, B) __builtin_ia32_psrldqi128(A, 8)
145
#define __builtin_ia32_pslldqi128(A, B) __builtin_ia32_pslldqi128(A, 8)
146
#define __builtin_ia32_pshufhw(A, N) __builtin_ia32_pshufhw(A, 0)
147
#define __builtin_ia32_pshuflw(A, N) __builtin_ia32_pshuflw(A, 0)
148
#define __builtin_ia32_pshufd(A, N) __builtin_ia32_pshufd(A, 0)
149
#define __builtin_ia32_vec_set_v8hi(A, D, N) \
150
  __builtin_ia32_vec_set_v8hi(A, D, 0)
151
#define __builtin_ia32_vec_ext_v8hi(A, N) __builtin_ia32_vec_ext_v8hi(A, 0)
152
#define __builtin_ia32_shufpd(A, B, N) __builtin_ia32_shufpd(A, B, 0)
153
 
154
/* xmmintrin.h */
155
#define __builtin_prefetch(P, A, I) __builtin_prefetch(P, A, _MM_HINT_NTA)
156
#define __builtin_ia32_pshufw(A, N) __builtin_ia32_pshufw(A, 0)
157
#define __builtin_ia32_vec_set_v4hi(A, D, N) \
158
  __builtin_ia32_vec_set_v4hi(A, D, 0)
159
#define __builtin_ia32_vec_ext_v4hi(A, N) __builtin_ia32_vec_ext_v4hi(A, 0)
160
#define __builtin_ia32_shufps(A, B, N) __builtin_ia32_shufps(A, B, 0)
161
 
162
#include <wmmintrin.h>
163
#include <immintrin.h>
164
#include <mm3dnow.h>

powered by: WebSVN 2.1.0

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