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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [config/] [sparc/] [visintrin.h] - Blame information for rev 867

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

Line No. Rev Author Line
1 709 jeremybenn
/* Copyright (C) 2011 Free Software Foundation, Inc.
2
 
3
   This file is part of GCC.
4
 
5
   GCC is free software; you can redistribute it and/or modify
6
   it under the terms of the GNU General Public License as published by
7
   the Free Software Foundation; either version 3, or (at your option)
8
   any later version.
9
 
10
   GCC is distributed in the hope that it will be useful,
11
   but WITHOUT ANY WARRANTY; without even the implied warranty of
12
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
   GNU General Public License for more details.
14
 
15
   Under Section 7 of GPL version 3, you are granted additional
16
   permissions described in the GCC Runtime Library Exception, version
17
   3.1, as published by the Free Software Foundation.
18
 
19
   You should have received a copy of the GNU General Public License and
20
   a copy of the GCC Runtime Library Exception along with this program;
21
   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
22
   <http://www.gnu.org/licenses/>.  */
23
 
24
#ifndef _VISINTRIN_H_INCLUDED
25
#define _VISINTRIN_H_INCLUDED
26
 
27
#ifdef __VIS__
28
 
29
typedef int __v2si __attribute__ ((__vector_size__ (8)));
30
typedef int __v1si __attribute__ ((__vector_size__ (4)));
31
typedef short __v4hi __attribute__ ((__vector_size__ (8)));
32
typedef short __v2hi __attribute__ ((__vector_size__ (4)));
33
typedef unsigned char __v8qi __attribute__ ((__vector_size__ (8)));
34
typedef unsigned char __v4qi __attribute__ ((__vector_size__ (4)));
35
typedef int __i64 __attribute__ ((__mode__ (DI)));
36
 
37
#if __VIS__ >= 0x200
38
 
39
extern __inline void
40
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
41
__vis_write_gsr (__i64 __A)
42
{
43
  __builtin_vis_write_gsr (__A);
44
}
45
 
46
extern __inline __i64
47
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
48
__vis_read_gsr (void)
49
{
50
  return __builtin_vis_read_gsr ();
51
}
52
 
53
#endif /* __VIS__ >= 0x200 */
54
 
55
extern __inline void *
56
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
57
__vis_alignaddr (void *__A, long __B)
58
{
59
  return __builtin_vis_alignaddr (__A, __B);
60
}
61
 
62
extern __inline void *
63
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
64
__vis_alignaddrl (void *__A, long __B)
65
{
66
  return __builtin_vis_alignaddrl (__A, __B);
67
}
68
 
69
extern __inline __i64
70
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
71
__vis_faligndatadi (__i64 __A, __i64 __B)
72
{
73
  return __builtin_vis_faligndatadi (__A, __B);
74
}
75
 
76
extern __inline __v2si
77
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
78
__vis_faligndatav2si (__v2si __A, __v2si __B)
79
{
80
  return __builtin_vis_faligndatav2si (__A, __B);
81
}
82
 
83
extern __inline __v4hi
84
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
85
__vis_faligndatav4hi (__v4hi __A, __v4hi __B)
86
{
87
  return __builtin_vis_faligndatav4hi (__A, __B);
88
}
89
 
90
extern __inline __v8qi
91
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
92
__vis_faligndatav8qi (__v8qi __A, __v8qi __B)
93
{
94
  return __builtin_vis_faligndatav8qi (__A, __B);
95
}
96
 
97
extern __inline __v4hi
98
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
99
__vis_fexpand (__v4qi __A)
100
{
101
  return __builtin_vis_fexpand (__A);
102
}
103
 
104
extern __inline __v4hi
105
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
106
__vis_fmul8x16 (__v4qi __A, __v4hi __B)
107
{
108
  return __builtin_vis_fmul8x16 (__A, __B);
109
}
110
 
111
extern __inline __v4hi
112
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
113
__vis_fmul8x16au (__v4qi __A, __v2hi __B)
114
{
115
  return __builtin_vis_fmul8x16au (__A, __B);
116
}
117
 
118
extern __inline __v4hi
119
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
120
__vis_fmul8x16al (__v4qi __A, __v2hi __B)
121
{
122
  return __builtin_vis_fmul8x16al (__A, __B);
123
}
124
 
125
extern __inline __v4hi
126
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
127
__vis_fmul8sux16 (__v8qi __A, __v4hi __B)
128
{
129
  return __builtin_vis_fmul8sux16 (__A, __B);
130
}
131
 
132
extern __inline __v4hi
133
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
134
__vis_fmul8ulx16 (__v8qi __A, __v4hi __B)
135
{
136
  return __builtin_vis_fmul8ulx16 (__A, __B);
137
}
138
 
139
extern __inline __v2si
140
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
141
__vis_fmuld8sux16 (__v4qi __A, __v2hi __B)
142
{
143
  return __builtin_vis_fmuld8sux16 (__A, __B);
144
}
145
 
146
extern __inline __v2si
147
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
148
__vis_fmuld8ulx16 (__v4qi __A, __v2hi __B)
149
{
150
  return __builtin_vis_fmuld8ulx16 (__A, __B);
151
}
152
 
153
extern __inline __v4qi
154
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
155
__vis_fpack16 (__v4hi __A)
156
{
157
  return __builtin_vis_fpack16 (__A);
158
}
159
 
160
extern __inline __v8qi
161
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
162
__vis_fpack32 (__v2si __A, __v8qi __B)
163
{
164
  return __builtin_vis_fpack32 (__A, __B);
165
}
166
 
167
extern __inline __v2hi
168
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
169
__vis_fpackfix (__v2si __A)
170
{
171
  return __builtin_vis_fpackfix (__A);
172
}
173
 
174
extern __inline __v8qi
175
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
176
__vis_fpmerge (__v4qi __A, __v4qi __B)
177
{
178
  return __builtin_vis_fpmerge (__A, __B);
179
}
180
 
181
extern __inline __i64
182
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
183
__vis_pdist (__v8qi __A, __v8qi __B, __i64 __C)
184
{
185
  return __builtin_vis_pdist (__A, __B, __C);
186
}
187
 
188
extern __inline long
189
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
190
__vis_edge8 (void *__A, void *__B)
191
{
192
  return __builtin_vis_edge8 (__A, __B);
193
}
194
 
195
extern __inline long
196
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
197
__vis_edge8l (void *__A, void *__B)
198
{
199
  return __builtin_vis_edge8l (__A, __B);
200
}
201
 
202
extern __inline long
203
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
204
__vis_edge16 (void *__A, void *__B)
205
{
206
  return __builtin_vis_edge16 (__A, __B);
207
}
208
 
209
extern __inline long
210
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
211
__vis_edge16l (void *__A, void *__B)
212
{
213
  return __builtin_vis_edge16l (__A, __B);
214
}
215
 
216
extern __inline long
217
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
218
__vis_edge32 (void *__A, void *__B)
219
{
220
  return __builtin_vis_edge32 (__A, __B);
221
}
222
 
223
extern __inline long
224
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
225
__vis_edge32l (void *__A, void *__B)
226
{
227
  return __builtin_vis_edge32l (__A, __B);
228
}
229
 
230
extern __inline long
231
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
232
__vis_fcmple16 (__v4hi __A, __v4hi __B)
233
{
234
  return __builtin_vis_fcmple16 (__A, __B);
235
}
236
 
237
extern __inline long
238
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
239
__vis_fcmple32 (__v2si __A, __v2si __B)
240
{
241
  return __builtin_vis_fcmple32 (__A, __B);
242
}
243
 
244
extern __inline long
245
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
246
__vis_fcmpne16 (__v4hi __A, __v4hi __B)
247
{
248
  return __builtin_vis_fcmpne16 (__A, __B);
249
}
250
 
251
extern __inline long
252
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
253
__vis_fcmpne32 (__v2si __A, __v2si __B)
254
{
255
  return __builtin_vis_fcmpne32 (__A, __B);
256
}
257
 
258
extern __inline long
259
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
260
__vis_fcmpgt16 (__v4hi __A, __v4hi __B)
261
{
262
  return __builtin_vis_fcmpgt16 (__A, __B);
263
}
264
 
265
extern __inline long
266
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
267
__vis_fcmpgt32 (__v2si __A, __v2si __B)
268
{
269
  return __builtin_vis_fcmpgt32 (__A, __B);
270
}
271
 
272
extern __inline long
273
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
274
__vis_fcmpeq16 (__v4hi __A, __v4hi __B)
275
{
276
  return __builtin_vis_fcmpeq16 (__A, __B);
277
}
278
 
279
extern __inline long
280
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
281
__vis_fcmpeq32 (__v2si __A, __v2si __B)
282
{
283
  return __builtin_vis_fcmpeq32 (__A, __B);
284
}
285
 
286
extern __inline __v4hi
287
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
288
__vis_fpadd16 (__v4hi __A, __v4hi __B)
289
{
290
  return __builtin_vis_fpadd16 (__A, __B);
291
}
292
 
293
extern __inline __v2hi
294
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
295
__vis_fpadd16s (__v2hi __A, __v2hi __B)
296
{
297
  return __builtin_vis_fpadd16s (__A, __B);
298
}
299
 
300
extern __inline __v2si
301
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
302
__vis_fpadd32 (__v2si __A, __v2si __B)
303
{
304
  return __builtin_vis_fpadd32 (__A, __B);
305
}
306
 
307
extern __inline __v1si
308
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
309
__vis_fpadd32s (__v1si __A, __v1si __B)
310
{
311
  return __builtin_vis_fpadd32s (__A, __B);
312
}
313
 
314
extern __inline __v4hi
315
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
316
__vis_fpsub16 (__v4hi __A, __v4hi __B)
317
{
318
  return __builtin_vis_fpsub16 (__A, __B);
319
}
320
 
321
extern __inline __v2hi
322
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
323
__vis_fpsub16s (__v2hi __A, __v2hi __B)
324
{
325
  return __builtin_vis_fpsub16s (__A, __B);
326
}
327
 
328
extern __inline __v2si
329
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
330
__vis_fpsub32 (__v2si __A, __v2si __B)
331
{
332
  return __builtin_vis_fpsub32 (__A, __B);
333
}
334
 
335
extern __inline __v1si
336
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
337
__vis_fpsub32s (__v1si __A, __v1si __B)
338
{
339
  return __builtin_vis_fpsub32s (__A, __B);
340
}
341
 
342
extern __inline long
343
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
344
__vis_array8 (long __A, long __B)
345
{
346
  return __builtin_vis_array8 (__A, __B);
347
}
348
 
349
extern __inline long
350
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
351
__vis_array16 (long __A, long __B)
352
{
353
  return __builtin_vis_array16 (__A, __B);
354
}
355
 
356
extern __inline long
357
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
358
__vis_array32 (long __A, long __B)
359
{
360
  return __builtin_vis_array32 (__A, __B);
361
}
362
 
363
#if __VIS__ >= 0x200
364
 
365
extern __inline long
366
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
367
__vis_bmask (long __A, long __B)
368
{
369
  return __builtin_vis_bmask (__A, __B);
370
}
371
 
372
extern __inline __i64
373
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
374
__vis_bshuffledi (__i64 __A, __i64 __B)
375
{
376
  return __builtin_vis_bshuffledi (__A, __B);
377
}
378
 
379
extern __inline __v2si
380
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
381
__vis_bshufflev2si (__v2si __A, __v2si __B)
382
{
383
  return __builtin_vis_bshufflev2si (__A, __B);
384
}
385
 
386
extern __inline __v4hi
387
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
388
__vis_bshufflev4hi (__v4hi __A, __v4hi __B)
389
{
390
  return __builtin_vis_bshufflev4hi (__A, __B);
391
}
392
 
393
extern __inline __v8qi
394
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
395
__vis_bshufflev8qi (__v8qi __A, __v8qi __B)
396
{
397
  return __builtin_vis_bshufflev8qi (__A, __B);
398
}
399
 
400
extern __inline long
401
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
402
__vis_edge8n (void *__A, void *__B)
403
{
404
  return __builtin_vis_edge8n (__A, __B);
405
}
406
 
407
extern __inline long
408
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
409
__vis_edge8ln (void *__A, void *__B)
410
{
411
  return __builtin_vis_edge8ln (__A, __B);
412
}
413
 
414
extern __inline long
415
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
416
__vis_edge16n (void *__A, void *__B)
417
{
418
  return __builtin_vis_edge16n (__A, __B);
419
}
420
 
421
extern __inline long
422
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
423
__vis_edge16ln (void *__A, void *__B)
424
{
425
  return __builtin_vis_edge16ln (__A, __B);
426
}
427
 
428
extern __inline long
429
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
430
__vis_edge32n (void *__A, void *__B)
431
{
432
  return __builtin_vis_edge32n (__A, __B);
433
}
434
 
435
extern __inline long
436
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
437
__vis_edge32ln (void *__A, void *__B)
438
{
439
  return __builtin_vis_edge32ln (__A, __B);
440
}
441
 
442
#endif /* __VIS__ >= 0x200 */
443
 
444
#if __VIS__ >= 0x300
445
 
446
extern __inline void
447
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
448
__vis_cmask8 (long __A)
449
{
450
  return __builtin_vis_cmask8 (__A);
451
}
452
 
453
extern __inline void
454
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
455
__vis_cmask16 (long __A)
456
{
457
  return __builtin_vis_cmask16 (__A);
458
}
459
 
460
extern __inline void
461
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
462
__vis_cmask32 (long __A)
463
{
464
  return __builtin_vis_cmask32 (__A);
465
}
466
 
467
extern __inline __v4hi
468
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
469
__vis_fchksm16 (__v4hi __A, __v4hi __B)
470
{
471
  return __builtin_vis_fchksm16 (__A, __B);
472
}
473
 
474
extern __inline __v4hi
475
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
476
__vis_fsll16 (__v4hi __A, __v4hi __B)
477
{
478
  return __builtin_vis_fsll16 (__A, __B);
479
}
480
 
481
extern __inline __v4hi
482
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
483
__vis_fslas16 (__v4hi __A, __v4hi __B)
484
{
485
  return __builtin_vis_fslas16 (__A, __B);
486
}
487
 
488
extern __inline __v4hi
489
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
490
__vis_fsrl16 (__v4hi __A, __v4hi __B)
491
{
492
  return __builtin_vis_fsrl16 (__A, __B);
493
}
494
 
495
extern __inline __v4hi
496
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
497
__vis_fsra16 (__v4hi __A, __v4hi __B)
498
{
499
  return __builtin_vis_fsra16 (__A, __B);
500
}
501
 
502
extern __inline __v2si
503
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
504
__vis_fsll32 (__v2si __A, __v2si __B)
505
{
506
  return __builtin_vis_fsll32 (__A, __B);
507
}
508
 
509
extern __inline __v2si
510
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
511
__vis_fslas32 (__v2si __A, __v2si __B)
512
{
513
  return __builtin_vis_fslas32 (__A, __B);
514
}
515
 
516
extern __inline __v2si
517
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
518
__vis_fsrl32 (__v2si __A, __v2si __B)
519
{
520
  return __builtin_vis_fsrl32 (__A, __B);
521
}
522
 
523
extern __inline __v2si
524
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
525
__vis_fsra32 (__v2si __A, __v2si __B)
526
{
527
  return __builtin_vis_fsra32 (__A, __B);
528
}
529
 
530
extern __inline long
531
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
532
__vis_pdistn (__v8qi __A, __v8qi __B)
533
{
534
  return __builtin_vis_pdistn (__A, __B);
535
}
536
 
537
extern __inline __v4hi
538
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
539
__vis_fmean16 (__v4hi __A, __v4hi __B)
540
{
541
  return __builtin_vis_fmean16 (__A, __B);
542
}
543
 
544
extern __inline __i64
545
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
546
__vis_fpadd64 (__i64 __A, __i64 __B)
547
{
548
  return __builtin_vis_fpadd64 (__A, __B);
549
}
550
 
551
extern __inline __i64
552
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
553
__vis_fpsub64 (__i64 __A, __i64 __B)
554
{
555
  return __builtin_vis_fpsub64 (__A, __B);
556
}
557
 
558
extern __inline __v4hi
559
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
560
__vis_fpadds16 (__v4hi __A, __v4hi __B)
561
{
562
  return __builtin_vis_fpadds16 (__A, __B);
563
}
564
 
565
extern __inline __v2hi
566
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
567
__vis_fpadds16s (__v2hi __A, __v2hi __B)
568
{
569
  return __builtin_vis_fpadds16s (__A, __B);
570
}
571
 
572
extern __inline __v4hi
573
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
574
__vis_fpsubs16 (__v4hi __A, __v4hi __B)
575
{
576
  return __builtin_vis_fpsubs16 (__A, __B);
577
}
578
 
579
extern __inline __v2hi
580
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
581
__vis_fpsubs16s (__v2hi __A, __v2hi __B)
582
{
583
  return __builtin_vis_fpsubs16s (__A, __B);
584
}
585
 
586
extern __inline __v2si
587
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
588
__vis_fpadds32 (__v2si __A, __v2si __B)
589
{
590
  return __builtin_vis_fpadds32 (__A, __B);
591
}
592
 
593
extern __inline __v1si
594
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
595
__vis_fpadds32s (__v1si __A, __v1si __B)
596
{
597
  return __builtin_vis_fpadds32s (__A, __B);
598
}
599
 
600
extern __inline __v2si
601
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
602
__vis_fpsubs32 (__v2si __A, __v2si __B)
603
{
604
  return __builtin_vis_fpsubs32 (__A, __B);
605
}
606
 
607
extern __inline __v1si
608
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
609
__vis_fpsubs32s (__v1si __A, __v1si __B)
610
{
611
  return __builtin_vis_fpsubs32s (__A, __B);
612
}
613
 
614
extern __inline long
615
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
616
__vis_fucmple8 (__v8qi __A, __v8qi __B)
617
{
618
  return __builtin_vis_fucmple8 (__A, __B);
619
}
620
 
621
extern __inline long
622
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
623
__vis_fucmpne8 (__v8qi __A, __v8qi __B)
624
{
625
  return __builtin_vis_fucmpne8 (__A, __B);
626
}
627
 
628
extern __inline long
629
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
630
__vis_fucmpgt8 (__v8qi __A, __v8qi __B)
631
{
632
  return __builtin_vis_fucmpgt8 (__A, __B);
633
}
634
 
635
extern __inline long
636
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
637
__vis_fucmpeq8 (__v8qi __A, __v8qi __B)
638
{
639
  return __builtin_vis_fucmpeq8 (__A, __B);
640
}
641
 
642
extern __inline float
643
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
644
__vis_fhadds (float __A, float __B)
645
{
646
  return __builtin_vis_fhadds (__A, __B);
647
}
648
 
649
extern __inline double
650
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
651
__vis_fhaddd (double __A, double __B)
652
{
653
  return __builtin_vis_fhaddd (__A, __B);
654
}
655
 
656
extern __inline float
657
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
658
__vis_fhsubs (float __A, float __B)
659
{
660
  return __builtin_vis_fhsubs (__A, __B);
661
}
662
 
663
extern __inline double
664
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
665
__vis_fhsubd (double __A, double __B)
666
{
667
  return __builtin_vis_fhsubd (__A, __B);
668
}
669
 
670
extern __inline float
671
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
672
__vis_fnhadds (float __A, float __B)
673
{
674
  return __builtin_vis_fnhadds (__A, __B);
675
}
676
 
677
extern __inline double
678
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
679
__vis_fnhaddd (double __A, double __B)
680
{
681
  return __builtin_vis_fnhaddd (__A, __B);
682
}
683
 
684
extern __inline __i64
685
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
686
__vis_umulxhi (__i64 __A, __i64 __B)
687
{
688
  return __builtin_vis_umulxhi (__A, __B);
689
}
690
 
691
extern __inline __i64
692
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
693
__vis_xmulx (__i64 __A, __i64 __B)
694
{
695
  return __builtin_vis_xmulx (__A, __B);
696
}
697
 
698
extern __inline __i64
699
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
700
__vis_xmulxhi (__i64 __A, __i64 __B)
701
{
702
  return __builtin_vis_xmulxhi (__A, __B);
703
}
704
 
705
#endif /* __VIS__ >= 0x300 */
706
 
707
#endif /* __VIS__ */
708
 
709
#endif  /* _VISINTRIN_H_INCLUDED */

powered by: WebSVN 2.1.0

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