xref: /netbsd-src/external/gpl3/gcc.old/dist/gcc/config/rs6000/paired.h (revision a2dc1f3faca890bc62c61c70cbcb4657d1fe6044)
11debfc3dSmrg /* PowerPC 750CL user include file.
2*a2dc1f3fSmrg    Copyright (C) 2007-2018 Free Software Foundation, Inc.
31debfc3dSmrg    Contributed by Revital Eres (eres@il.ibm.com).
41debfc3dSmrg 
51debfc3dSmrg    This file is part of GCC.
61debfc3dSmrg 
71debfc3dSmrg    GCC is free software; you can redistribute it and/or modify it
81debfc3dSmrg    under the terms of the GNU General Public License as published
91debfc3dSmrg    by the Free Software Foundation; either version 3, or (at your
101debfc3dSmrg    option) any later version.
111debfc3dSmrg 
121debfc3dSmrg    GCC is distributed in the hope that it will be useful, but WITHOUT
131debfc3dSmrg    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
141debfc3dSmrg    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
151debfc3dSmrg    License for more details.
161debfc3dSmrg 
171debfc3dSmrg    Under Section 7 of GPL version 3, you are granted additional
181debfc3dSmrg    permissions described in the GCC Runtime Library Exception, version
191debfc3dSmrg    3.1, as published by the Free Software Foundation.
201debfc3dSmrg 
211debfc3dSmrg    You should have received a copy of the GNU General Public License and
221debfc3dSmrg    a copy of the GCC Runtime Library Exception along with this program;
231debfc3dSmrg    see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
241debfc3dSmrg    <http://www.gnu.org/licenses/>.  */
251debfc3dSmrg 
261debfc3dSmrg #ifndef _PAIRED_H
271debfc3dSmrg #define _PAIRED_H
281debfc3dSmrg 
291debfc3dSmrg #define vector __attribute__((vector_size(8)))
301debfc3dSmrg 
311debfc3dSmrg #define paired_msub __builtin_paired_msub
321debfc3dSmrg #define paired_madd __builtin_paired_madd
331debfc3dSmrg #define paired_nmsub __builtin_paired_nmsub
341debfc3dSmrg #define paired_nmadd __builtin_paired_nmadd
351debfc3dSmrg #define paired_sum0 __builtin_paired_sum0
361debfc3dSmrg #define paired_sum1 __builtin_paired_sum1
371debfc3dSmrg #define paired_div __builtin_paired_divv2sf3
381debfc3dSmrg #define paired_add __builtin_paired_addv2sf3
391debfc3dSmrg #define paired_sub __builtin_paired_subv2sf3
401debfc3dSmrg #define paired_mul __builtin_paired_mulv2sf3
411debfc3dSmrg #define paired_muls0 __builtin_paired_muls0
421debfc3dSmrg #define paired_muls1 __builtin_paired_muls1
431debfc3dSmrg #define paired_madds0 __builtin_paired_madds0
441debfc3dSmrg #define paired_madds1 __builtin_paired_madds1
451debfc3dSmrg #define paired_merge00 __builtin_paired_merge00
461debfc3dSmrg #define paired_merge01 __builtin_paired_merge01
471debfc3dSmrg #define paired_merge10 __builtin_paired_merge10
481debfc3dSmrg #define paired_merge11 __builtin_paired_merge11
491debfc3dSmrg #define paired_abs __builtin_paired_absv2sf2
501debfc3dSmrg #define paired_nabs __builtin_paired_nabsv2sf2
511debfc3dSmrg #define paired_neg __builtin_paired_negv2sf2
521debfc3dSmrg #define paired_sqrt __builtin_paired_sqrtv2sf2
531debfc3dSmrg #define paired_res __builtin_paired_resv2sf2
541debfc3dSmrg #define paired_stx __builtin_paired_stx
551debfc3dSmrg #define paired_lx __builtin_paired_lx
561debfc3dSmrg #define paired_cmpu0 __builtin_paired_cmpu0
571debfc3dSmrg #define paired_cmpu1 __builtin_paired_cmpu1
581debfc3dSmrg #define paired_sel __builtin_paired_selv2sf4
591debfc3dSmrg 
601debfc3dSmrg /* Condition register codes for Paired predicates. */
611debfc3dSmrg #define LT            0
621debfc3dSmrg #define GT            1
631debfc3dSmrg #define EQ            2
641debfc3dSmrg #define UN            3
651debfc3dSmrg 
661debfc3dSmrg #define paired_cmpu0_un(a,b) __builtin_paired_cmpu0 (UN, (a), (b))
671debfc3dSmrg #define paired_cmpu0_eq(a,b) __builtin_paired_cmpu0 (EQ, (a), (b))
681debfc3dSmrg #define paired_cmpu0_lt(a,b) __builtin_paired_cmpu0 (LT, (a), (b))
691debfc3dSmrg #define paired_cmpu0_gt(a,b) __builtin_paired_cmpu0 (GT, (a), (b))
701debfc3dSmrg #define paired_cmpu1_un(a,b) __builtin_paired_cmpu1 (UN, (a), (b))
711debfc3dSmrg #define paired_cmpu1_eq(a,b) __builtin_paired_cmpu1 (EQ, (a), (b))
721debfc3dSmrg #define paired_cmpu1_lt(a,b) __builtin_paired_cmpu1 (LT, (a), (b))
731debfc3dSmrg #define paired_cmpu1_gt(a,b) __builtin_paired_cmpu1 (GT, (a), (b))
741debfc3dSmrg 
751debfc3dSmrg #endif /* _PAIRED_H */
76