1 /* { dg-do compile { target { powerpc64*-*-* } } } */
2 /* { dg-skip-if "" { powerpc*-*-darwin* } } */
3 /* { dg-require-effective-target powerpc_p8vector_ok } */
4 /* { dg-skip-if "do not override -mcpu" { powerpc64*-*-* } { "-mcpu=*" } { "-mcpu=power8" } } */
5 /* { dg-options "-O2 -mcpu=power8" } */
6 /* { dg-final { scan-assembler-times "vcmpgtsb" 4 } } */
7 /* { dg-final { scan-assembler-times "vcmpgtub" 4 } } */
8 /* { dg-final { scan-assembler-times "vcmpgtsh" 4 } } */
9 /* { dg-final { scan-assembler-times "vcmpgtuh" 4 } } */
10 /* { dg-final { scan-assembler-times "vcmpgtsw" 4 } } */
11 /* { dg-final { scan-assembler-times "vcmpgtuw" 4 } } */
12 /* { dg-final { scan-assembler-times "vcmpgtsd" 4 } } */
13 /* { dg-final { scan-assembler-times "vcmpgtud" 4 } } */
14 /* { dg-final { scan-assembler-times "xxlnor" 16 } } */
19 cmple_sc (vector
signed char x
, vector
signed char y
)
21 return vec_cmple (x
, y
);
25 cmple_uc (vector
unsigned char x
, vector
unsigned char y
)
27 return vec_cmple (x
, y
);
31 cmple_ss (vector
signed short x
, vector
signed short y
)
33 return vec_cmple (x
, y
);
37 cmple_us (vector
unsigned short x
, vector
unsigned short y
)
39 return vec_cmple (x
, y
);
43 cmple_si (vector
signed int x
, vector
signed int y
)
45 return vec_cmple (x
, y
);
49 cmple_ui (vector
unsigned int x
, vector
unsigned int y
)
51 return vec_cmple (x
, y
);
55 cmple_sl (vector
signed long long x
, vector
signed long long y
)
57 return vec_cmple (x
, y
);
61 cmple_ul (vector
unsigned long long x
, vector
unsigned long long y
)
63 return vec_cmple (x
, y
);
67 cmple_f (vector
float x
, vector
float y
)
69 return vec_cmple (x
, y
);
72 vector
bool long long int
73 cmple_d (vector
double x
, vector
double y
)
75 return vec_cmple (x
, y
);
79 cmpge_sc (vector
signed char x
, vector
signed char y
)
81 return vec_cmpge (x
, y
);
85 cmpge_uc (vector
unsigned char x
, vector
unsigned char y
)
87 return vec_cmpge (x
, y
);
91 cmpge_ss (vector
signed short x
, vector
signed short y
)
93 return vec_cmpge (x
, y
);
97 cmpge_us (vector
unsigned short x
, vector
unsigned short y
)
99 return vec_cmpge (x
, y
);
103 cmpge_si (vector
signed int x
, vector
signed int y
)
105 return vec_cmpge (x
, y
);
109 cmpge_ui (vector
unsigned int x
, vector
unsigned int y
)
111 return vec_cmpge (x
, y
);
114 vector
bool long long
115 cmpge_sl (vector
signed long long x
, vector
signed long long y
)
117 return vec_cmpge (x
, y
);
120 vector
bool long long
121 cmpge_ul (vector
unsigned long long x
, vector
unsigned long long y
)
123 return vec_cmpge (x
, y
);
127 cmpge_f (vector
float x
, vector
float y
)
129 return vec_cmpge (x
, y
);
132 vector
bool long long int
133 cmpge_d (vector
double x
, vector
double y
)
135 return vec_cmpge (x
, y
);
139 cmpgt_ui (vector
unsigned int x
, vector
unsigned int y
)
141 return vec_cmpgt (x
, y
);
145 cmpgt_f (vector
float x
, vector
float y
)
147 return vec_cmpgt (x
, y
);
150 vector
bool long long int
151 cmpgt_d (vector
double x
, vector
double y
)
153 return vec_cmpgt (x
, y
);
156 vector
bool long long
157 cmpgt_sl (vector
signed long long x
, vector
signed long long y
)
159 return vec_cmpgt (x
, y
);
162 vector
bool long long
163 cmpgt_ul (vector
unsigned long long x
, vector
unsigned long long y
)
165 return vec_cmpgt (x
, y
);
169 cmpgt_sc (vector
signed char x
, vector
signed char y
)
171 return vec_cmpgt (x
, y
);
175 cmpgt_uc (vector
unsigned char x
, vector
unsigned char y
)
177 return vec_cmpgt (x
, y
);
181 cmpgt_ss (vector
signed short x
, vector
signed short y
)
183 return vec_cmpgt (x
, y
);
187 cmpgt_us (vector
unsigned short x
, vector
unsigned short y
)
189 return vec_cmpgt (x
, y
);
193 cmpgt_si (vector
signed int x
, vector
signed int y
)
195 return vec_cmpgt (x
, y
);
199 cmplt_ui (vector
unsigned int x
, vector
unsigned int y
)
201 return vec_cmplt (x
, y
);
205 cmplt_f (vector
float x
, vector
float y
)
207 return vec_cmplt (x
, y
);
210 vector
bool long long int
211 cmplt_d (vector
double x
, vector
double y
)
213 return vec_cmplt (x
, y
);
216 vector
bool long long
217 cmplt_sl (vector
signed long long x
, vector
signed long long y
)
219 return vec_cmplt (x
, y
);
222 vector
bool long long
223 cmplt_ul (vector
unsigned long long x
, vector
unsigned long long y
)
225 return vec_cmplt (x
, y
);
229 cmplt_sc (vector
signed char x
, vector
signed char y
)
231 return vec_cmplt (x
, y
);
235 cmplt_uc (vector
unsigned char x
, vector
unsigned char y
)
237 return vec_cmplt (x
, y
);
241 cmplt_ss (vector
signed short x
, vector
signed short y
)
243 return vec_cmplt (x
, y
);
247 cmplt_us (vector
unsigned short x
, vector
unsigned short y
)
249 return vec_cmplt (x
, y
);
253 cmplt_si (vector
signed int x
, vector
signed int y
)
255 return vec_cmplt (x
, y
);