1 /* PowerPC 750CL user include file. 2 Copyright (C) 2007-2013 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 */ 76