]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/config/rs6000/paired.h
Update copyright years.
[thirdparty/gcc.git] / gcc / config / rs6000 / paired.h
1 /* PowerPC 750CL user include file.
2 Copyright (C) 2007-2018 Free Software Foundation, Inc.
3 Contributed by Revital Eres (eres@il.ibm.com).
4
5 This file is part of GCC.
6
7 GCC is free software; you can redistribute it and/or modify it
8 under the terms of the GNU General Public License as published
9 by the Free Software Foundation; either version 3, or (at your
10 option) any later version.
11
12 GCC is distributed in the hope that it will be useful, but WITHOUT
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
15 License for more details.
16
17 Under Section 7 of GPL version 3, you are granted additional
18 permissions described in the GCC Runtime Library Exception, version
19 3.1, as published by the Free Software Foundation.
20
21 You should have received a copy of the GNU General Public License and
22 a copy of the GCC Runtime Library Exception along with this program;
23 see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
24 <http://www.gnu.org/licenses/>. */
25
26 #ifndef _PAIRED_H
27 #define _PAIRED_H
28
29 #define vector __attribute__((vector_size(8)))
30
31 #define paired_msub __builtin_paired_msub
32 #define paired_madd __builtin_paired_madd
33 #define paired_nmsub __builtin_paired_nmsub
34 #define paired_nmadd __builtin_paired_nmadd
35 #define paired_sum0 __builtin_paired_sum0
36 #define paired_sum1 __builtin_paired_sum1
37 #define paired_div __builtin_paired_divv2sf3
38 #define paired_add __builtin_paired_addv2sf3
39 #define paired_sub __builtin_paired_subv2sf3
40 #define paired_mul __builtin_paired_mulv2sf3
41 #define paired_muls0 __builtin_paired_muls0
42 #define paired_muls1 __builtin_paired_muls1
43 #define paired_madds0 __builtin_paired_madds0
44 #define paired_madds1 __builtin_paired_madds1
45 #define paired_merge00 __builtin_paired_merge00
46 #define paired_merge01 __builtin_paired_merge01
47 #define paired_merge10 __builtin_paired_merge10
48 #define paired_merge11 __builtin_paired_merge11
49 #define paired_abs __builtin_paired_absv2sf2
50 #define paired_nabs __builtin_paired_nabsv2sf2
51 #define paired_neg __builtin_paired_negv2sf2
52 #define paired_sqrt __builtin_paired_sqrtv2sf2
53 #define paired_res __builtin_paired_resv2sf2
54 #define paired_stx __builtin_paired_stx
55 #define paired_lx __builtin_paired_lx
56 #define paired_cmpu0 __builtin_paired_cmpu0
57 #define paired_cmpu1 __builtin_paired_cmpu1
58 #define paired_sel __builtin_paired_selv2sf4
59
60 /* Condition register codes for Paired predicates. */
61 #define LT 0
62 #define GT 1
63 #define EQ 2
64 #define UN 3
65
66 #define paired_cmpu0_un(a,b) __builtin_paired_cmpu0 (UN, (a), (b))
67 #define paired_cmpu0_eq(a,b) __builtin_paired_cmpu0 (EQ, (a), (b))
68 #define paired_cmpu0_lt(a,b) __builtin_paired_cmpu0 (LT, (a), (b))
69 #define paired_cmpu0_gt(a,b) __builtin_paired_cmpu0 (GT, (a), (b))
70 #define paired_cmpu1_un(a,b) __builtin_paired_cmpu1 (UN, (a), (b))
71 #define paired_cmpu1_eq(a,b) __builtin_paired_cmpu1 (EQ, (a), (b))
72 #define paired_cmpu1_lt(a,b) __builtin_paired_cmpu1 (LT, (a), (b))
73 #define paired_cmpu1_gt(a,b) __builtin_paired_cmpu1 (GT, (a), (b))
74
75 #endif /* _PAIRED_H */