ed81b8b8629882f0b032d4c6f0002b18726df3e7
[gcc.git] / gcc / config / s390 / s390-builtins.def
1 /* Builtin definitions for IBM S/390 and zSeries
2 Copyright (C) 2015-2019 Free Software Foundation, Inc.
3
4 Contributed by Andreas Krebbel (Andreas.Krebbel@de.ibm.com).
5
6 This file is part of GCC.
7
8 GCC is free software; you can redistribute it and/or modify it
9 under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 3, or (at your option)
11 any later version.
12
13 GCC is distributed in the hope that it will be useful, but WITHOUT
14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
15 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
16 License for more details.
17
18 You should have received a copy of the GNU General Public License
19 along with GCC; see the file COPYING3. If not see
20 <http://www.gnu.org/licenses/>. */
21
22 #undef O_U1
23 #undef O_U2
24 #undef O_U3
25 #undef O_U4
26 #undef O_U5
27 #undef O_U8
28 #undef O_U12
29 #undef O_U16
30 #undef O_U32
31
32 #undef O_S2
33 #undef O_S3
34 #undef O_S4
35 #undef O_S5
36 #undef O_S8
37 #undef O_S12
38 #undef O_S16
39 #undef O_S32
40 #undef O_ELEM
41 #undef O_LIT
42
43 #undef O1_U1
44 #undef O2_U1
45 #undef O3_U1
46 #undef O4_U1
47
48 #undef O1_U2
49 #undef O2_U2
50 #undef O3_U2
51 #undef O4_U2
52
53 #undef O1_U3
54 #undef O2_U3
55 #undef O3_U3
56 #undef O4_U3
57
58 #undef O1_U4
59 #undef O2_U4
60 #undef O3_U4
61 #undef O4_U4
62
63 #undef O1_U5
64 #undef O2_U5
65 #undef O3_U5
66 #undef O4_U5
67
68 #undef O1_U8
69 #undef O2_U8
70 #undef O3_U8
71 #undef O4_U8
72
73 #undef O1_U12
74 #undef O2_U12
75 #undef O3_U12
76 #undef O4_U12
77
78 #undef O1_U16
79 #undef O2_U16
80 #undef O3_U16
81 #undef O4_U16
82
83 #undef O1_U32
84 #undef O2_U32
85 #undef O3_U32
86 #undef O4_U32
87
88 #undef O1_S2
89 #undef O2_S2
90 #undef O3_S2
91 #undef O4_S2
92
93 #undef O1_S3
94 #undef O2_S3
95 #undef O3_S3
96 #undef O4_S3
97
98 #undef O1_S4
99 #undef O2_S4
100 #undef O3_S4
101 #undef O4_S4
102
103 #undef O1_S5
104 #undef O2_S5
105 #undef O3_S5
106 #undef O4_S5
107
108 #undef O1_S8
109 #undef O2_S8
110 #undef O3_S8
111 #undef O4_S8
112
113 #undef O1_S12
114 #undef O2_S12
115 #undef O3_S12
116 #undef O4_S12
117
118 #undef O1_S16
119 #undef O2_S16
120 #undef O3_S16
121 #undef O4_S16
122
123 #undef O1_S32
124 #undef O2_S32
125 #undef O3_S32
126 #undef O4_S32
127
128 #undef O1_ELEM
129 #undef O2_ELEM
130 #undef O3_ELEM
131 #undef O4_ELEM
132
133 #undef O1_LIT
134 #undef O2_LIT
135 #undef O3_LIT
136 #undef O4_LIT
137
138 #undef O_SHIFT
139 #undef O_IMM_P
140 #undef O_UIMM_P
141 #undef O_SIMM_P
142
143 #define O_U1 1 /* unsigned 1 bit literal */
144 #define O_U2 2 /* unsigned 2 bit literal */
145 #define O_U3 3 /* unsigned 3 bit literal */
146 #define O_U4 4 /* unsigned 4 bit literal */
147 #define O_U5 5 /* unsigned 5 bit literal */
148 #define O_U8 6 /* unsigned 8 bit literal */
149 #define O_U12 7 /* unsigned 16 bit literal */
150 #define O_U16 8 /* unsigned 16 bit literal */
151 #define O_U32 9 /* unsigned 32 bit literal */
152
153 #define O_S2 10 /* signed 2 bit literal */
154 #define O_S3 11 /* signed 3 bit literal */
155 #define O_S4 12 /* signed 4 bit literal */
156 #define O_S5 13 /* signed 5 bit literal */
157 #define O_S8 14 /* signed 8 bit literal */
158 #define O_S12 15 /* signed 12 bit literal */
159 #define O_S16 16 /* signed 16 bit literal */
160 #define O_S32 17 /* signed 32 bit literal */
161
162 #define O_ELEM 18 /* Element selector requiring modulo arithmetic. */
163 #define O_LIT 19 /* Operand must be a literal fitting the target type. */
164
165 #define O_SHIFT 5
166
167 #define O_UIMM_P(X) ((X) >= O_U1 && (X) <= O_U32)
168 #define O_SIMM_P(X) ((X) >= O_S2 && (X) <= O_S32)
169 #define O_IMM_P(X) ((X) == O_LIT || ((X) >= O_U1 && (X) <= O_S32))
170
171 #define O1_U1 O_U1
172 #define O2_U1 (O_U1 << O_SHIFT)
173 #define O3_U1 (O_U1 << (2 * O_SHIFT))
174 #define O4_U1 (O_U1 << (3 * O_SHIFT))
175
176 #define O1_U2 O_U2
177 #define O2_U2 (O_U2 << O_SHIFT)
178 #define O3_U2 (O_U2 << (2 * O_SHIFT))
179 #define O4_U2 (O_U2 << (3 * O_SHIFT))
180
181 #define O1_U3 O_U3
182 #define O2_U3 (O_U3 << O_SHIFT)
183 #define O3_U3 (O_U3 << (2 * O_SHIFT))
184 #define O4_U3 (O_U3 << (3 * O_SHIFT))
185
186 #define O1_U4 O_U4
187 #define O2_U4 (O_U4 << O_SHIFT)
188 #define O3_U4 (O_U4 << (2 * O_SHIFT))
189 #define O4_U4 (O_U4 << (3 * O_SHIFT))
190
191 #define O1_U5 O_U5
192 #define O2_U5 (O_U5 << O_SHIFT)
193 #define O3_U5 (O_U5 << (2 * O_SHIFT))
194 #define O4_U5 (O_U5 << (3 * O_SHIFT))
195
196 #define O1_U8 O_U8
197 #define O2_U8 (O_U8 << O_SHIFT)
198 #define O3_U8 (O_U8 << (2 * O_SHIFT))
199 #define O4_U8 (O_U8 << (3 * O_SHIFT))
200
201 #define O1_U12 O_U12
202 #define O2_U12 (O_U12 << O_SHIFT)
203 #define O3_U12 (O_U12 << (2 * O_SHIFT))
204 #define O4_U12 (O_U12 << (3 * O_SHIFT))
205
206 #define O1_U16 O_U16
207 #define O2_U16 (O_U16 << O_SHIFT)
208 #define O3_U16 (O_U16 << (2 * O_SHIFT))
209 #define O4_U16 (O_U16 << (3 * O_SHIFT))
210
211 #define O1_U32 O_U32
212 #define O2_U32 (O_U32 << O_SHIFT)
213 #define O3_U32 (O_U32 << (2 * O_SHIFT))
214 #define O4_U32 (O_U32 << (3 * O_SHIFT))
215
216
217 #define O1_S2 O_S2
218 #define O2_S2 (O_S2 << O_SHIFT)
219 #define O3_S2 (O_S2 << (2 * O_SHIFT))
220 #define O4_S2 (O_S2 << (3 * O_SHIFT))
221
222 #define O1_S3 O_S3
223 #define O2_S3 (O_S3 << O_SHIFT)
224 #define O3_S3 (O_S3 << (2 * O_SHIFT))
225 #define O4_S3 (O_S3 << (3 * O_SHIFT))
226
227 #define O1_S4 O_S4
228 #define O2_S4 (O_S4 << O_SHIFT)
229 #define O3_S4 (O_S4 << (2 * O_SHIFT))
230 #define O4_S4 (O_S4 << (3 * O_SHIFT))
231
232 #define O1_S5 O_S5
233 #define O2_S5 (O_S5 << O_SHIFT)
234 #define O3_S5 (O_S5 << (2 * O_SHIFT))
235 #define O4_S5 (O_S5 << (3 * O_SHIFT))
236
237 #define O1_S8 O_S8
238 #define O2_S8 (O_S8 << O_SHIFT)
239 #define O3_S8 (O_S8 << (2 * O_SHIFT))
240 #define O4_S8 (O_S8 << (3 * O_SHIFT))
241
242 #define O1_S12 O_S12
243 #define O2_S12 (O_S12 << O_SHIFT)
244 #define O3_S12 (O_S12 << (2 * O_SHIFT))
245 #define O4_S12 (O_S12 << (3 * O_SHIFT))
246
247 #define O1_S16 O_S16
248 #define O2_S16 (O_S16 << O_SHIFT)
249 #define O3_S16 (O_S16 << (2 * O_SHIFT))
250 #define O4_S16 (O_S16 << (3 * O_SHIFT))
251
252 #define O1_S32 O_S32
253 #define O2_S32 (O_S32 << O_SHIFT)
254 #define O3_S32 (O_S32 << (2 * O_SHIFT))
255 #define O4_S32 (O_S32 << (3 * O_SHIFT))
256
257 #define O1_ELEM O_ELEM
258 #define O2_ELEM (O_ELEM << O_SHIFT)
259 #define O3_ELEM (O_ELEM << (2 * O_SHIFT))
260 #define O4_ELEM (O_ELEM << (3 * O_SHIFT))
261
262 #define O1_LIT O_LIT
263 #define O2_LIT (O_LIT << O_SHIFT)
264 #define O3_LIT (O_LIT << (2 * O_SHIFT))
265 #define O4_LIT (O_LIT << (3 * O_SHIFT))
266
267
268 /* Builtin flags. Flags applying to the whole builtin definition. */
269
270 #undef B_INT
271 #undef B_HTM
272 #undef B_VX
273 #undef B_VXE
274 #undef B_DEP
275
276 #undef BFLAGS_MASK_INIT
277 #define BFLAGS_MASK_INIT (B_INT)
278
279 #define B_INT (1 << 0) /* Internal builtins. This builtin cannot be used in user programs. */
280 #define B_HTM (1 << 1) /* Builtins requiring the transactional execution facility. */
281 #define B_VX (1 << 2) /* Builtins requiring the z13 vector extensions. */
282 #define B_VXE (1 << 3) /* Builtins requiring the arch12 vector extensions. */
283 #define B_DEP (1 << 4) /* Builtin has been deprecated and a warning should be issued. */
284
285 /* B_DEF defines a standard (not overloaded) builtin
286 B_DEF (<builtin name>, <RTL expander name>, <function attributes>, <builtin flags>, <operand flags, see above>, <fntype>)
287
288 OB_DEF defines an overloaded builtin
289 OB_DEF (<builtin name>, <start variant>, <end variant>, <builtin flags>, <fntype>)
290 The builtin flags apply to all its variants and do not need to be mentioned there again.
291
292 OB_DEF_VAR defines a variant of an overloaded builtin
293 OB_DEF_VAR (<variant name>, <standard builtin name>, <flags>, <operand flags>, <fntype>)
294 flags: Flags applying to all its variants should be mentioned in the OB_DEF line instead. */
295
296
297 B_DEF (tbeginc, tbeginc, 0, B_HTM, 0, BT_FN_VOID)
298 B_DEF (tbegin, tbegin, returns_twice_attr, B_HTM, 0, BT_FN_INT_VOIDPTR)
299 B_DEF (tbegin_nofloat, tbegin_nofloat, returns_twice_attr, B_HTM, 0, BT_FN_INT_VOIDPTR)
300 B_DEF (tbegin_retry, tbegin_retry, returns_twice_attr, B_HTM, 0, BT_FN_INT_VOIDPTR_INT)
301 B_DEF (tbegin_retry_nofloat, tbegin_retry_nofloat,returns_twice_attr,B_HTM, 0, BT_FN_INT_VOIDPTR_INT)
302 B_DEF (tend, tend, 0, B_HTM, 0, BT_FN_INT)
303 B_DEF (tabort, tabort, noreturn_attr, B_HTM, 0, BT_FN_VOID_INT)
304 B_DEF (tx_nesting_depth, etnd, 0, B_HTM, 0, BT_FN_INT)
305 B_DEF (non_tx_store, ntstg, 0, B_HTM, 0, BT_FN_VOID_UINT64PTR_UINT64)
306 B_DEF (tx_assist, tx_assist, 0, B_HTM, 0, BT_FN_VOID_INT)
307 B_DEF (s390_sfpc, sfpc, 0, 0, 0, BT_FN_VOID_UINT)
308 B_DEF (s390_efpc, efpc, 0, 0, 0, BT_FN_UINT)
309 B_DEF (s390_lcbb, lcbb, 0, B_VX, O2_U4, BT_FN_UINT_VOIDCONSTPTR_INT)
310
311 OB_DEF (s390_vec_step, MAX, MAX, B_VX, BT_FN_INT_INT)
312
313 OB_DEF (s390_vec_gather_element, s390_vec_gather_element_s32,s390_vec_gather_element_dbl,B_VX,BT_FN_OV4SI_OV4SI_OUV4SI_INTCONSTPTR_UCHAR)
314 OB_DEF_VAR (s390_vec_gather_element_s32,s390_vgef, 0, O4_U2, BT_OV_V4SI_V4SI_UV4SI_INTCONSTPTR_UCHAR)
315 OB_DEF_VAR (s390_vec_gather_element_b32,s390_vgef, 0, O4_U2, BT_OV_BV4SI_BV4SI_UV4SI_UINTCONSTPTR_UCHAR)
316 OB_DEF_VAR (s390_vec_gather_element_u32,s390_vgef, 0, O4_U2, BT_OV_UV4SI_UV4SI_UV4SI_UINTCONSTPTR_UCHAR)
317 OB_DEF_VAR (s390_vec_gather_element_flt,s390_vgef, B_VXE, O4_U2, BT_OV_V4SF_V4SF_UV4SI_FLTCONSTPTR_UCHAR)
318 OB_DEF_VAR (s390_vec_gather_element_s64,s390_vgeg, 0, O4_U1, BT_OV_V2DI_V2DI_UV2DI_LONGLONGCONSTPTR_UCHAR)
319 OB_DEF_VAR (s390_vec_gather_element_b64,s390_vgeg, 0, O4_U1, BT_OV_BV2DI_BV2DI_UV2DI_ULONGLONGCONSTPTR_UCHAR)
320 OB_DEF_VAR (s390_vec_gather_element_u64,s390_vgeg, 0, O4_U1, BT_OV_UV2DI_UV2DI_UV2DI_ULONGLONGCONSTPTR_UCHAR)
321 OB_DEF_VAR (s390_vec_gather_element_dbl,s390_vgeg, 0, O4_U1, BT_OV_V2DF_V2DF_UV2DI_DBLCONSTPTR_UCHAR)
322
323 B_DEF (s390_vgef, vec_gather_elementv4si,0, B_VX, O4_U2, BT_FN_UV4SI_UV4SI_UV4SI_UINTCONSTPTR_UCHAR)
324 B_DEF (s390_vgeg, vec_gather_elementv2di,0, B_VX, O4_U1, BT_FN_UV2DI_UV2DI_UV2DI_ULONGLONGCONSTPTR_UCHAR)
325 B_DEF (s390_vgbm, vec_genbytemaskv16qi,0, B_VX, O1_U16, BT_FN_UV16QI_USHORT)
326 B_DEF (s390_vgmb, vec_genmaskv16qi, 0, B_VX, O1_U8 | O2_U8, BT_FN_UV16QI_UCHAR_UCHAR)
327 B_DEF (s390_vgmh, vec_genmaskv8hi, 0, B_VX, O1_U8 | O2_U8, BT_FN_UV8HI_UCHAR_UCHAR)
328 B_DEF (s390_vgmf, vec_genmaskv4si, 0, B_VX, O1_U8 | O2_U8, BT_FN_UV4SI_UCHAR_UCHAR)
329 B_DEF (s390_vgmg, vec_genmaskv2di, 0, B_VX, O1_U8 | O2_U8, BT_FN_UV2DI_UCHAR_UCHAR)
330
331 OB_DEF (s390_vec_xl, s390_vec_xl_s8, s390_vec_xl_dbl, B_VX, BT_FN_V4SI_INT_VOIDCONSTPTR)
332 OB_DEF_VAR (s390_vec_xl_s8, MAX, 0, O1_LIT, BT_OV_V16QI_LONG_SCHARCONSTPTR) /* vl */
333 OB_DEF_VAR (s390_vec_xl_u8, MAX, 0, O1_LIT, BT_OV_UV16QI_LONG_UCHARCONSTPTR) /* vl */
334 OB_DEF_VAR (s390_vec_xl_s16, MAX, 0, O1_LIT, BT_OV_V8HI_LONG_SHORTCONSTPTR) /* vl */
335 OB_DEF_VAR (s390_vec_xl_u16, MAX, 0, O1_LIT, BT_OV_UV8HI_LONG_USHORTCONSTPTR) /* vl */
336 OB_DEF_VAR (s390_vec_xl_s32, MAX, 0, O1_LIT, BT_OV_V4SI_LONG_INTCONSTPTR) /* vl */
337 OB_DEF_VAR (s390_vec_xl_u32, MAX, 0, O1_LIT, BT_OV_UV4SI_LONG_UINTCONSTPTR) /* vl */
338 OB_DEF_VAR (s390_vec_xl_s64, MAX, 0, O1_LIT, BT_OV_V2DI_LONG_LONGLONGCONSTPTR) /* vl */
339 OB_DEF_VAR (s390_vec_xl_u64, MAX, 0, O1_LIT, BT_OV_UV2DI_LONG_ULONGLONGCONSTPTR) /* vl */
340 OB_DEF_VAR (s390_vec_xl_flt, MAX, 0, O1_LIT, BT_OV_V4SF_LONG_FLTCONSTPTR) /* vl */
341 OB_DEF_VAR (s390_vec_xl_dbl, MAX, 0, O1_LIT, BT_OV_V2DF_LONG_DBLCONSTPTR) /* vl */
342
343 OB_DEF (s390_vec_xld2, s390_vec_xld2_s8, s390_vec_xld2_dbl, B_DEP | B_VX, BT_FN_V4SI_INT_VOIDCONSTPTR)
344 OB_DEF_VAR (s390_vec_xld2_s8, MAX, 0, O1_LIT, BT_OV_V16QI_LONG_SCHARCONSTPTR) /* vl */
345 OB_DEF_VAR (s390_vec_xld2_u8, MAX, 0, O1_LIT, BT_OV_UV16QI_LONG_UCHARCONSTPTR) /* vl */
346 OB_DEF_VAR (s390_vec_xld2_s16, MAX, 0, O1_LIT, BT_OV_V8HI_LONG_SHORTCONSTPTR) /* vl */
347 OB_DEF_VAR (s390_vec_xld2_u16, MAX, 0, O1_LIT, BT_OV_UV8HI_LONG_USHORTCONSTPTR) /* vl */
348 OB_DEF_VAR (s390_vec_xld2_s32, MAX, 0, O1_LIT, BT_OV_V4SI_LONG_INTCONSTPTR) /* vl */
349 OB_DEF_VAR (s390_vec_xld2_u32, MAX, 0, O1_LIT, BT_OV_UV4SI_LONG_UINTCONSTPTR) /* vl */
350 OB_DEF_VAR (s390_vec_xld2_s64, MAX, 0, O1_LIT, BT_OV_V2DI_LONG_LONGLONGCONSTPTR) /* vl */
351 OB_DEF_VAR (s390_vec_xld2_u64, MAX, 0, O1_LIT, BT_OV_UV2DI_LONG_ULONGLONGCONSTPTR) /* vl */
352 OB_DEF_VAR (s390_vec_xld2_flt, MAX, B_VXE, O1_LIT, BT_OV_V4SF_LONG_FLTCONSTPTR) /* vl */
353 OB_DEF_VAR (s390_vec_xld2_dbl, MAX, 0, O1_LIT, BT_OV_V2DF_LONG_DBLCONSTPTR) /* vl */
354
355 OB_DEF (s390_vec_xlw4, s390_vec_xlw4_s8, s390_vec_xlw4_flt, B_DEP | B_VX, BT_FN_V4SI_INT_VOIDCONSTPTR)
356 OB_DEF_VAR (s390_vec_xlw4_s8, MAX, 0, O1_LIT, BT_OV_V16QI_LONG_SCHARCONSTPTR) /* vl */
357 OB_DEF_VAR (s390_vec_xlw4_u8, MAX, 0, O1_LIT, BT_OV_UV16QI_LONG_UCHARCONSTPTR) /* vl */
358 OB_DEF_VAR (s390_vec_xlw4_s16, MAX, 0, O1_LIT, BT_OV_V8HI_LONG_SHORTCONSTPTR) /* vl */
359 OB_DEF_VAR (s390_vec_xlw4_u16, MAX, 0, O1_LIT, BT_OV_UV8HI_LONG_USHORTCONSTPTR) /* vl */
360 OB_DEF_VAR (s390_vec_xlw4_s32, MAX, 0, O1_LIT, BT_OV_V4SI_LONG_INTCONSTPTR) /* vl */
361 OB_DEF_VAR (s390_vec_xlw4_u32, MAX, 0, O1_LIT, BT_OV_UV4SI_LONG_UINTCONSTPTR) /* vl */
362 OB_DEF_VAR (s390_vec_xlw4_flt, MAX, B_VXE, O1_LIT, BT_OV_V4SF_LONG_FLTCONSTPTR) /* vl */
363
364 OB_DEF (s390_vec_splats, s390_vec_splats_s8, s390_vec_splats_dbl,B_VX, BT_FN_OV4SI_INT)
365 OB_DEF_VAR (s390_vec_splats_s8, s390_vlrepb, 0, 0, BT_OV_V16QI_SCHAR)
366 OB_DEF_VAR (s390_vec_splats_u8, s390_vlrepb, 0, 0, BT_OV_UV16QI_UCHAR)
367 OB_DEF_VAR (s390_vec_splats_s16, s390_vlreph, 0, 0, BT_OV_V8HI_SHORT)
368 OB_DEF_VAR (s390_vec_splats_u16, s390_vlreph, 0, 0, BT_OV_UV8HI_USHORT)
369 OB_DEF_VAR (s390_vec_splats_s32, s390_vlrepf, 0, 0, BT_OV_V4SI_INT)
370 OB_DEF_VAR (s390_vec_splats_u32, s390_vlrepf, 0, 0, BT_OV_UV4SI_UINT)
371 OB_DEF_VAR (s390_vec_splats_s64, s390_vlrepg, 0, 0, BT_OV_V2DI_LONGLONG)
372 OB_DEF_VAR (s390_vec_splats_u64, s390_vlrepg, 0, 0, BT_OV_UV2DI_ULONGLONG)
373 OB_DEF_VAR (s390_vec_splats_flt, s390_vlrepf_flt, B_VXE, 0, BT_OV_V4SF_FLT) /* vlrepf */
374 OB_DEF_VAR (s390_vec_splats_dbl, s390_vlrepg_dbl, 0, 0, BT_OV_V2DF_DBL) /* vlrepg */
375
376 B_DEF (s390_vlrepb, vec_splatsv16qi, 0, B_VX, 0, BT_FN_UV16QI_UCHAR)
377 B_DEF (s390_vlreph, vec_splatsv8hi, 0, B_VX, 0, BT_FN_UV8HI_USHORT)
378 B_DEF (s390_vlrepf, vec_splatsv4si, 0, B_VX, 0, BT_FN_UV4SI_UINT)
379 B_DEF (s390_vlrepf_flt, vec_splatsv4sf, 0, B_INT | B_VXE, 0, BT_FN_V4SF_FLT)
380 B_DEF (s390_vlrepg, vec_splatsv2di, 0, B_VX, 0, BT_FN_UV2DI_ULONGLONG)
381 B_DEF (s390_vlrepg_dbl, vec_splatsv2df, 0, B_INT | B_VX, 0, BT_FN_V2DF_DBL)
382 B_DEF (s390_vrepib, vec_splatsv16qi, 0, B_VX, O1_U8, BT_FN_V16QI_UCHAR)
383 B_DEF (s390_vrepih, vec_splatsv8hi, 0, B_VX, O1_S16, BT_FN_V8HI_SHORT)
384 B_DEF (s390_vrepif, vec_splatsv4si, 0, B_VX, O1_S16, BT_FN_V4SI_SHORT)
385 B_DEF (s390_vrepig, vec_splatsv2di, 0, B_VX, O1_S16, BT_FN_V2DI_SHORT)
386
387 B_DEF (s390_vec_splat_u8, vec_splatsv16qi, 0, B_VX, O1_U8, BT_FN_UV16QI_UCHAR)
388 B_DEF (s390_vec_splat_s8, vec_splatsv16qi, 0, B_VX, O1_S8, BT_FN_V16QI_SCHAR)
389 B_DEF (s390_vec_splat_u16, vec_splatsv8hi, 0, B_VX, O1_U16, BT_FN_UV8HI_USHORT)
390 B_DEF (s390_vec_splat_s16, vec_splatsv8hi, 0, B_VX, O1_S16, BT_FN_V8HI_SHORT)
391 B_DEF (s390_vec_splat_u32, vec_splatsv4si, 0, B_VX, O1_U16, BT_FN_UV4SI_USHORT)
392 B_DEF (s390_vec_splat_s32, vec_splatsv4si, 0, B_VX, O1_S16, BT_FN_V4SI_SHORT)
393 B_DEF (s390_vec_splat_u64, vec_splatsv2di, 0, B_VX, O1_U16, BT_FN_UV2DI_USHORT)
394 B_DEF (s390_vec_splat_s64, vec_splatsv2di, 0, B_VX, O1_S16, BT_FN_V2DI_SHORT)
395
396 /* First two operands are swapped in s390-c.c */
397 OB_DEF (s390_vec_insert, s390_vec_insert_s8, s390_vec_insert_dbl,B_VX, BT_FN_OV4SI_INT_OV4SI_INT)
398 OB_DEF_VAR (s390_vec_insert_s8, s390_vlvgb, 0, O3_ELEM, BT_OV_V16QI_SCHAR_V16QI_INT)
399 OB_DEF_VAR (s390_vec_insert_u8, s390_vlvgb, 0, O3_ELEM, BT_OV_UV16QI_UCHAR_UV16QI_INT)
400 OB_DEF_VAR (s390_vec_insert_b8, s390_vlvgb, 0, O3_ELEM, BT_OV_UV16QI_UCHAR_BV16QI_INT)
401 OB_DEF_VAR (s390_vec_insert_s16, s390_vlvgh, 0, O3_ELEM, BT_OV_V8HI_SHORT_V8HI_INT)
402 OB_DEF_VAR (s390_vec_insert_u16, s390_vlvgh, 0, O3_ELEM, BT_OV_UV8HI_USHORT_UV8HI_INT)
403 OB_DEF_VAR (s390_vec_insert_b16, s390_vlvgh, 0, O3_ELEM, BT_OV_UV8HI_USHORT_BV8HI_INT)
404 OB_DEF_VAR (s390_vec_insert_s32, s390_vlvgf, 0, O3_ELEM, BT_OV_V4SI_INT_V4SI_INT)
405 OB_DEF_VAR (s390_vec_insert_u32, s390_vlvgf, 0, O3_ELEM, BT_OV_UV4SI_UINT_UV4SI_INT)
406 OB_DEF_VAR (s390_vec_insert_b32, s390_vlvgf, 0, O3_ELEM, BT_OV_UV4SI_UINT_BV4SI_INT)
407 OB_DEF_VAR (s390_vec_insert_s64, s390_vlvgg, 0, O3_ELEM, BT_OV_V2DI_LONGLONG_V2DI_INT)
408 OB_DEF_VAR (s390_vec_insert_u64, s390_vlvgg, 0, O3_ELEM, BT_OV_UV2DI_ULONGLONG_UV2DI_INT)
409 OB_DEF_VAR (s390_vec_insert_b64, s390_vlvgg, 0, O3_ELEM, BT_OV_UV2DI_ULONGLONG_BV2DI_INT)
410 OB_DEF_VAR (s390_vec_insert_flt, s390_vlvgf_flt, B_VXE, O3_ELEM, BT_OV_V4SF_FLT_V4SF_INT) /* vlvgf */
411 OB_DEF_VAR (s390_vec_insert_dbl, s390_vlvgg_dbl, 0, O3_ELEM, BT_OV_V2DF_DBL_V2DF_INT) /* vlvgg */
412
413 B_DEF (s390_vlvgb, vec_insertv16qi, 0, B_VX, O3_ELEM, BT_FN_UV16QI_UV16QI_UCHAR_INT)
414 B_DEF (s390_vlvgh, vec_insertv8hi, 0, B_VX, O3_ELEM, BT_FN_UV8HI_UV8HI_USHORT_INT)
415 B_DEF (s390_vlvgf, vec_insertv4si, 0, B_VX, O3_ELEM, BT_FN_UV4SI_UV4SI_UINT_INT)
416 B_DEF (s390_vlvgg, vec_insertv2di, 0, B_VX, O3_ELEM, BT_FN_UV2DI_UV2DI_ULONGLONG_INT)
417 B_DEF (s390_vlvgf_flt, vec_insertv4sf, 0, B_INT | B_VXE, O3_ELEM, BT_FN_V4SF_V4SF_FLT_INT)
418 B_DEF (s390_vlvgg_dbl, vec_insertv2df, 0, B_INT | B_VX, O3_ELEM, BT_FN_V2DF_V2DF_DBL_INT)
419
420 OB_DEF (s390_vec_promote, s390_vec_promote_s8,s390_vec_promote_dbl,B_VX, BT_FN_OV4SI_INT_INT)
421 OB_DEF_VAR (s390_vec_promote_s8, s390_vlvgb_noin, 0, O2_ELEM, BT_OV_V16QI_SCHAR_INT) /* vlvgb */
422 OB_DEF_VAR (s390_vec_promote_u8, s390_vlvgb_noin, 0, O2_ELEM, BT_OV_UV16QI_UCHAR_INT) /* vlvgb */
423 OB_DEF_VAR (s390_vec_promote_s16, s390_vlvgh_noin, 0, O2_ELEM, BT_OV_V8HI_SHORT_INT) /* vlvgh */
424 OB_DEF_VAR (s390_vec_promote_u16, s390_vlvgh_noin, 0, O2_ELEM, BT_OV_UV8HI_USHORT_INT) /* vlvgh */
425 OB_DEF_VAR (s390_vec_promote_s32, s390_vlvgf_noin, 0, O2_ELEM, BT_OV_V4SI_INT_INT) /* vlvgf */
426 OB_DEF_VAR (s390_vec_promote_u32, s390_vlvgf_noin, 0, O2_ELEM, BT_OV_UV4SI_UINT_INT) /* vlvgf */
427 OB_DEF_VAR (s390_vec_promote_s64, s390_vlvgg_noin, 0, O2_ELEM, BT_OV_V2DI_LONGLONG_INT) /* vlvgg */
428 OB_DEF_VAR (s390_vec_promote_u64, s390_vlvgg_noin, 0, O2_ELEM, BT_OV_UV2DI_ULONGLONG_INT) /* vlvgg */
429 OB_DEF_VAR (s390_vec_promote_flt, s390_vlvgf_flt_noin,B_VXE, O2_ELEM, BT_OV_V4SF_FLT_INT) /* vlvgf */
430 OB_DEF_VAR (s390_vec_promote_dbl, s390_vlvgg_dbl_noin,0, O2_ELEM, BT_OV_V2DF_DBL_INT) /* vlvgg */
431
432 B_DEF (s390_vlvgb_noin, vec_promotev16qi, 0, B_INT | B_VX, 0, BT_FN_UV16QI_UCHAR_INT)
433 B_DEF (s390_vlvgh_noin, vec_promotev8hi, 0, B_INT | B_VX, 0, BT_FN_UV8HI_USHORT_INT)
434 B_DEF (s390_vlvgf_noin, vec_promotev4si, 0, B_INT | B_VX, 0, BT_FN_UV4SI_UINT_INT)
435 B_DEF (s390_vlvgg_noin, vec_promotev2di, 0, B_INT | B_VX, 0, BT_FN_UV2DI_ULONGLONG_INT)
436 B_DEF (s390_vlvgf_flt_noin, vec_promotev4sf, 0, B_INT | B_VXE, 0, BT_FN_V4SF_FLT_INT)
437 B_DEF (s390_vlvgg_dbl_noin, vec_promotev2df, 0, B_INT | B_VX, 0, BT_FN_V2DF_DBL_INT)
438
439 OB_DEF (s390_vec_extract, s390_vec_extract_s8,s390_vec_extract_dbl,B_VX, BT_FN_INT_OV4SI_INT)
440 OB_DEF_VAR (s390_vec_extract_s8, s390_vlgvb, 0, O2_ELEM, BT_OV_SCHAR_V16QI_INT)
441 OB_DEF_VAR (s390_vec_extract_u8, s390_vlgvb, 0, O2_ELEM, BT_OV_UCHAR_UV16QI_INT)
442 OB_DEF_VAR (s390_vec_extract_b8, s390_vlgvb, 0, O2_ELEM, BT_OV_UCHAR_BV16QI_INT)
443 OB_DEF_VAR (s390_vec_extract_s16, s390_vlgvh, 0, O2_ELEM, BT_OV_SHORT_V8HI_INT)
444 OB_DEF_VAR (s390_vec_extract_u16, s390_vlgvh, 0, O2_ELEM, BT_OV_USHORT_UV8HI_INT)
445 OB_DEF_VAR (s390_vec_extract_b16, s390_vlgvh, 0, O2_ELEM, BT_OV_USHORT_BV8HI_INT)
446 OB_DEF_VAR (s390_vec_extract_s32, s390_vlgvf, 0, O2_ELEM, BT_OV_INT_V4SI_INT)
447 OB_DEF_VAR (s390_vec_extract_u32, s390_vlgvf, 0, O2_ELEM, BT_OV_UINT_UV4SI_INT)
448 OB_DEF_VAR (s390_vec_extract_b32, s390_vlgvf, 0, O2_ELEM, BT_OV_UINT_BV4SI_INT)
449 OB_DEF_VAR (s390_vec_extract_flt, s390_vlgvf_flt, B_VXE, O2_ELEM, BT_OV_FLT_V4SF_INT)
450 OB_DEF_VAR (s390_vec_extract_s64, s390_vlgvg, 0, O2_ELEM, BT_OV_LONGLONG_V2DI_INT)
451 OB_DEF_VAR (s390_vec_extract_u64, s390_vlgvg, 0, O2_ELEM, BT_OV_ULONGLONG_UV2DI_INT)
452 OB_DEF_VAR (s390_vec_extract_b64, s390_vlgvg, 0, O2_ELEM, BT_OV_ULONGLONG_BV2DI_INT)
453 OB_DEF_VAR (s390_vec_extract_dbl, s390_vlgvg_dbl, 0, O2_ELEM, BT_OV_DBL_V2DF_INT) /* vlgvg */
454
455 B_DEF (s390_vlgvb, vec_extractv16qiqi, 0, B_VX, O2_ELEM, BT_FN_UCHAR_UV16QI_INT)
456 B_DEF (s390_vlgvh, vec_extractv8hihi, 0, B_VX, O2_ELEM, BT_FN_USHORT_UV8HI_INT)
457 B_DEF (s390_vlgvf, vec_extractv4sisi, 0, B_VX, O2_ELEM, BT_FN_UINT_UV4SI_INT)
458 B_DEF (s390_vlgvf_flt, vec_extractv4sfsf, 0, B_INT | B_VXE, O2_ELEM, BT_FN_FLT_V4SF_INT)
459 B_DEF (s390_vlgvg, vec_extractv2didi, 0, B_VX, O2_ELEM, BT_FN_ULONGLONG_UV2DI_INT)
460 B_DEF (s390_vlgvg_dbl, vec_extractv2dfdf, 0, B_INT | B_VX, O2_ELEM, BT_FN_DBL_V2DF_INT)
461
462 OB_DEF (s390_vec_insert_and_zero, s390_vec_insert_and_zero_s8,s390_vec_insert_and_zero_dbl,B_VX,BT_FN_OV4SI_INTCONSTPTR)
463 OB_DEF_VAR (s390_vec_insert_and_zero_s8,s390_vllezb, 0, 0, BT_OV_V16QI_SCHARCONSTPTR)
464 OB_DEF_VAR (s390_vec_insert_and_zero_u8,s390_vllezb, 0, 0, BT_OV_UV16QI_UCHARCONSTPTR)
465 OB_DEF_VAR (s390_vec_insert_and_zero_s16,s390_vllezh, 0, 0, BT_OV_V8HI_SHORTCONSTPTR)
466 OB_DEF_VAR (s390_vec_insert_and_zero_u16,s390_vllezh, 0, 0, BT_OV_UV8HI_USHORTCONSTPTR)
467 OB_DEF_VAR (s390_vec_insert_and_zero_s32,s390_vllezf, 0, 0, BT_OV_V4SI_INTCONSTPTR)
468 OB_DEF_VAR (s390_vec_insert_and_zero_u32,s390_vllezf, 0, 0, BT_OV_UV4SI_UINTCONSTPTR)
469 OB_DEF_VAR (s390_vec_insert_and_zero_flt,s390_vllezf_flt, B_VXE, 0, BT_OV_V4SF_FLTCONSTPTR)
470 OB_DEF_VAR (s390_vec_insert_and_zero_s64,s390_vllezg, 0, 0, BT_OV_V2DI_LONGLONGCONSTPTR)
471 OB_DEF_VAR (s390_vec_insert_and_zero_u64,s390_vllezg, 0, 0, BT_OV_UV2DI_ULONGLONGCONSTPTR)
472 OB_DEF_VAR (s390_vec_insert_and_zero_dbl,s390_vllezg_dbl, 0, 0, BT_OV_V2DF_DBLCONSTPTR)
473
474 B_DEF (s390_vllezb, vec_insert_and_zerov16qi,0, B_VX, 0, BT_FN_UV16QI_UCHARCONSTPTR)
475 B_DEF (s390_vllezh, vec_insert_and_zerov8hi,0, B_VX, 0, BT_FN_UV8HI_USHORTCONSTPTR)
476 B_DEF (s390_vllezf, vec_insert_and_zerov4si,0, B_VX, 0, BT_FN_UV4SI_UINTCONSTPTR)
477 B_DEF (s390_vllezf_flt, vec_insert_and_zerov4sf,0, B_INT | B_VXE, 0, BT_FN_V4SF_FLTCONSTPTR)
478 B_DEF (s390_vllezg, vec_insert_and_zerov2di,0, B_VX, 0, BT_FN_UV2DI_ULONGLONGCONSTPTR)
479 B_DEF (s390_vllezg_dbl, vec_insert_and_zerov2df,0, B_INT | B_VX, 0, BT_FN_V2DF_DBLCONSTPTR)
480
481 /* The 2nd operand will by translated in s390-c.c from 64, 128, 256, ... to 0, 1, 2, ... */
482 OB_DEF (s390_vec_load_bndry, s390_vec_load_bndry_s8,s390_vec_load_bndry_dbl,B_VX, BT_FN_OV4SI_INTCONSTPTR_INT)
483 OB_DEF_VAR (s390_vec_load_bndry_s8, s390_vlbb, 0, O2_U16, BT_OV_V16QI_SCHARCONSTPTR_USHORT)
484 OB_DEF_VAR (s390_vec_load_bndry_u8, s390_vlbb, 0, O2_U16, BT_OV_UV16QI_UCHARCONSTPTR_USHORT)
485 OB_DEF_VAR (s390_vec_load_bndry_s16, s390_vlbb, 0, O2_U16, BT_OV_V8HI_SHORTCONSTPTR_USHORT)
486 OB_DEF_VAR (s390_vec_load_bndry_u16, s390_vlbb, 0, O2_U16, BT_OV_UV8HI_USHORTCONSTPTR_USHORT)
487 OB_DEF_VAR (s390_vec_load_bndry_s32, s390_vlbb, 0, O2_U16, BT_OV_V4SI_INTCONSTPTR_USHORT)
488 OB_DEF_VAR (s390_vec_load_bndry_u32, s390_vlbb, 0, O2_U16, BT_OV_UV4SI_UINTCONSTPTR_USHORT)
489 OB_DEF_VAR (s390_vec_load_bndry_s64, s390_vlbb, 0, O2_U16, BT_OV_V2DI_LONGLONGCONSTPTR_USHORT)
490 OB_DEF_VAR (s390_vec_load_bndry_u64, s390_vlbb, 0, O2_U16, BT_OV_UV2DI_ULONGLONGCONSTPTR_USHORT)
491 OB_DEF_VAR (s390_vec_load_bndry_flt, s390_vlbb, B_VXE, O2_U16, BT_OV_V4SF_FLTCONSTPTR_USHORT)
492 OB_DEF_VAR (s390_vec_load_bndry_dbl, s390_vlbb, 0, O2_U16, BT_OV_V2DF_DBLCONSTPTR_USHORT)
493
494 B_DEF (s390_vlbb, vlbb, 0, B_VX, O2_U3, BT_FN_UV16QI_UCHARCONSTPTR_USHORT)
495
496 OB_DEF (s390_vec_load_pair, s390_vec_load_pair_s64,s390_vec_load_pair_u64,B_VX, BT_FN_OV2DI_LONGLONG_LONGLONG)
497 OB_DEF_VAR (s390_vec_load_pair_s64, MAX, 0, 0, BT_OV_V2DI_LONGLONG_LONGLONG) /* vlvgp */
498 OB_DEF_VAR (s390_vec_load_pair_u64, MAX, 0, 0, BT_OV_UV2DI_ULONGLONG_ULONGLONG) /* vlvgp */
499
500 /* First two operands are swapped in s390-c.c */
501 OB_DEF (s390_vec_load_len, s390_vec_load_len_s8,s390_vec_load_len_dbl,B_VX, BT_FN_OV4SI_INTCONSTPTR_UINT)
502 OB_DEF_VAR (s390_vec_load_len_s8, s390_vll, 0, 0, BT_OV_V16QI_SCHARCONSTPTR_UINT)
503 OB_DEF_VAR (s390_vec_load_len_u8, s390_vll, 0, 0, BT_OV_UV16QI_UCHARCONSTPTR_UINT)
504 OB_DEF_VAR (s390_vec_load_len_s16, s390_vll, 0, 0, BT_OV_V8HI_SHORTCONSTPTR_UINT)
505 OB_DEF_VAR (s390_vec_load_len_u16, s390_vll, 0, 0, BT_OV_UV8HI_USHORTCONSTPTR_UINT)
506 OB_DEF_VAR (s390_vec_load_len_s32, s390_vll, 0, 0, BT_OV_V4SI_INTCONSTPTR_UINT)
507 OB_DEF_VAR (s390_vec_load_len_u32, s390_vll, 0, 0, BT_OV_UV4SI_UINTCONSTPTR_UINT)
508 OB_DEF_VAR (s390_vec_load_len_s64, s390_vll, 0, 0, BT_OV_V2DI_LONGLONGCONSTPTR_UINT)
509 OB_DEF_VAR (s390_vec_load_len_u64, s390_vll, 0, 0, BT_OV_UV2DI_ULONGLONGCONSTPTR_UINT)
510 OB_DEF_VAR (s390_vec_load_len_flt, s390_vll, B_VXE, 0, BT_OV_V4SF_FLTCONSTPTR_UINT)
511 OB_DEF_VAR (s390_vec_load_len_dbl, s390_vll, 0, 0, BT_OV_V2DF_DBLCONSTPTR_UINT)
512
513 B_DEF (s390_vll, vllv16qi, 0, B_VX, 0, BT_FN_V16QI_UINT_VOIDCONSTPTR)
514 B_DEF (s390_vlrlr, vlrlrv16qi, 0, B_VXE, 0, BT_FN_V16QI_UINT_VOIDCONSTPTR)
515
516 OB_DEF (s390_vec_mergeh, s390_vec_mergeh_s8, s390_vec_mergeh_dbl,B_VX, BT_FN_OV4SI_OV4SI_OV4SI)
517 OB_DEF_VAR (s390_vec_mergeh_s8, s390_vmrhb, 0, 0, BT_OV_V16QI_V16QI_V16QI)
518 OB_DEF_VAR (s390_vec_mergeh_u8, s390_vmrhb, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI)
519 OB_DEF_VAR (s390_vec_mergeh_b8, s390_vmrhb, 0, 0, BT_OV_BV16QI_BV16QI_BV16QI)
520 OB_DEF_VAR (s390_vec_mergeh_s16, s390_vmrhh, 0, 0, BT_OV_V8HI_V8HI_V8HI)
521 OB_DEF_VAR (s390_vec_mergeh_u16, s390_vmrhh, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI)
522 OB_DEF_VAR (s390_vec_mergeh_b16, s390_vmrhh, 0, 0, BT_OV_BV8HI_BV8HI_BV8HI)
523 OB_DEF_VAR (s390_vec_mergeh_s32, s390_vmrhf, 0, 0, BT_OV_V4SI_V4SI_V4SI)
524 OB_DEF_VAR (s390_vec_mergeh_u32, s390_vmrhf, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI)
525 OB_DEF_VAR (s390_vec_mergeh_b32, s390_vmrhf, 0, 0, BT_OV_BV4SI_BV4SI_BV4SI)
526 OB_DEF_VAR (s390_vec_mergeh_s64, s390_vmrhg, 0, 0, BT_OV_V2DI_V2DI_V2DI)
527 OB_DEF_VAR (s390_vec_mergeh_u64, s390_vmrhg, 0, 0, BT_OV_UV2DI_UV2DI_UV2DI)
528 OB_DEF_VAR (s390_vec_mergeh_b64, s390_vmrhg, 0, 0, BT_OV_BV2DI_BV2DI_BV2DI)
529 OB_DEF_VAR (s390_vec_mergeh_flt, s390_vmrhf_flt, B_VXE, 0, BT_OV_V4SF_V4SF_V4SF)
530 OB_DEF_VAR (s390_vec_mergeh_dbl, s390_vmrhg_dbl, 0, 0, BT_OV_V2DF_V2DF_V2DF)
531
532 B_DEF (s390_vmrhb, vec_mergehv16qi, 0, B_VX, 0, BT_FN_UV16QI_UV16QI_UV16QI)
533 B_DEF (s390_vmrhh, vec_mergehv8hi, 0, B_VX, 0, BT_FN_UV8HI_UV8HI_UV8HI)
534 B_DEF (s390_vmrhf, vec_mergehv4si, 0, B_VX, 0, BT_FN_UV4SI_UV4SI_UV4SI)
535 B_DEF (s390_vmrhf_flt, vec_mergehv4sf, 0, B_INT | B_VX, 0, BT_FN_V4SF_V4SF_V4SF)
536 B_DEF (s390_vmrhg, vec_mergehv2di, 0, B_VX, 0, BT_FN_UV2DI_UV2DI_UV2DI)
537 B_DEF (s390_vmrhg_dbl, vec_mergehv2df, 0, B_INT | B_VX, 0, BT_FN_V2DF_V2DF_V2DF)
538
539 OB_DEF (s390_vec_mergel, s390_vec_mergel_s8, s390_vec_mergel_dbl,B_VX, BT_FN_OV4SI_OV4SI_OV4SI)
540 OB_DEF_VAR (s390_vec_mergel_s8, s390_vmrlb, 0, 0, BT_OV_V16QI_V16QI_V16QI)
541 OB_DEF_VAR (s390_vec_mergel_u8, s390_vmrlb, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI)
542 OB_DEF_VAR (s390_vec_mergel_b8, s390_vmrlb, 0, 0, BT_OV_BV16QI_BV16QI_BV16QI)
543 OB_DEF_VAR (s390_vec_mergel_s16, s390_vmrlh, 0, 0, BT_OV_V8HI_V8HI_V8HI)
544 OB_DEF_VAR (s390_vec_mergel_u16, s390_vmrlh, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI)
545 OB_DEF_VAR (s390_vec_mergel_b16, s390_vmrlh, 0, 0, BT_OV_BV8HI_BV8HI_BV8HI)
546 OB_DEF_VAR (s390_vec_mergel_s32, s390_vmrlf, 0, 0, BT_OV_V4SI_V4SI_V4SI)
547 OB_DEF_VAR (s390_vec_mergel_u32, s390_vmrlf, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI)
548 OB_DEF_VAR (s390_vec_mergel_b32, s390_vmrlf, 0, 0, BT_OV_BV4SI_BV4SI_BV4SI)
549 OB_DEF_VAR (s390_vec_mergel_s64, s390_vmrlg, 0, 0, BT_OV_V2DI_V2DI_V2DI)
550 OB_DEF_VAR (s390_vec_mergel_u64, s390_vmrlg, 0, 0, BT_OV_UV2DI_UV2DI_UV2DI)
551 OB_DEF_VAR (s390_vec_mergel_b64, s390_vmrlg, 0, 0, BT_OV_BV2DI_BV2DI_BV2DI)
552 OB_DEF_VAR (s390_vec_mergel_flt, s390_vmrlf_flt, B_VXE, 0, BT_OV_V4SF_V4SF_V4SF)
553 OB_DEF_VAR (s390_vec_mergel_dbl, s390_vmrlg_dbl, 0, 0, BT_OV_V2DF_V2DF_V2DF)
554
555 B_DEF (s390_vmrlb, vec_mergelv16qi, 0, B_VX, 0, BT_FN_UV16QI_UV16QI_UV16QI)
556 B_DEF (s390_vmrlh, vec_mergelv8hi, 0, B_VX, 0, BT_FN_UV8HI_UV8HI_UV8HI)
557 B_DEF (s390_vmrlf, vec_mergelv4si, 0, B_VX, 0, BT_FN_UV4SI_UV4SI_UV4SI)
558 B_DEF (s390_vmrlf_flt, vec_mergelv4sf, 0, B_INT | B_VXE, 0, BT_FN_V4SF_V4SF_V4SF)
559 B_DEF (s390_vmrlg, vec_mergelv2di, 0, B_VX, 0, BT_FN_UV2DI_UV2DI_UV2DI)
560 B_DEF (s390_vmrlg_dbl, vec_mergelv2df, 0, B_INT | B_VX, 0, BT_FN_V2DF_V2DF_V2DF)
561
562 OB_DEF (s390_vec_pack, s390_vec_pack_s16, s390_vec_pack_b64, B_VX, BT_FN_OV4SI_OV4SI_OV4SI)
563 OB_DEF_VAR (s390_vec_pack_s16, s390_vpkh, 0, 0, BT_OV_V16QI_V8HI_V8HI)
564 OB_DEF_VAR (s390_vec_pack_u16, s390_vpkh, 0, 0, BT_OV_UV16QI_UV8HI_UV8HI)
565 OB_DEF_VAR (s390_vec_pack_b16, s390_vpkh, 0, 0, BT_OV_BV16QI_BV8HI_BV8HI)
566 OB_DEF_VAR (s390_vec_pack_s32, s390_vpkf, 0, 0, BT_OV_V8HI_V4SI_V4SI)
567 OB_DEF_VAR (s390_vec_pack_u32, s390_vpkf, 0, 0, BT_OV_UV8HI_UV4SI_UV4SI)
568 OB_DEF_VAR (s390_vec_pack_b32, s390_vpkf, 0, 0, BT_OV_BV8HI_BV4SI_BV4SI)
569 OB_DEF_VAR (s390_vec_pack_s64, s390_vpkg, 0, 0, BT_OV_V4SI_V2DI_V2DI)
570 OB_DEF_VAR (s390_vec_pack_u64, s390_vpkg, 0, 0, BT_OV_UV4SI_UV2DI_UV2DI)
571 OB_DEF_VAR (s390_vec_pack_b64, s390_vpkg, 0, 0, BT_OV_BV4SI_BV2DI_BV2DI)
572
573 B_DEF (s390_vpkh, vec_packv8hi, 0, B_VX, 0, BT_FN_UV16QI_UV8HI_UV8HI)
574 B_DEF (s390_vpkf, vec_packv4si, 0, B_VX, 0, BT_FN_UV8HI_UV4SI_UV4SI)
575 B_DEF (s390_vpkg, vec_packv2di, 0, B_VX, 0, BT_FN_UV4SI_UV2DI_UV2DI)
576
577 OB_DEF (s390_vec_packs, s390_vec_packs_s16, s390_vec_packs_u64, B_VX, BT_FN_OV4SI_OV4SI_OV4SI)
578 OB_DEF_VAR (s390_vec_packs_s16, s390_vpksh, 0, 0, BT_OV_V16QI_V8HI_V8HI)
579 OB_DEF_VAR (s390_vec_packs_u16, s390_vpklsh, 0, 0, BT_OV_UV16QI_UV8HI_UV8HI)
580 OB_DEF_VAR (s390_vec_packs_s32, s390_vpksf, 0, 0, BT_OV_V8HI_V4SI_V4SI)
581 OB_DEF_VAR (s390_vec_packs_u32, s390_vpklsf, 0, 0, BT_OV_UV8HI_UV4SI_UV4SI)
582 OB_DEF_VAR (s390_vec_packs_s64, s390_vpksg, 0, 0, BT_OV_V4SI_V2DI_V2DI)
583 OB_DEF_VAR (s390_vec_packs_u64, s390_vpklsg, 0, 0, BT_OV_UV4SI_UV2DI_UV2DI)
584
585 B_DEF (s390_vpksh, vec_packsv8hi, 0, B_VX, 0, BT_FN_V16QI_V8HI_V8HI)
586 B_DEF (s390_vpklsh, vec_packsuv8hi, 0, B_VX, 0, BT_FN_UV16QI_UV8HI_UV8HI)
587 B_DEF (s390_vpksf, vec_packsv4si, 0, B_VX, 0, BT_FN_V8HI_V4SI_V4SI)
588 B_DEF (s390_vpklsf, vec_packsuv4si, 0, B_VX, 0, BT_FN_UV8HI_UV4SI_UV4SI)
589 B_DEF (s390_vpksg, vec_packsv2di, 0, B_VX, 0, BT_FN_V4SI_V2DI_V2DI)
590 B_DEF (s390_vpklsg, vec_packsuv2di, 0, B_VX, 0, BT_FN_UV4SI_UV2DI_UV2DI)
591
592 OB_DEF (s390_vec_packs_cc, s390_vec_packs_cc_s16,s390_vec_packs_cc_u64,B_VX, BT_FN_OV4SI_OV4SI_OV4SI_INTPTR)
593 OB_DEF_VAR (s390_vec_packs_cc_s16, s390_vpkshs, 0, 0, BT_OV_V16QI_V8HI_V8HI_INTPTR)
594 OB_DEF_VAR (s390_vec_packs_cc_u16, s390_vpklshs, 0, 0, BT_OV_UV16QI_UV8HI_UV8HI_INTPTR)
595 OB_DEF_VAR (s390_vec_packs_cc_s32, s390_vpksfs, 0, 0, BT_OV_V8HI_V4SI_V4SI_INTPTR)
596 OB_DEF_VAR (s390_vec_packs_cc_u32, s390_vpklsfs, 0, 0, BT_OV_UV8HI_UV4SI_UV4SI_INTPTR)
597 OB_DEF_VAR (s390_vec_packs_cc_s64, s390_vpksgs, 0, 0, BT_OV_V4SI_V2DI_V2DI_INTPTR)
598 OB_DEF_VAR (s390_vec_packs_cc_u64, s390_vpklsgs, 0, 0, BT_OV_UV4SI_UV2DI_UV2DI_INTPTR)
599
600 B_DEF (s390_vpkshs, vec_packs_ccv8hi, 0, B_VX, 0, BT_FN_V16QI_V8HI_V8HI_INTPTR)
601 B_DEF (s390_vpklshs, vec_packsu_ccv8hi, 0, B_VX, 0, BT_FN_UV16QI_UV8HI_UV8HI_INTPTR)
602 B_DEF (s390_vpksfs, vec_packs_ccv4si, 0, B_VX, 0, BT_FN_V8HI_V4SI_V4SI_INTPTR)
603 B_DEF (s390_vpklsfs, vec_packsu_ccv4si, 0, B_VX, 0, BT_FN_UV8HI_UV4SI_UV4SI_INTPTR)
604 B_DEF (s390_vpksgs, vec_packs_ccv2di, 0, B_VX, 0, BT_FN_V4SI_V2DI_V2DI_INTPTR)
605 B_DEF (s390_vpklsgs, vec_packsu_ccv2di, 0, B_VX, 0, BT_FN_UV4SI_UV2DI_UV2DI_INTPTR)
606
607 OB_DEF (s390_vec_packsu, s390_vec_packsu_s16,s390_vec_packsu_u64,B_VX, BT_FN_OV4SI_OV4SI_OV4SI)
608 OB_DEF_VAR (s390_vec_packsu_s16, s390_vec_packsu_u16,0, 0, BT_OV_UV16QI_V8HI_V8HI) /* vpklsh */
609 OB_DEF_VAR (s390_vec_packsu_u16, s390_vpklsh, 0, 0, BT_OV_UV16QI_UV8HI_UV8HI)
610 OB_DEF_VAR (s390_vec_packsu_s32, s390_vec_packsu_u32,0, 0, BT_OV_UV8HI_V4SI_V4SI) /* vpklsf */
611 OB_DEF_VAR (s390_vec_packsu_u32, s390_vpklsf, 0, 0, BT_OV_UV8HI_UV4SI_UV4SI)
612 OB_DEF_VAR (s390_vec_packsu_s64, s390_vec_packsu_u64,0, 0, BT_OV_UV4SI_V2DI_V2DI) /* vpklsg */
613 OB_DEF_VAR (s390_vec_packsu_u64, s390_vpklsg, 0, 0, BT_OV_UV4SI_UV2DI_UV2DI)
614
615 B_DEF (s390_vec_packsu_u16, vec_packsu_uv8hi, 0, B_INT | B_VX, 0, BT_FN_UV16QI_UV8HI_UV8HI) /* vpklsh */
616 B_DEF (s390_vec_packsu_u32, vec_packsu_uv4si, 0, B_INT | B_VX, 0, BT_FN_UV8HI_UV4SI_UV4SI) /* vpklsf */
617 B_DEF (s390_vec_packsu_u64, vec_packsu_uv2di, 0, B_INT | B_VX, 0, BT_FN_UV4SI_UV2DI_UV2DI) /* vpklsg */
618
619 OB_DEF (s390_vec_packsu_cc, s390_vec_packsu_cc_u16,s390_vec_packsu_cc_u64,B_VX, BT_FN_OV4SI_OV4SI_OV4SI_INTPTR)
620 OB_DEF_VAR (s390_vec_packsu_cc_u16, s390_vpklshs, 0, 0, BT_OV_UV16QI_UV8HI_UV8HI_INTPTR)
621 OB_DEF_VAR (s390_vec_packsu_cc_u32, s390_vpklsfs, 0, 0, BT_OV_UV8HI_UV4SI_UV4SI_INTPTR)
622 OB_DEF_VAR (s390_vec_packsu_cc_u64, s390_vpklsgs, 0, 0, BT_OV_UV4SI_UV2DI_UV2DI_INTPTR)
623
624 OB_DEF (s390_vec_perm, s390_vec_perm_s8, s390_vec_perm_dbl, B_VX, BT_FN_OV4SI_OV4SI_OV4SI_OV4SI)
625 OB_DEF_VAR (s390_vec_perm_s8, s390_vperm, 0, 0, BT_OV_V16QI_V16QI_V16QI_UV16QI)
626 OB_DEF_VAR (s390_vec_perm_b8, s390_vperm, 0, 0, BT_OV_BV16QI_BV16QI_BV16QI_UV16QI)
627 OB_DEF_VAR (s390_vec_perm_u8, s390_vperm, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI_UV16QI)
628 OB_DEF_VAR (s390_vec_perm_s16, s390_vperm, 0, 0, BT_OV_V8HI_V8HI_V8HI_UV16QI)
629 OB_DEF_VAR (s390_vec_perm_b16, s390_vperm, 0, 0, BT_OV_BV8HI_BV8HI_BV8HI_UV16QI)
630 OB_DEF_VAR (s390_vec_perm_u16, s390_vperm, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI_UV16QI)
631 OB_DEF_VAR (s390_vec_perm_s32, s390_vperm, 0, 0, BT_OV_V4SI_V4SI_V4SI_UV16QI)
632 OB_DEF_VAR (s390_vec_perm_b32, s390_vperm, 0, 0, BT_OV_BV4SI_BV4SI_BV4SI_UV16QI)
633 OB_DEF_VAR (s390_vec_perm_u32, s390_vperm, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI_UV16QI)
634 OB_DEF_VAR (s390_vec_perm_s64, s390_vperm, 0, 0, BT_OV_V2DI_V2DI_V2DI_UV16QI)
635 OB_DEF_VAR (s390_vec_perm_b64, s390_vperm, 0, 0, BT_OV_BV2DI_BV2DI_BV2DI_UV16QI)
636 OB_DEF_VAR (s390_vec_perm_u64, s390_vperm, 0, 0, BT_OV_UV2DI_UV2DI_UV2DI_UV16QI)
637 OB_DEF_VAR (s390_vec_perm_flt, s390_vperm, B_VXE, 0, BT_OV_V4SF_V4SF_V4SF_UV16QI)
638 OB_DEF_VAR (s390_vec_perm_dbl, s390_vperm, 0, 0, BT_OV_V2DF_V2DF_V2DF_UV16QI)
639
640 B_DEF (s390_vperm, vec_permv16qi, 0, B_VX, 0, BT_FN_UV16QI_UV16QI_UV16QI_UV16QI)
641
642 OB_DEF (s390_vec_permi, s390_vec_permi_s64, s390_vec_permi_dbl, B_VX, BT_FN_OV4SI_OV4SI_OV4SI_INT)
643 OB_DEF_VAR (s390_vec_permi_s64, s390_vpdi, 0, O3_U2, BT_OV_V2DI_V2DI_V2DI_INT)
644 OB_DEF_VAR (s390_vec_permi_b64, s390_vpdi, 0, O3_U2, BT_OV_BV2DI_BV2DI_BV2DI_INT)
645 OB_DEF_VAR (s390_vec_permi_u64, s390_vpdi, 0, O3_U2, BT_OV_UV2DI_UV2DI_UV2DI_INT)
646 OB_DEF_VAR (s390_vec_permi_dbl, s390_vpdi, 0, O3_U2, BT_OV_V2DF_V2DF_V2DF_INT)
647
648 B_DEF (s390_vpdi, vec_permiv2di, 0, B_VX, O3_U2, BT_FN_UV2DI_UV2DI_UV2DI_INT)
649
650 OB_DEF (s390_vec_splat, s390_vec_splat2_s8, s390_vec_splat2_dbl,B_VX, BT_FN_OV4SI_OV4SI_UCHAR)
651 OB_DEF_VAR (s390_vec_splat2_s8, s390_vrepb, 0, O2_U4, BT_OV_V16QI_V16QI_UCHAR)
652 OB_DEF_VAR (s390_vec_splat2_b8, s390_vrepb, 0, O2_U4, BT_OV_BV16QI_BV16QI_UCHAR)
653 OB_DEF_VAR (s390_vec_splat2_u8, s390_vrepb, 0, O2_U4, BT_OV_UV16QI_UV16QI_UCHAR)
654 OB_DEF_VAR (s390_vec_splat2_s16, s390_vreph, 0, O2_U3, BT_OV_V8HI_V8HI_UCHAR)
655 OB_DEF_VAR (s390_vec_splat2_b16, s390_vreph, 0, O2_U3, BT_OV_BV8HI_BV8HI_UCHAR)
656 OB_DEF_VAR (s390_vec_splat2_u16, s390_vreph, 0, O2_U3, BT_OV_UV8HI_UV8HI_UCHAR)
657 OB_DEF_VAR (s390_vec_splat2_s32, s390_vrepf, 0, O2_U2, BT_OV_V4SI_V4SI_UCHAR)
658 OB_DEF_VAR (s390_vec_splat2_b32, s390_vrepf, 0, O2_U2, BT_OV_BV4SI_BV4SI_UCHAR)
659 OB_DEF_VAR (s390_vec_splat2_u32, s390_vrepf, 0, O2_U2, BT_OV_UV4SI_UV4SI_UCHAR)
660 OB_DEF_VAR (s390_vec_splat2_s64, s390_vrepg, 0, O2_U1, BT_OV_V2DI_V2DI_UCHAR)
661 OB_DEF_VAR (s390_vec_splat2_b64, s390_vrepg, 0, O2_U1, BT_OV_BV2DI_BV2DI_UCHAR)
662 OB_DEF_VAR (s390_vec_splat2_u64, s390_vrepg, 0, O2_U1, BT_OV_UV2DI_UV2DI_UCHAR)
663 OB_DEF_VAR (s390_vec_splat2_flt, s390_vrepf_flt, B_VXE, O2_U2, BT_OV_V4SF_V4SF_UCHAR) /* vrepf */
664 OB_DEF_VAR (s390_vec_splat2_dbl, s390_vrepg_dbl, 0, O2_U1, BT_OV_V2DF_V2DF_UCHAR) /* vrepg */
665
666 B_DEF (s390_vrepb, vec_splatv16qi, 0, B_VX, O2_U4, BT_FN_UV16QI_UV16QI_UCHAR)
667 B_DEF (s390_vreph, vec_splatv8hi, 0, B_VX, O2_U3, BT_FN_UV8HI_UV8HI_UCHAR)
668 B_DEF (s390_vrepf, vec_splatv4si, 0, B_VX, O2_U2, BT_FN_UV4SI_UV4SI_UCHAR)
669 B_DEF (s390_vrepf_flt, vec_splatv4sf, 0, B_INT | B_VXE, O2_U2, BT_FN_V4SF_V4SF_UCHAR)
670 B_DEF (s390_vrepg, vec_splatv2di, 0, B_VX, O2_U1, BT_FN_UV2DI_UV2DI_UCHAR)
671 B_DEF (s390_vrepg_dbl, vec_splatv2df, 0, B_INT | B_VX, O2_U1, BT_FN_V2DF_V2DF_UCHAR)
672
673 OB_DEF (s390_vec_scatter_element, s390_vec_scatter_element_s32,s390_vec_scatter_element_dbl,B_VX,BT_FN_VOID_V4SI_V4SI_INTPTR_ULONGLONG)
674 OB_DEF_VAR (s390_vec_scatter_element_s32,s390_vscef, 0, O4_U2, BT_OV_VOID_V4SI_UV4SI_INTPTR_ULONGLONG)
675 OB_DEF_VAR (s390_vec_scatter_element_b32,s390_vscef, 0, O4_U2, BT_OV_VOID_BV4SI_UV4SI_UINTPTR_ULONGLONG)
676 OB_DEF_VAR (s390_vec_scatter_element_u32,s390_vscef, 0, O4_U2, BT_OV_VOID_UV4SI_UV4SI_UINTPTR_ULONGLONG)
677 OB_DEF_VAR (s390_vec_scatter_element_s64,s390_vsceg, 0, O4_U1, BT_OV_VOID_V2DI_UV2DI_LONGLONGPTR_ULONGLONG)
678 OB_DEF_VAR (s390_vec_scatter_element_b64,s390_vsceg, 0, O4_U1, BT_OV_VOID_BV2DI_UV2DI_ULONGLONGPTR_ULONGLONG)
679 OB_DEF_VAR (s390_vec_scatter_element_u64,s390_vsceg, 0, O4_U1, BT_OV_VOID_UV2DI_UV2DI_ULONGLONGPTR_ULONGLONG)
680 OB_DEF_VAR (s390_vec_scatter_element_flt,s390_vscef, B_VXE, O4_U2, BT_OV_VOID_V4SF_V4SF_FLTPTR_ULONGLONG)
681 OB_DEF_VAR (s390_vec_scatter_element_dbl,s390_vsceg, 0, O4_U1, BT_OV_VOID_V2DF_UV2DI_DBLPTR_ULONGLONG)
682
683 B_DEF (s390_vscef, vec_scatter_elementv4si,0, B_VX, O4_U2, BT_FN_VOID_UV4SI_UV4SI_UINTPTR_ULONGLONG)
684 B_DEF (s390_vsceg, vec_scatter_elementv2di,0, B_VX, O4_U1, BT_FN_VOID_UV2DI_UV2DI_ULONGLONGPTR_ULONGLONG)
685
686 /* First two operands are swapped in s390-c.c */
687 OB_DEF (s390_vec_sel, s390_vec_sel_b8_a, s390_vec_sel_dbl_b, B_VX, BT_FN_OV4SI_OV4SI_OV4SI_OV4SI)
688 OB_DEF_VAR (s390_vec_sel_b8_a, s390_vsel, 0, 0, BT_OV_BV16QI_BV16QI_BV16QI_UV16QI)
689 OB_DEF_VAR (s390_vec_sel_b8_b, s390_vsel, 0, 0, BT_OV_BV16QI_BV16QI_BV16QI_BV16QI)
690 OB_DEF_VAR (s390_vec_sel_s8_a, s390_vsel, 0, 0, BT_OV_V16QI_V16QI_V16QI_UV16QI)
691 OB_DEF_VAR (s390_vec_sel_s8_b, s390_vsel, 0, 0, BT_OV_V16QI_V16QI_V16QI_BV16QI)
692 OB_DEF_VAR (s390_vec_sel_u8_a, s390_vsel, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI_UV16QI)
693 OB_DEF_VAR (s390_vec_sel_u8_b, s390_vsel, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI_BV16QI)
694 OB_DEF_VAR (s390_vec_sel_b16_a, s390_vsel, 0, 0, BT_OV_BV8HI_BV8HI_BV8HI_UV8HI)
695 OB_DEF_VAR (s390_vec_sel_b16_b, s390_vsel, 0, 0, BT_OV_BV8HI_BV8HI_BV8HI_BV8HI)
696 OB_DEF_VAR (s390_vec_sel_s16_a, s390_vsel, 0, 0, BT_OV_V8HI_V8HI_V8HI_UV8HI)
697 OB_DEF_VAR (s390_vec_sel_s16_b, s390_vsel, 0, 0, BT_OV_V8HI_V8HI_V8HI_BV8HI)
698 OB_DEF_VAR (s390_vec_sel_u16_a, s390_vsel, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI_UV8HI)
699 OB_DEF_VAR (s390_vec_sel_u16_b, s390_vsel, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI_BV8HI)
700 OB_DEF_VAR (s390_vec_sel_b32_a, s390_vsel, 0, 0, BT_OV_BV4SI_BV4SI_BV4SI_UV4SI)
701 OB_DEF_VAR (s390_vec_sel_b32_b, s390_vsel, 0, 0, BT_OV_BV4SI_BV4SI_BV4SI_BV4SI)
702 OB_DEF_VAR (s390_vec_sel_s32_a, s390_vsel, 0, 0, BT_OV_V4SI_V4SI_V4SI_UV4SI)
703 OB_DEF_VAR (s390_vec_sel_s32_b, s390_vsel, 0, 0, BT_OV_V4SI_V4SI_V4SI_BV4SI)
704 OB_DEF_VAR (s390_vec_sel_u32_a, s390_vsel, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI_UV4SI)
705 OB_DEF_VAR (s390_vec_sel_u32_b, s390_vsel, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI_BV4SI)
706 OB_DEF_VAR (s390_vec_sel_b64_a, s390_vsel, 0, 0, BT_OV_BV2DI_BV2DI_BV2DI_UV2DI)
707 OB_DEF_VAR (s390_vec_sel_b64_b, s390_vsel, 0, 0, BT_OV_BV2DI_BV2DI_BV2DI_BV2DI)
708 OB_DEF_VAR (s390_vec_sel_s64_a, s390_vsel, 0, 0, BT_OV_V2DI_V2DI_V2DI_UV2DI)
709 OB_DEF_VAR (s390_vec_sel_s64_b, s390_vsel, 0, 0, BT_OV_V2DI_V2DI_V2DI_BV2DI)
710 OB_DEF_VAR (s390_vec_sel_u64_a, s390_vsel, 0, 0, BT_OV_UV2DI_UV2DI_UV2DI_UV2DI)
711 OB_DEF_VAR (s390_vec_sel_u64_b, s390_vsel, 0, 0, BT_OV_UV2DI_UV2DI_UV2DI_BV2DI)
712 OB_DEF_VAR (s390_vec_sel_flt_a, s390_vsel, B_VXE, 0, BT_OV_V4SF_V4SF_V4SF_UV4SI)
713 OB_DEF_VAR (s390_vec_sel_flt_b, s390_vsel, B_VXE, 0, BT_OV_V4SF_V4SF_V4SF_BV4SI)
714 OB_DEF_VAR (s390_vec_sel_dbl_a, s390_vsel, 0, 0, BT_OV_V2DF_V2DF_V2DF_UV2DI)
715 OB_DEF_VAR (s390_vec_sel_dbl_b, s390_vsel, 0, 0, BT_OV_V2DF_V2DF_V2DF_BV2DI)
716
717 B_DEF (s390_vsel, vec_selv16qi, 0, B_VX, 0, BT_FN_UV16QI_UV16QI_UV16QI_UV16QI)
718
719 OB_DEF (s390_vec_extend_s64, s390_vec_extend_s64_s8,s390_vec_extend_s64_s32,B_VX, BT_FN_OV4SI_OV4SI)
720 OB_DEF_VAR (s390_vec_extend_s64_s8, s390_vsegb, 0, 0, BT_OV_V2DI_V16QI)
721 OB_DEF_VAR (s390_vec_extend_s64_s16, s390_vsegh, 0, 0, BT_OV_V2DI_V8HI)
722 OB_DEF_VAR (s390_vec_extend_s64_s32, s390_vsegf, 0, 0, BT_OV_V2DI_V4SI)
723
724 B_DEF (s390_vsegb, vec_extendv16qi, 0, B_VX, 0, BT_FN_V2DI_V16QI)
725 B_DEF (s390_vsegh, vec_extendv8hi, 0, B_VX, 0, BT_FN_V2DI_V8HI)
726 B_DEF (s390_vsegf, vec_extendv4si, 0, B_VX, 0, BT_FN_V2DI_V4SI)
727
728 OB_DEF (s390_vec_xst, s390_vec_xst_s8, s390_vec_xst_dbl, B_VX, BT_FN_VOID_OV4SI_INT_VOIDPTR)
729 OB_DEF_VAR (s390_vec_xst_s8, MAX, 0, O2_LIT, BT_OV_VOID_V16QI_LONG_SCHARPTR) /* vst */
730 OB_DEF_VAR (s390_vec_xst_u8, MAX, 0, O2_LIT, BT_OV_VOID_UV16QI_LONG_UCHARPTR) /* vst */
731 OB_DEF_VAR (s390_vec_xst_s16, MAX, 0, O2_LIT, BT_OV_VOID_V8HI_LONG_SHORTPTR) /* vst */
732 OB_DEF_VAR (s390_vec_xst_u16, MAX, 0, O2_LIT, BT_OV_VOID_UV8HI_LONG_USHORTPTR) /* vst */
733 OB_DEF_VAR (s390_vec_xst_s32, MAX, 0, O2_LIT, BT_OV_VOID_V4SI_LONG_INTPTR) /* vst */
734 OB_DEF_VAR (s390_vec_xst_u32, MAX, 0, O2_LIT, BT_OV_VOID_UV4SI_LONG_UINTPTR) /* vst */
735 OB_DEF_VAR (s390_vec_xst_s64, MAX, 0, O2_LIT, BT_OV_VOID_V2DI_LONG_LONGLONGPTR) /* vst */
736 OB_DEF_VAR (s390_vec_xst_u64, MAX, 0, O2_LIT, BT_OV_VOID_UV2DI_LONG_ULONGLONGPTR) /* vst */
737 OB_DEF_VAR (s390_vec_xst_flt, MAX, 0, O2_LIT, BT_OV_VOID_V4SF_LONG_FLTPTR) /* vst */
738 OB_DEF_VAR (s390_vec_xst_dbl, MAX, 0, O2_LIT, BT_OV_VOID_V2DF_LONG_DBLPTR) /* vst */
739
740 OB_DEF (s390_vec_xstd2, s390_vec_xstd2_s8, s390_vec_xstd2_dbl, B_DEP | B_VX, BT_FN_VOID_OV4SI_INT_VOIDPTR)
741 OB_DEF_VAR (s390_vec_xstd2_s8, MAX, 0, O2_LIT, BT_OV_VOID_V16QI_LONG_SCHARPTR) /* vst */
742 OB_DEF_VAR (s390_vec_xstd2_u8, MAX, 0, O2_LIT, BT_OV_VOID_UV16QI_LONG_UCHARPTR) /* vst */
743 OB_DEF_VAR (s390_vec_xstd2_s16, MAX, 0, O2_LIT, BT_OV_VOID_V8HI_LONG_SHORTPTR) /* vst */
744 OB_DEF_VAR (s390_vec_xstd2_u16, MAX, 0, O2_LIT, BT_OV_VOID_UV8HI_LONG_USHORTPTR) /* vst */
745 OB_DEF_VAR (s390_vec_xstd2_s32, MAX, 0, O2_LIT, BT_OV_VOID_V4SI_LONG_INTPTR) /* vst */
746 OB_DEF_VAR (s390_vec_xstd2_u32, MAX, 0, O2_LIT, BT_OV_VOID_UV4SI_LONG_UINTPTR) /* vst */
747 OB_DEF_VAR (s390_vec_xstd2_s64, MAX, 0, O2_LIT, BT_OV_VOID_V2DI_LONG_LONGLONGPTR) /* vst */
748 OB_DEF_VAR (s390_vec_xstd2_u64, MAX, 0, O2_LIT, BT_OV_VOID_UV2DI_LONG_ULONGLONGPTR) /* vst */
749 OB_DEF_VAR (s390_vec_xstd2_dbl, MAX, 0, O2_LIT, BT_OV_VOID_V2DF_LONG_DBLPTR) /* vst */
750
751 OB_DEF (s390_vec_xstw4, s390_vec_xstw4_s8, s390_vec_xstw4_flt, B_DEP | B_VX, BT_FN_VOID_OV4SI_INT_VOIDPTR)
752 OB_DEF_VAR (s390_vec_xstw4_s8, MAX, 0, O2_LIT, BT_OV_VOID_V16QI_LONG_SCHARPTR) /* vst */
753 OB_DEF_VAR (s390_vec_xstw4_u8, MAX, 0, O2_LIT, BT_OV_VOID_UV16QI_LONG_UCHARPTR) /* vst */
754 OB_DEF_VAR (s390_vec_xstw4_s16, MAX, 0, O2_LIT, BT_OV_VOID_V8HI_LONG_SHORTPTR) /* vst */
755 OB_DEF_VAR (s390_vec_xstw4_u16, MAX, 0, O2_LIT, BT_OV_VOID_UV8HI_LONG_USHORTPTR) /* vst */
756 OB_DEF_VAR (s390_vec_xstw4_s32, MAX, 0, O2_LIT, BT_OV_VOID_V4SI_LONG_INTPTR) /* vst */
757 OB_DEF_VAR (s390_vec_xstw4_u32, MAX, 0, O2_LIT, BT_OV_VOID_UV4SI_LONG_UINTPTR) /* vst */
758 OB_DEF_VAR (s390_vec_xstw4_flt, MAX, B_VXE, O2_LIT, BT_OV_VOID_V4SF_LONG_FLTPTR) /* vst */
759
760 OB_DEF (s390_vec_store_len, s390_vec_store_len_s8,s390_vec_store_len_dbl,B_VX, BT_FN_VOID_OV4SI_VOIDPTR_UINT)
761 OB_DEF_VAR (s390_vec_store_len_s8, s390_vstl, 0, 0, BT_OV_VOID_V16QI_SCHARPTR_UINT)
762 OB_DEF_VAR (s390_vec_store_len_u8, s390_vstl, 0, 0, BT_OV_VOID_UV16QI_UCHARPTR_UINT)
763 OB_DEF_VAR (s390_vec_store_len_s16, s390_vstl, 0, 0, BT_OV_VOID_V8HI_SHORTPTR_UINT)
764 OB_DEF_VAR (s390_vec_store_len_u16, s390_vstl, 0, 0, BT_OV_VOID_UV8HI_USHORTPTR_UINT)
765 OB_DEF_VAR (s390_vec_store_len_s32, s390_vstl, 0, 0, BT_OV_VOID_V4SI_INTPTR_UINT)
766 OB_DEF_VAR (s390_vec_store_len_u32, s390_vstl, 0, 0, BT_OV_VOID_UV4SI_UINTPTR_UINT)
767 OB_DEF_VAR (s390_vec_store_len_s64, s390_vstl, 0, 0, BT_OV_VOID_V2DI_LONGLONGPTR_UINT)
768 OB_DEF_VAR (s390_vec_store_len_u64, s390_vstl, 0, 0, BT_OV_VOID_UV2DI_ULONGLONGPTR_UINT)
769 OB_DEF_VAR (s390_vec_store_len_flt, s390_vstl, B_VXE, 0, BT_OV_VOID_V4SF_FLTPTR_UINT)
770 OB_DEF_VAR (s390_vec_store_len_dbl, s390_vstl, 0, 0, BT_OV_VOID_V2DF_DBLPTR_UINT)
771
772 B_DEF (s390_vstl, vstlv16qi, 0, B_VX, 0, BT_FN_VOID_V16QI_UINT_VOIDPTR)
773 B_DEF (s390_vstrlr, vstrlrv16qi, 0, B_VXE, 0, BT_FN_VOID_V16QI_UINT_VOIDPTR)
774
775 B_DEF (s390_vec_bperm_u128, vbpermv16qi, 0, B_VXE, 0, BT_FN_UV2DI_UV16QI_UV16QI) /* vbperm */
776 B_DEF (s390_vbperm, vbpermv16qi, 0, B_VXE, 0, BT_FN_UV2DI_UV16QI_UV16QI)
777
778 OB_DEF (s390_vec_unpackh, s390_vec_unpackh_s8,s390_vec_unpackh_u32,B_VX, BT_FN_OV4SI_OV4SI)
779 OB_DEF_VAR (s390_vec_unpackh_s8, s390_vuphb, 0, 0, BT_OV_V8HI_V16QI)
780 OB_DEF_VAR (s390_vec_unpackh_b8, s390_vuphb, 0, 0, BT_OV_BV8HI_BV16QI)
781 OB_DEF_VAR (s390_vec_unpackh_u8, s390_vuplhb, 0, 0, BT_OV_UV8HI_UV16QI)
782 OB_DEF_VAR (s390_vec_unpackh_s16, s390_vuphh, 0, 0, BT_OV_V4SI_V8HI)
783 OB_DEF_VAR (s390_vec_unpackh_b16, s390_vuphh, 0, 0, BT_OV_BV4SI_BV8HI)
784 OB_DEF_VAR (s390_vec_unpackh_u16, s390_vuplhh, 0, 0, BT_OV_UV4SI_UV8HI)
785 OB_DEF_VAR (s390_vec_unpackh_s32, s390_vuphf, 0, 0, BT_OV_V2DI_V4SI)
786 OB_DEF_VAR (s390_vec_unpackh_b32, s390_vuphf, 0, 0, BT_OV_BV2DI_BV4SI)
787 OB_DEF_VAR (s390_vec_unpackh_u32, s390_vuplhf, 0, 0, BT_OV_UV2DI_UV4SI)
788
789 B_DEF (s390_vuphb, vec_unpackhv16qi, 0, B_VX, 0, BT_FN_V8HI_V16QI)
790 B_DEF (s390_vuplhb, vec_unpackh_lv16qi, 0, B_VX, 0, BT_FN_UV8HI_UV16QI)
791 B_DEF (s390_vuphh, vec_unpackhv8hi, 0, B_VX, 0, BT_FN_V4SI_V8HI)
792 B_DEF (s390_vuplhh, vec_unpackh_lv8hi, 0, B_VX, 0, BT_FN_UV4SI_UV8HI)
793 B_DEF (s390_vuphf, vec_unpackhv4si, 0, B_VX, 0, BT_FN_V2DI_V4SI)
794 B_DEF (s390_vuplhf, vec_unpackh_lv4si, 0, B_VX, 0, BT_FN_UV2DI_UV4SI)
795
796 OB_DEF (s390_vec_unpackl, s390_vec_unpackl_s8,s390_vec_unpackl_u32,B_VX, BT_FN_OV4SI_OV4SI)
797 OB_DEF_VAR (s390_vec_unpackl_s8, s390_vuplb, 0, 0, BT_OV_V8HI_V16QI)
798 OB_DEF_VAR (s390_vec_unpackl_b8, s390_vuplb, 0, 0, BT_OV_BV8HI_BV16QI)
799 OB_DEF_VAR (s390_vec_unpackl_u8, s390_vupllb, 0, 0, BT_OV_UV8HI_UV16QI)
800 OB_DEF_VAR (s390_vec_unpackl_s16, s390_vuplhw, 0, 0, BT_OV_V4SI_V8HI)
801 OB_DEF_VAR (s390_vec_unpackl_b16, s390_vupllh, 0, 0, BT_OV_BV4SI_BV8HI)
802 OB_DEF_VAR (s390_vec_unpackl_u16, s390_vupllh, 0, 0, BT_OV_UV4SI_UV8HI)
803 OB_DEF_VAR (s390_vec_unpackl_s32, s390_vuplf, 0, 0, BT_OV_V2DI_V4SI)
804 OB_DEF_VAR (s390_vec_unpackl_b32, s390_vuplf, 0, 0, BT_OV_BV2DI_BV4SI)
805 OB_DEF_VAR (s390_vec_unpackl_u32, s390_vupllf, 0, 0, BT_OV_UV2DI_UV4SI)
806
807 B_DEF (s390_vuplb, vec_unpacklv16qi, 0, B_VX, 0, BT_FN_V8HI_V16QI)
808 B_DEF (s390_vupllb, vec_unpackl_lv16qi, 0, B_VX, 0, BT_FN_UV8HI_UV16QI)
809 B_DEF (s390_vuplhw, vec_unpacklv8hi, 0, B_VX, 0, BT_FN_V4SI_V8HI)
810 B_DEF (s390_vupllh, vec_unpackl_lv8hi, 0, B_VX, 0, BT_FN_UV4SI_UV8HI)
811 B_DEF (s390_vuplf, vec_unpacklv4si, 0, B_VX, 0, BT_FN_V2DI_V4SI)
812 B_DEF (s390_vupllf, vec_unpackl_lv4si, 0, B_VX, 0, BT_FN_UV2DI_UV4SI)
813
814 OB_DEF (s390_vec_addc, s390_vec_addc_u8, s390_vec_addc_u64, B_VX, BT_FN_OV4SI_OV4SI_OV4SI)
815 OB_DEF_VAR (s390_vec_addc_u8, s390_vaccb, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI)
816 OB_DEF_VAR (s390_vec_addc_u16, s390_vacch, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI)
817 OB_DEF_VAR (s390_vec_addc_u32, s390_vaccf, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI)
818 OB_DEF_VAR (s390_vec_addc_u64, s390_vaccg, 0, 0, BT_OV_UV2DI_UV2DI_UV2DI)
819
820 B_DEF (s390_vaccb, vaccb_v16qi, 0, B_VX, 0, BT_FN_UV16QI_UV16QI_UV16QI)
821 B_DEF (s390_vacch, vacch_v8hi, 0, B_VX, 0, BT_FN_UV8HI_UV8HI_UV8HI)
822 B_DEF (s390_vaccf, vaccf_v4si, 0, B_VX, 0, BT_FN_UV4SI_UV4SI_UV4SI)
823 B_DEF (s390_vaccg, vaccg_v2di, 0, B_VX, 0, BT_FN_UV2DI_UV2DI_UV2DI)
824
825 B_DEF (s390_vec_add_u128, addti3, 0, B_VX, 0, BT_FN_UV16QI_UV16QI_UV16QI)
826 B_DEF (s390_vec_addc_u128, vaccq_ti, 0, B_VX, 0, BT_FN_UV16QI_UV16QI_UV16QI)
827 B_DEF (s390_vec_adde_u128, vacq, 0, B_VX, 0, BT_FN_UV16QI_UV16QI_UV16QI_UV16QI)
828 B_DEF (s390_vec_addec_u128, vacccq, 0, B_VX, 0, BT_FN_UV16QI_UV16QI_UV16QI_UV16QI)
829
830 B_DEF (s390_vaq, addti3, 0, B_VX, 0, BT_FN_INT128_INT128_INT128)
831 B_DEF (s390_vaccq, vaccq_ti, 0, B_VX, 0, BT_FN_INT128_INT128_INT128)
832 B_DEF (s390_vacq, vacq, 0, B_VX, 0, BT_FN_INT128_INT128_INT128_INT128)
833 B_DEF (s390_vacccq, vacccq, 0, B_VX, 0, BT_FN_INT128_INT128_INT128_INT128)
834
835 OB_DEF (s390_vec_and, s390_vec_and_b8, s390_vec_and_dbl_c, B_VX, BT_FN_OV4SI_OV4SI_OV4SI)
836 OB_DEF_VAR (s390_vec_and_b8, s390_vn, 0, 0, BT_OV_BV16QI_BV16QI_BV16QI)
837 OB_DEF_VAR (s390_vec_and_s8_a, s390_vn, B_DEP, 0, BT_OV_V16QI_BV16QI_V16QI)
838 OB_DEF_VAR (s390_vec_and_s8_b, s390_vn, 0, 0, BT_OV_V16QI_V16QI_V16QI)
839 OB_DEF_VAR (s390_vec_and_s8_c, s390_vn, B_DEP, 0, BT_OV_V16QI_V16QI_BV16QI)
840 OB_DEF_VAR (s390_vec_and_u8_a, s390_vn, B_DEP, 0, BT_OV_UV16QI_BV16QI_UV16QI)
841 OB_DEF_VAR (s390_vec_and_u8_b, s390_vn, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI)
842 OB_DEF_VAR (s390_vec_and_u8_c, s390_vn, B_DEP, 0, BT_OV_UV16QI_UV16QI_BV16QI)
843 OB_DEF_VAR (s390_vec_and_b16, s390_vn, 0, 0, BT_OV_BV8HI_BV8HI_BV8HI)
844 OB_DEF_VAR (s390_vec_and_s16_a, s390_vn, B_DEP, 0, BT_OV_V8HI_BV8HI_V8HI)
845 OB_DEF_VAR (s390_vec_and_s16_b, s390_vn, 0, 0, BT_OV_V8HI_V8HI_V8HI)
846 OB_DEF_VAR (s390_vec_and_s16_c, s390_vn, B_DEP, 0, BT_OV_V8HI_V8HI_BV8HI)
847 OB_DEF_VAR (s390_vec_and_u16_a, s390_vn, B_DEP, 0, BT_OV_UV8HI_BV8HI_UV8HI)
848 OB_DEF_VAR (s390_vec_and_u16_b, s390_vn, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI)
849 OB_DEF_VAR (s390_vec_and_u16_c, s390_vn, B_DEP, 0, BT_OV_UV8HI_UV8HI_BV8HI)
850 OB_DEF_VAR (s390_vec_and_b32, s390_vn, 0, 0, BT_OV_BV4SI_BV4SI_BV4SI)
851 OB_DEF_VAR (s390_vec_and_s32_a, s390_vn, B_DEP, 0, BT_OV_V4SI_BV4SI_V4SI)
852 OB_DEF_VAR (s390_vec_and_s32_b, s390_vn, 0, 0, BT_OV_V4SI_V4SI_V4SI)
853 OB_DEF_VAR (s390_vec_and_s32_c, s390_vn, B_DEP, 0, BT_OV_V4SI_V4SI_BV4SI)
854 OB_DEF_VAR (s390_vec_and_u32_a, s390_vn, B_DEP, 0, BT_OV_UV4SI_BV4SI_UV4SI)
855 OB_DEF_VAR (s390_vec_and_u32_b, s390_vn, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI)
856 OB_DEF_VAR (s390_vec_and_u32_c, s390_vn, B_DEP, 0, BT_OV_UV4SI_UV4SI_BV4SI)
857 OB_DEF_VAR (s390_vec_and_b64, s390_vn, 0, 0, BT_OV_BV2DI_BV2DI_BV2DI)
858 OB_DEF_VAR (s390_vec_and_s64_a, s390_vn, B_DEP, 0, BT_OV_V2DI_BV2DI_V2DI)
859 OB_DEF_VAR (s390_vec_and_s64_b, s390_vn, 0, 0, BT_OV_V2DI_V2DI_V2DI)
860 OB_DEF_VAR (s390_vec_and_s64_c, s390_vn, B_DEP, 0, BT_OV_V2DI_V2DI_BV2DI)
861 OB_DEF_VAR (s390_vec_and_u64_a, s390_vn, B_DEP, 0, BT_OV_UV2DI_BV2DI_UV2DI)
862 OB_DEF_VAR (s390_vec_and_u64_b, s390_vn, 0, 0, BT_OV_UV2DI_UV2DI_UV2DI)
863 OB_DEF_VAR (s390_vec_and_u64_c, s390_vn, B_DEP, 0, BT_OV_UV2DI_UV2DI_BV2DI)
864 OB_DEF_VAR (s390_vec_and_flt_a, s390_vn, B_VXE | B_DEP, 0, BT_OV_V4SF_BV4SI_V4SF)
865 OB_DEF_VAR (s390_vec_and_flt_b, s390_vn, B_VXE, 0, BT_OV_V4SF_V4SF_V4SF)
866 OB_DEF_VAR (s390_vec_and_flt_c, s390_vn, B_VXE | B_DEP, 0, BT_OV_V4SF_V4SF_BV4SI)
867 OB_DEF_VAR (s390_vec_and_dbl_a, s390_vn, B_DEP, 0, BT_OV_V2DF_BV2DI_V2DF)
868 OB_DEF_VAR (s390_vec_and_dbl_b, s390_vn, 0, 0, BT_OV_V2DF_V2DF_V2DF)
869 OB_DEF_VAR (s390_vec_and_dbl_c, s390_vn, B_DEP, 0, BT_OV_V2DF_V2DF_BV2DI)
870
871 B_DEF (s390_vn, andv16qi3, 0, B_VX, 0, BT_FN_UV16QI_UV16QI_UV16QI)
872
873 OB_DEF (s390_vec_andc, s390_vec_andc_b8, s390_vec_andc_dbl_c,B_VX, BT_FN_OV4SI_OV4SI_OV4SI)
874 OB_DEF_VAR (s390_vec_andc_b8, s390_vnc, 0, 0, BT_OV_BV16QI_BV16QI_BV16QI)
875 OB_DEF_VAR (s390_vec_andc_s8_a, s390_vnc, B_DEP, 0, BT_OV_V16QI_BV16QI_V16QI)
876 OB_DEF_VAR (s390_vec_andc_s8_b, s390_vnc, 0, 0, BT_OV_V16QI_V16QI_V16QI)
877 OB_DEF_VAR (s390_vec_andc_s8_c, s390_vnc, B_DEP, 0, BT_OV_V16QI_V16QI_BV16QI)
878 OB_DEF_VAR (s390_vec_andc_u8_a, s390_vnc, B_DEP, 0, BT_OV_UV16QI_BV16QI_UV16QI)
879 OB_DEF_VAR (s390_vec_andc_u8_b, s390_vnc, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI)
880 OB_DEF_VAR (s390_vec_andc_u8_c, s390_vnc, B_DEP, 0, BT_OV_UV16QI_UV16QI_BV16QI)
881 OB_DEF_VAR (s390_vec_andc_b16, s390_vnc, 0, 0, BT_OV_BV8HI_BV8HI_BV8HI)
882 OB_DEF_VAR (s390_vec_andc_s16_a, s390_vnc, B_DEP, 0, BT_OV_V8HI_BV8HI_V8HI)
883 OB_DEF_VAR (s390_vec_andc_s16_b, s390_vnc, 0, 0, BT_OV_V8HI_V8HI_V8HI)
884 OB_DEF_VAR (s390_vec_andc_s16_c, s390_vnc, B_DEP, 0, BT_OV_V8HI_V8HI_BV8HI)
885 OB_DEF_VAR (s390_vec_andc_u16_a, s390_vnc, B_DEP, 0, BT_OV_UV8HI_BV8HI_UV8HI)
886 OB_DEF_VAR (s390_vec_andc_u16_b, s390_vnc, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI)
887 OB_DEF_VAR (s390_vec_andc_u16_c, s390_vnc, B_DEP, 0, BT_OV_UV8HI_UV8HI_BV8HI)
888 OB_DEF_VAR (s390_vec_andc_b32, s390_vnc, 0, 0, BT_OV_BV4SI_BV4SI_BV4SI)
889 OB_DEF_VAR (s390_vec_andc_s32_a, s390_vnc, B_DEP, 0, BT_OV_V4SI_BV4SI_V4SI)
890 OB_DEF_VAR (s390_vec_andc_s32_b, s390_vnc, 0, 0, BT_OV_V4SI_V4SI_V4SI)
891 OB_DEF_VAR (s390_vec_andc_s32_c, s390_vnc, B_DEP, 0, BT_OV_V4SI_V4SI_BV4SI)
892 OB_DEF_VAR (s390_vec_andc_u32_a, s390_vnc, B_DEP, 0, BT_OV_UV4SI_BV4SI_UV4SI)
893 OB_DEF_VAR (s390_vec_andc_u32_b, s390_vnc, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI)
894 OB_DEF_VAR (s390_vec_andc_u32_c, s390_vnc, B_DEP, 0, BT_OV_UV4SI_UV4SI_BV4SI)
895 OB_DEF_VAR (s390_vec_andc_b64, s390_vnc, 0, 0, BT_OV_BV2DI_BV2DI_BV2DI)
896 OB_DEF_VAR (s390_vec_andc_s64_a, s390_vnc, B_DEP, 0, BT_OV_V2DI_BV2DI_V2DI)
897 OB_DEF_VAR (s390_vec_andc_s64_b, s390_vnc, 0, 0, BT_OV_V2DI_V2DI_V2DI)
898 OB_DEF_VAR (s390_vec_andc_s64_c, s390_vnc, B_DEP, 0, BT_OV_V2DI_V2DI_BV2DI)
899 OB_DEF_VAR (s390_vec_andc_u64_a, s390_vnc, B_DEP, 0, BT_OV_UV2DI_BV2DI_UV2DI)
900 OB_DEF_VAR (s390_vec_andc_u64_b, s390_vnc, 0, 0, BT_OV_UV2DI_UV2DI_UV2DI)
901 OB_DEF_VAR (s390_vec_andc_u64_c, s390_vnc, B_DEP, 0, BT_OV_UV2DI_UV2DI_BV2DI)
902 OB_DEF_VAR (s390_vec_andc_flt_a, s390_vnc, B_VXE | B_DEP, 0, BT_OV_V4SF_BV4SI_V4SF)
903 OB_DEF_VAR (s390_vec_andc_flt_b, s390_vnc, B_VXE, 0, BT_OV_V4SF_V4SF_V4SF)
904 OB_DEF_VAR (s390_vec_andc_flt_c, s390_vnc, B_VXE | B_DEP, 0, BT_OV_V4SF_V4SF_BV4SI)
905 OB_DEF_VAR (s390_vec_andc_dbl_a, s390_vnc, B_DEP, 0, BT_OV_V2DF_BV2DI_V2DF)
906 OB_DEF_VAR (s390_vec_andc_dbl_b, s390_vnc, 0, 0, BT_OV_V2DF_V2DF_V2DF)
907 OB_DEF_VAR (s390_vec_andc_dbl_c, s390_vnc, B_DEP, 0, BT_OV_V2DF_V2DF_BV2DI)
908
909 B_DEF (s390_vnc, vec_andcv16qi3, 0, B_VX, 0, BT_FN_UV16QI_UV16QI_UV16QI)
910
911 OB_DEF (s390_vec_avg, s390_vec_avg_s8, s390_vec_avg_u64, B_VX, BT_FN_OV4SI_OV4SI_OV4SI)
912 OB_DEF_VAR (s390_vec_avg_s8, s390_vavgb, 0, 0, BT_OV_V16QI_V16QI_V16QI)
913 OB_DEF_VAR (s390_vec_avg_u8, s390_vavglb, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI)
914 OB_DEF_VAR (s390_vec_avg_s16, s390_vavgh, 0, 0, BT_OV_V8HI_V8HI_V8HI)
915 OB_DEF_VAR (s390_vec_avg_u16, s390_vavglh, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI)
916 OB_DEF_VAR (s390_vec_avg_s32, s390_vavgf, 0, 0, BT_OV_V4SI_V4SI_V4SI)
917 OB_DEF_VAR (s390_vec_avg_u32, s390_vavglf, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI)
918 OB_DEF_VAR (s390_vec_avg_s64, s390_vavgg, 0, 0, BT_OV_V2DI_V2DI_V2DI)
919 OB_DEF_VAR (s390_vec_avg_u64, s390_vavglg, 0, 0, BT_OV_UV2DI_UV2DI_UV2DI)
920
921 B_DEF (s390_vavgb, vec_avgv16qi, 0, B_VX, 0, BT_FN_V16QI_V16QI_V16QI)
922 B_DEF (s390_vavglb, vec_avguv16qi, 0, B_VX, 0, BT_FN_UV16QI_UV16QI_UV16QI)
923 B_DEF (s390_vavgh, vec_avgv8hi, 0, B_VX, 0, BT_FN_V8HI_V8HI_V8HI)
924 B_DEF (s390_vavglh, vec_avguv8hi, 0, B_VX, 0, BT_FN_UV8HI_UV8HI_UV8HI)
925 B_DEF (s390_vavgf, vec_avgv4si, 0, B_VX, 0, BT_FN_V4SI_V4SI_V4SI)
926 B_DEF (s390_vavglf, vec_avguv4si, 0, B_VX, 0, BT_FN_UV4SI_UV4SI_UV4SI)
927 B_DEF (s390_vavgg, vec_avgv2di, 0, B_VX, 0, BT_FN_V2DI_V2DI_V2DI)
928 B_DEF (s390_vavglg, vec_avguv2di, 0, B_VX, 0, BT_FN_UV2DI_UV2DI_UV2DI)
929
930 B_DEF (s390_vcksm, vec_checksum, 0, B_VX, 0, BT_FN_UV4SI_UV4SI_UV4SI)
931
932 B_DEF (s390_vceqbs, vec_cmpeqv16qi_cc, 0, B_VX, 0, BT_FN_V16QI_UV16QI_UV16QI_INTPTR)
933 B_DEF (s390_vceqhs, vec_cmpeqv8hi_cc, 0, B_VX, 0, BT_FN_V8HI_UV8HI_UV8HI_INTPTR)
934 B_DEF (s390_vceqfs, vec_cmpeqv4si_cc, 0, B_VX, 0, BT_FN_V4SI_UV4SI_UV4SI_INTPTR)
935 B_DEF (s390_vceqgs, vec_cmpeqv2di_cc, 0, B_VX, 0, BT_FN_V2DI_UV2DI_UV2DI_INTPTR)
936 B_DEF (s390_vfcesbs, vec_cmpeqv4sf_cc, 0, B_VXE, 0, BT_FN_V4SI_V4SF_V4SF_INTPTR)
937 B_DEF (s390_vfcedbs, vec_cmpeqv2df_cc, 0, B_VX, 0, BT_FN_V2DI_V2DF_V2DF_INTPTR)
938
939 B_DEF (s390_vchbs, vec_cmphv16qi_cc, 0, B_VX, 0, BT_FN_V16QI_V16QI_V16QI_INTPTR)
940 B_DEF (s390_vchlbs, vec_cmphlv16qi_cc, 0, B_VX, 0, BT_FN_V16QI_UV16QI_UV16QI_INTPTR)
941 B_DEF (s390_vchhs, vec_cmphv8hi_cc, 0, B_VX, 0, BT_FN_V8HI_V8HI_V8HI_INTPTR)
942 B_DEF (s390_vchlhs, vec_cmphlv8hi_cc, 0, B_VX, 0, BT_FN_V8HI_UV8HI_UV8HI_INTPTR)
943 B_DEF (s390_vchfs, vec_cmphv4si_cc, 0, B_VX, 0, BT_FN_V4SI_V4SI_V4SI_INTPTR)
944 B_DEF (s390_vchlfs, vec_cmphlv4si_cc, 0, B_VX, 0, BT_FN_V4SI_UV4SI_UV4SI_INTPTR)
945 B_DEF (s390_vchgs, vec_cmphv2di_cc, 0, B_VX, 0, BT_FN_V2DI_V2DI_V2DI_INTPTR)
946 B_DEF (s390_vchlgs, vec_cmphlv2di_cc, 0, B_VX, 0, BT_FN_V2DI_UV2DI_UV2DI_INTPTR)
947 B_DEF (s390_vfchsbs, vec_cmphv4sf_cc, 0, B_VXE, 0, BT_FN_V4SI_V4SF_V4SF_INTPTR)
948 B_DEF (s390_vfchdbs, vec_cmphv2df_cc, 0, B_VX, 0, BT_FN_V2DI_V2DF_V2DF_INTPTR)
949
950 B_DEF (s390_vfchesbs, vec_cmphev4sf_cc, 0, B_VXE, 0, BT_FN_V4SI_V4SF_V4SF_INTPTR)
951 B_DEF (s390_vfchedbs, vec_cmphev2df_cc, 0, B_VX, 0, BT_FN_V2DI_V2DF_V2DF_INTPTR)
952
953 B_DEF (vec_all_eqv16qi, vec_all_eqv16qi, 0, B_INT | B_VX, 0, BT_FN_INT_UV16QI_UV16QI)
954 B_DEF (vec_all_eqv8hi, vec_all_eqv8hi, 0, B_INT | B_VX, 0, BT_FN_INT_UV8HI_UV8HI)
955 B_DEF (vec_all_eqv4si, vec_all_eqv4si, 0, B_INT | B_VX, 0, BT_FN_INT_UV4SI_UV4SI)
956 B_DEF (vec_all_eqv2di, vec_all_eqv2di, 0, B_INT | B_VX, 0, BT_FN_INT_UV2DI_UV2DI)
957 B_DEF (vec_all_eqv4sf, vec_all_eqv4sf, 0, B_INT | B_VXE, 0, BT_FN_INT_V4SF_V4SF)
958 B_DEF (vec_all_eqv2df, vec_all_eqv2df, 0, B_INT | B_VX, 0, BT_FN_INT_V2DF_V2DF)
959
960 B_DEF (vec_all_nev16qi, vec_all_nev16qi, 0, B_INT | B_VX, 0, BT_FN_INT_UV16QI_UV16QI)
961 B_DEF (vec_all_nev8hi, vec_all_nev8hi, 0, B_INT | B_VX, 0, BT_FN_INT_UV8HI_UV8HI)
962 B_DEF (vec_all_nev4si, vec_all_nev4si, 0, B_INT | B_VX, 0, BT_FN_INT_UV4SI_UV4SI)
963 B_DEF (vec_all_nev2di, vec_all_nev2di, 0, B_INT | B_VX, 0, BT_FN_INT_UV2DI_UV2DI)
964 B_DEF (vec_all_nev4sf, vec_all_nev4sf, 0, B_INT | B_VXE, 0, BT_FN_INT_V4SF_V4SF)
965 B_DEF (vec_all_nev2df, vec_all_nev2df, 0, B_INT | B_VX, 0, BT_FN_INT_V2DF_V2DF)
966
967 B_DEF (vec_all_gev16qi, vec_all_gev16qi, 0, B_INT | B_VX, 0, BT_FN_INT_V16QI_V16QI)
968 B_DEF (vec_all_geuv16qi, vec_all_geuv16qi, 0, B_INT | B_VX, 0, BT_FN_INT_UV16QI_UV16QI)
969 B_DEF (vec_all_gev8hi, vec_all_gev8hi, 0, B_INT | B_VX, 0, BT_FN_INT_V8HI_V8HI)
970 B_DEF (vec_all_geuv8hi, vec_all_geuv8hi, 0, B_INT | B_VX, 0, BT_FN_INT_UV8HI_UV8HI)
971 B_DEF (vec_all_gev4si, vec_all_gev4si, 0, B_INT | B_VX, 0, BT_FN_INT_V4SI_V4SI)
972 B_DEF (vec_all_geuv4si, vec_all_geuv4si, 0, B_INT | B_VX, 0, BT_FN_INT_UV4SI_UV4SI)
973 B_DEF (vec_all_gev2di, vec_all_gev2di, 0, B_INT | B_VX, 0, BT_FN_INT_V2DI_V2DI)
974 B_DEF (vec_all_geuv2di, vec_all_geuv2di, 0, B_INT | B_VX, 0, BT_FN_INT_UV2DI_UV2DI)
975 B_DEF (vec_all_gev4sf, vec_all_gev4sf, 0, B_INT | B_VXE, 0, BT_FN_INT_V4SF_V4SF)
976 B_DEF (vec_all_gev2df, vec_all_gev2df, 0, B_INT | B_VX, 0, BT_FN_INT_V2DF_V2DF)
977
978 B_DEF (vec_all_gtv16qi, vec_all_gtv16qi, 0, B_INT | B_VX, 0, BT_FN_INT_V16QI_V16QI)
979 B_DEF (vec_all_gtuv16qi, vec_all_gtuv16qi, 0, B_INT | B_VX, 0, BT_FN_INT_UV16QI_UV16QI)
980 B_DEF (vec_all_gtv8hi, vec_all_gtv8hi, 0, B_INT | B_VX, 0, BT_FN_INT_V8HI_V8HI)
981 B_DEF (vec_all_gtuv8hi, vec_all_gtuv8hi, 0, B_INT | B_VX, 0, BT_FN_INT_UV8HI_UV8HI)
982 B_DEF (vec_all_gtv4si, vec_all_gtv4si, 0, B_INT | B_VX, 0, BT_FN_INT_V4SI_V4SI)
983 B_DEF (vec_all_gtuv4si, vec_all_gtuv4si, 0, B_INT | B_VX, 0, BT_FN_INT_UV4SI_UV4SI)
984 B_DEF (vec_all_gtv2di, vec_all_gtv2di, 0, B_INT | B_VX, 0, BT_FN_INT_V2DI_V2DI)
985 B_DEF (vec_all_gtuv2di, vec_all_gtuv2di, 0, B_INT | B_VX, 0, BT_FN_INT_UV2DI_UV2DI)
986 B_DEF (vec_all_gtv4sf, vec_all_gtv4sf, 0, B_INT | B_VXE, 0, BT_FN_INT_V4SF_V4SF)
987 B_DEF (vec_all_gtv2df, vec_all_gtv2df, 0, B_INT | B_VX, 0, BT_FN_INT_V2DF_V2DF)
988
989 B_DEF (vec_all_lev16qi, vec_all_lev16qi, 0, B_INT | B_VX, 0, BT_FN_INT_V16QI_V16QI)
990 B_DEF (vec_all_leuv16qi, vec_all_leuv16qi, 0, B_INT | B_VX, 0, BT_FN_INT_UV16QI_UV16QI)
991 B_DEF (vec_all_lev8hi, vec_all_lev8hi, 0, B_INT | B_VX, 0, BT_FN_INT_V8HI_V8HI)
992 B_DEF (vec_all_leuv8hi, vec_all_leuv8hi, 0, B_INT | B_VX, 0, BT_FN_INT_UV8HI_UV8HI)
993 B_DEF (vec_all_lev4si, vec_all_lev4si, 0, B_INT | B_VX, 0, BT_FN_INT_V4SI_V4SI)
994 B_DEF (vec_all_leuv4si, vec_all_leuv4si, 0, B_INT | B_VX, 0, BT_FN_INT_UV4SI_UV4SI)
995 B_DEF (vec_all_lev2di, vec_all_lev2di, 0, B_INT | B_VX, 0, BT_FN_INT_V2DI_V2DI)
996 B_DEF (vec_all_leuv2di, vec_all_leuv2di, 0, B_INT | B_VX, 0, BT_FN_INT_UV2DI_UV2DI)
997 B_DEF (vec_all_lev4sf, vec_all_lev4sf, 0, B_INT | B_VXE, 0, BT_FN_INT_V4SF_V4SF)
998 B_DEF (vec_all_lev2df, vec_all_lev2df, 0, B_INT | B_VX, 0, BT_FN_INT_V2DF_V2DF)
999
1000 B_DEF (vec_all_ltv16qi, vec_all_ltv16qi, 0, B_INT | B_VX, 0, BT_FN_INT_V16QI_V16QI)
1001 B_DEF (vec_all_ltuv16qi, vec_all_ltuv16qi, 0, B_INT | B_VX, 0, BT_FN_INT_UV16QI_UV16QI)
1002 B_DEF (vec_all_ltv8hi, vec_all_ltv8hi, 0, B_INT | B_VX, 0, BT_FN_INT_V8HI_V8HI)
1003 B_DEF (vec_all_ltuv8hi, vec_all_ltuv8hi, 0, B_INT | B_VX, 0, BT_FN_INT_UV8HI_UV8HI)
1004 B_DEF (vec_all_ltv4si, vec_all_ltv4si, 0, B_INT | B_VX, 0, BT_FN_INT_V4SI_V4SI)
1005 B_DEF (vec_all_ltuv4si, vec_all_ltuv4si, 0, B_INT | B_VX, 0, BT_FN_INT_UV4SI_UV4SI)
1006 B_DEF (vec_all_ltv2di, vec_all_ltv2di, 0, B_INT | B_VX, 0, BT_FN_INT_V2DI_V2DI)
1007 B_DEF (vec_all_ltuv2di, vec_all_ltuv2di, 0, B_INT | B_VX, 0, BT_FN_INT_UV2DI_UV2DI)
1008 B_DEF (vec_all_ltv4sf, vec_all_ltv4sf, 0, B_INT | B_VXE, 0, BT_FN_INT_V4SF_V4SF)
1009 B_DEF (vec_all_ltv2df, vec_all_ltv2df, 0, B_INT | B_VX, 0, BT_FN_INT_V2DF_V2DF)
1010
1011 OB_DEF (s390_vec_all_eq, s390_vec_all_eq_s8_a,s390_vec_all_eq_dbl,B_VX, BT_FN_INT_OV4SI_OV4SI)
1012 OB_DEF_VAR (s390_vec_all_eq_s8_a, vec_all_eqv16qi, 0, 0, BT_OV_INT_V16QI_V16QI)
1013 OB_DEF_VAR (s390_vec_all_eq_s8_b, vec_all_eqv16qi, B_DEP, 0, BT_OV_INT_V16QI_BV16QI)
1014 OB_DEF_VAR (s390_vec_all_eq_b8_a, vec_all_eqv16qi, 0, 0, BT_OV_INT_BV16QI_BV16QI)
1015 OB_DEF_VAR (s390_vec_all_eq_b8_b, vec_all_eqv16qi, B_DEP, 0, BT_OV_INT_BV16QI_V16QI)
1016 OB_DEF_VAR (s390_vec_all_eq_b8_c, vec_all_eqv16qi, B_DEP, 0, BT_OV_INT_BV16QI_UV16QI)
1017 OB_DEF_VAR (s390_vec_all_eq_u8_a, vec_all_eqv16qi, 0, 0, BT_OV_INT_UV16QI_UV16QI)
1018 OB_DEF_VAR (s390_vec_all_eq_u8_b, vec_all_eqv16qi, B_DEP, 0, BT_OV_INT_UV16QI_BV16QI)
1019 OB_DEF_VAR (s390_vec_all_eq_s16_a, vec_all_eqv8hi, 0, 0, BT_OV_INT_V8HI_V8HI)
1020 OB_DEF_VAR (s390_vec_all_eq_s16_b, vec_all_eqv8hi, B_DEP, 0, BT_OV_INT_V8HI_BV8HI)
1021 OB_DEF_VAR (s390_vec_all_eq_b16_a, vec_all_eqv8hi, 0, 0, BT_OV_INT_BV8HI_BV8HI)
1022 OB_DEF_VAR (s390_vec_all_eq_b16_b, vec_all_eqv8hi, B_DEP, 0, BT_OV_INT_BV8HI_V8HI)
1023 OB_DEF_VAR (s390_vec_all_eq_b16_c, vec_all_eqv8hi, B_DEP, 0, BT_OV_INT_BV8HI_UV8HI)
1024 OB_DEF_VAR (s390_vec_all_eq_u16_a, vec_all_eqv8hi, 0, 0, BT_OV_INT_UV8HI_UV8HI)
1025 OB_DEF_VAR (s390_vec_all_eq_u16_b, vec_all_eqv8hi, B_DEP, 0, BT_OV_INT_UV8HI_BV8HI)
1026 OB_DEF_VAR (s390_vec_all_eq_s32_a, vec_all_eqv4si, 0, 0, BT_OV_INT_V4SI_V4SI)
1027 OB_DEF_VAR (s390_vec_all_eq_s32_b, vec_all_eqv4si, B_DEP, 0, BT_OV_INT_V4SI_BV4SI)
1028 OB_DEF_VAR (s390_vec_all_eq_b32_a, vec_all_eqv4si, 0, 0, BT_OV_INT_BV4SI_BV4SI)
1029 OB_DEF_VAR (s390_vec_all_eq_b32_b, vec_all_eqv4si, B_DEP, 0, BT_OV_INT_BV4SI_V4SI)
1030 OB_DEF_VAR (s390_vec_all_eq_b32_c, vec_all_eqv4si, B_DEP, 0, BT_OV_INT_BV4SI_UV4SI)
1031 OB_DEF_VAR (s390_vec_all_eq_u32_a, vec_all_eqv4si, 0, 0, BT_OV_INT_UV4SI_UV4SI)
1032 OB_DEF_VAR (s390_vec_all_eq_u32_b, vec_all_eqv4si, B_DEP, 0, BT_OV_INT_UV4SI_BV4SI)
1033 OB_DEF_VAR (s390_vec_all_eq_s64_a, vec_all_eqv2di, 0, 0, BT_OV_INT_V2DI_V2DI)
1034 OB_DEF_VAR (s390_vec_all_eq_s64_b, vec_all_eqv2di, B_DEP, 0, BT_OV_INT_V2DI_BV2DI)
1035 OB_DEF_VAR (s390_vec_all_eq_b64_a, vec_all_eqv2di, 0, 0, BT_OV_INT_BV2DI_BV2DI)
1036 OB_DEF_VAR (s390_vec_all_eq_b64_b, vec_all_eqv2di, B_DEP, 0, BT_OV_INT_BV2DI_V2DI)
1037 OB_DEF_VAR (s390_vec_all_eq_b64_c, vec_all_eqv2di, B_DEP, 0, BT_OV_INT_BV2DI_UV2DI)
1038 OB_DEF_VAR (s390_vec_all_eq_u64_a, vec_all_eqv2di, 0, 0, BT_OV_INT_UV2DI_UV2DI)
1039 OB_DEF_VAR (s390_vec_all_eq_u64_b, vec_all_eqv2di, B_DEP, 0, BT_OV_INT_UV2DI_BV2DI)
1040 OB_DEF_VAR (s390_vec_all_eq_flt, vec_all_eqv4sf, B_VXE, 0, BT_OV_INT_V4SF_V4SF)
1041 OB_DEF_VAR (s390_vec_all_eq_dbl, vec_all_eqv2df, 0, 0, BT_OV_INT_V2DF_V2DF)
1042
1043 OB_DEF (s390_vec_all_ne, s390_vec_all_ne_s8_a,s390_vec_all_ne_dbl,B_VX, BT_FN_INT_OV4SI_OV4SI)
1044 OB_DEF_VAR (s390_vec_all_ne_s8_a, vec_all_nev16qi, 0, 0, BT_OV_INT_V16QI_V16QI)
1045 OB_DEF_VAR (s390_vec_all_ne_s8_b, vec_all_nev16qi, B_DEP, 0, BT_OV_INT_V16QI_BV16QI)
1046 OB_DEF_VAR (s390_vec_all_ne_b8_a, vec_all_nev16qi, 0, 0, BT_OV_INT_BV16QI_BV16QI)
1047 OB_DEF_VAR (s390_vec_all_ne_b8_b, vec_all_nev16qi, B_DEP, 0, BT_OV_INT_BV16QI_V16QI)
1048 OB_DEF_VAR (s390_vec_all_ne_b8_c, vec_all_nev16qi, B_DEP, 0, BT_OV_INT_BV16QI_UV16QI)
1049 OB_DEF_VAR (s390_vec_all_ne_u8_a, vec_all_nev16qi, 0, 0, BT_OV_INT_UV16QI_UV16QI)
1050 OB_DEF_VAR (s390_vec_all_ne_u8_b, vec_all_nev16qi, B_DEP, 0, BT_OV_INT_UV16QI_BV16QI)
1051 OB_DEF_VAR (s390_vec_all_ne_s16_a, vec_all_nev8hi, 0, 0, BT_OV_INT_V8HI_V8HI)
1052 OB_DEF_VAR (s390_vec_all_ne_s16_b, vec_all_nev8hi, B_DEP, 0, BT_OV_INT_V8HI_BV8HI)
1053 OB_DEF_VAR (s390_vec_all_ne_b16_a, vec_all_nev8hi, 0, 0, BT_OV_INT_BV8HI_BV8HI)
1054 OB_DEF_VAR (s390_vec_all_ne_b16_b, vec_all_nev8hi, B_DEP, 0, BT_OV_INT_BV8HI_V8HI)
1055 OB_DEF_VAR (s390_vec_all_ne_b16_c, vec_all_nev8hi, B_DEP, 0, BT_OV_INT_BV8HI_UV8HI)
1056 OB_DEF_VAR (s390_vec_all_ne_u16_a, vec_all_nev8hi, 0, 0, BT_OV_INT_UV8HI_UV8HI)
1057 OB_DEF_VAR (s390_vec_all_ne_u16_b, vec_all_nev8hi, B_DEP, 0, BT_OV_INT_UV8HI_BV8HI)
1058 OB_DEF_VAR (s390_vec_all_ne_s32_a, vec_all_nev4si, 0, 0, BT_OV_INT_V4SI_V4SI)
1059 OB_DEF_VAR (s390_vec_all_ne_s32_b, vec_all_nev4si, B_DEP, 0, BT_OV_INT_V4SI_BV4SI)
1060 OB_DEF_VAR (s390_vec_all_ne_b32_a, vec_all_nev4si, 0, 0, BT_OV_INT_BV4SI_BV4SI)
1061 OB_DEF_VAR (s390_vec_all_ne_b32_b, vec_all_nev4si, B_DEP, 0, BT_OV_INT_BV4SI_V4SI)
1062 OB_DEF_VAR (s390_vec_all_ne_b32_c, vec_all_nev4si, B_DEP, 0, BT_OV_INT_BV4SI_UV4SI)
1063 OB_DEF_VAR (s390_vec_all_ne_u32_a, vec_all_nev4si, 0, 0, BT_OV_INT_UV4SI_UV4SI)
1064 OB_DEF_VAR (s390_vec_all_ne_u32_b, vec_all_nev4si, B_DEP, 0, BT_OV_INT_UV4SI_BV4SI)
1065 OB_DEF_VAR (s390_vec_all_ne_s64_a, vec_all_nev2di, 0, 0, BT_OV_INT_V2DI_V2DI)
1066 OB_DEF_VAR (s390_vec_all_ne_s64_b, vec_all_nev2di, B_DEP, 0, BT_OV_INT_V2DI_BV2DI)
1067 OB_DEF_VAR (s390_vec_all_ne_b64_a, vec_all_nev2di, 0, 0, BT_OV_INT_BV2DI_BV2DI)
1068 OB_DEF_VAR (s390_vec_all_ne_b64_b, vec_all_nev2di, B_DEP, 0, BT_OV_INT_BV2DI_V2DI)
1069 OB_DEF_VAR (s390_vec_all_ne_b64_c, vec_all_nev2di, B_DEP, 0, BT_OV_INT_BV2DI_UV2DI)
1070 OB_DEF_VAR (s390_vec_all_ne_u64_a, vec_all_nev2di, 0, 0, BT_OV_INT_UV2DI_UV2DI)
1071 OB_DEF_VAR (s390_vec_all_ne_u64_b, vec_all_nev2di, B_DEP, 0, BT_OV_INT_UV2DI_BV2DI)
1072 OB_DEF_VAR (s390_vec_all_ne_flt, vec_all_nev4sf, B_VXE, 0, BT_OV_INT_V4SF_V4SF)
1073 OB_DEF_VAR (s390_vec_all_ne_dbl, vec_all_nev2df, 0, 0, BT_OV_INT_V2DF_V2DF)
1074
1075 OB_DEF (s390_vec_all_ge, s390_vec_all_ge_s8_a,s390_vec_all_ge_dbl,B_VX, BT_FN_INT_OV4SI_OV4SI)
1076 OB_DEF_VAR (s390_vec_all_ge_s8_a, vec_all_gev16qi, 0, 0, BT_OV_INT_V16QI_V16QI)
1077 OB_DEF_VAR (s390_vec_all_ge_s8_b, vec_all_gev16qi, B_DEP, 0, BT_OV_INT_V16QI_BV16QI)
1078 OB_DEF_VAR (s390_vec_all_ge_b8_a, vec_all_geuv16qi, B_DEP, 0, BT_OV_INT_BV16QI_BV16QI)
1079 OB_DEF_VAR (s390_vec_all_ge_b8_b, vec_all_gev16qi, B_DEP, 0, BT_OV_INT_BV16QI_V16QI)
1080 OB_DEF_VAR (s390_vec_all_ge_b8_c, vec_all_geuv16qi, B_DEP, 0, BT_OV_INT_BV16QI_UV16QI)
1081 OB_DEF_VAR (s390_vec_all_ge_u8_a, vec_all_geuv16qi, 0, 0, BT_OV_INT_UV16QI_UV16QI)
1082 OB_DEF_VAR (s390_vec_all_ge_u8_b, vec_all_geuv16qi, B_DEP, 0, BT_OV_INT_UV16QI_BV16QI)
1083 OB_DEF_VAR (s390_vec_all_ge_s16_a, vec_all_gev8hi, 0, 0, BT_OV_INT_V8HI_V8HI)
1084 OB_DEF_VAR (s390_vec_all_ge_s16_b, vec_all_gev8hi, B_DEP, 0, BT_OV_INT_V8HI_BV8HI)
1085 OB_DEF_VAR (s390_vec_all_ge_b16_a, vec_all_geuv8hi, B_DEP, 0, BT_OV_INT_BV8HI_BV8HI)
1086 OB_DEF_VAR (s390_vec_all_ge_b16_b, vec_all_gev8hi, B_DEP, 0, BT_OV_INT_BV8HI_V8HI)
1087 OB_DEF_VAR (s390_vec_all_ge_b16_c, vec_all_geuv8hi, B_DEP, 0, BT_OV_INT_BV8HI_UV8HI)
1088 OB_DEF_VAR (s390_vec_all_ge_u16_a, vec_all_geuv8hi, 0, 0, BT_OV_INT_UV8HI_UV8HI)
1089 OB_DEF_VAR (s390_vec_all_ge_u16_b, vec_all_geuv8hi, B_DEP, 0, BT_OV_INT_UV8HI_BV8HI)
1090 OB_DEF_VAR (s390_vec_all_ge_s32_a, vec_all_gev4si, 0, 0, BT_OV_INT_V4SI_V4SI)
1091 OB_DEF_VAR (s390_vec_all_ge_s32_b, vec_all_gev4si, B_DEP, 0, BT_OV_INT_V4SI_BV4SI)
1092 OB_DEF_VAR (s390_vec_all_ge_b32_a, vec_all_geuv4si, B_DEP, 0, BT_OV_INT_BV4SI_BV4SI)
1093 OB_DEF_VAR (s390_vec_all_ge_b32_b, vec_all_gev4si, B_DEP, 0, BT_OV_INT_BV4SI_V4SI)
1094 OB_DEF_VAR (s390_vec_all_ge_b32_c, vec_all_geuv4si, B_DEP, 0, BT_OV_INT_BV4SI_UV4SI)
1095 OB_DEF_VAR (s390_vec_all_ge_u32_a, vec_all_geuv4si, 0, 0, BT_OV_INT_UV4SI_UV4SI)
1096 OB_DEF_VAR (s390_vec_all_ge_u32_b, vec_all_geuv4si, B_DEP, 0, BT_OV_INT_UV4SI_BV4SI)
1097 OB_DEF_VAR (s390_vec_all_ge_s64_a, vec_all_gev2di, 0, 0, BT_OV_INT_V2DI_V2DI)
1098 OB_DEF_VAR (s390_vec_all_ge_s64_b, vec_all_gev2di, B_DEP, 0, BT_OV_INT_V2DI_BV2DI)
1099 OB_DEF_VAR (s390_vec_all_ge_b64_a, vec_all_geuv2di, B_DEP, 0, BT_OV_INT_BV2DI_BV2DI)
1100 OB_DEF_VAR (s390_vec_all_ge_b64_b, vec_all_gev2di, B_DEP, 0, BT_OV_INT_BV2DI_V2DI)
1101 OB_DEF_VAR (s390_vec_all_ge_b64_c, vec_all_geuv2di, B_DEP, 0, BT_OV_INT_BV2DI_UV2DI)
1102 OB_DEF_VAR (s390_vec_all_ge_u64_a, vec_all_geuv2di, 0, 0, BT_OV_INT_UV2DI_UV2DI)
1103 OB_DEF_VAR (s390_vec_all_ge_u64_b, vec_all_geuv2di, B_DEP, 0, BT_OV_INT_UV2DI_BV2DI)
1104 OB_DEF_VAR (s390_vec_all_ge_flt, vec_all_gev4sf, B_VXE, 0, BT_OV_INT_V4SF_V4SF)
1105 OB_DEF_VAR (s390_vec_all_ge_dbl, vec_all_gev2df, 0, 0, BT_OV_INT_V2DF_V2DF)
1106
1107 OB_DEF (s390_vec_all_gt, s390_vec_all_gt_s8_a,s390_vec_all_gt_dbl,B_VX, BT_FN_INT_OV4SI_OV4SI)
1108 OB_DEF_VAR (s390_vec_all_gt_s8_a, vec_all_gtv16qi, 0, 0, BT_OV_INT_V16QI_V16QI)
1109 OB_DEF_VAR (s390_vec_all_gt_s8_b, vec_all_gtv16qi, B_DEP, 0, BT_OV_INT_V16QI_BV16QI)
1110 OB_DEF_VAR (s390_vec_all_gt_b8_a, vec_all_gtuv16qi, B_DEP, 0, BT_OV_INT_BV16QI_BV16QI)
1111 OB_DEF_VAR (s390_vec_all_gt_b8_b, vec_all_gtv16qi, B_DEP, 0, BT_OV_INT_BV16QI_V16QI)
1112 OB_DEF_VAR (s390_vec_all_gt_b8_c, vec_all_gtuv16qi, B_DEP, 0, BT_OV_INT_BV16QI_UV16QI)
1113 OB_DEF_VAR (s390_vec_all_gt_u8_a, vec_all_gtuv16qi, 0, 0, BT_OV_INT_UV16QI_UV16QI)
1114 OB_DEF_VAR (s390_vec_all_gt_u8_b, vec_all_gtuv16qi, B_DEP, 0, BT_OV_INT_UV16QI_BV16QI)
1115 OB_DEF_VAR (s390_vec_all_gt_s16_a, vec_all_gtv8hi, 0, 0, BT_OV_INT_V8HI_V8HI)
1116 OB_DEF_VAR (s390_vec_all_gt_s16_b, vec_all_gtv8hi, B_DEP, 0, BT_OV_INT_V8HI_BV8HI)
1117 OB_DEF_VAR (s390_vec_all_gt_b16_a, vec_all_gtuv8hi, B_DEP, 0, BT_OV_INT_BV8HI_BV8HI)
1118 OB_DEF_VAR (s390_vec_all_gt_b16_b, vec_all_gtv8hi, B_DEP, 0, BT_OV_INT_BV8HI_V8HI)
1119 OB_DEF_VAR (s390_vec_all_gt_b16_c, vec_all_gtuv8hi, B_DEP, 0, BT_OV_INT_BV8HI_UV8HI)
1120 OB_DEF_VAR (s390_vec_all_gt_u16_a, vec_all_gtuv8hi, 0, 0, BT_OV_INT_UV8HI_UV8HI)
1121 OB_DEF_VAR (s390_vec_all_gt_u16_b, vec_all_gtuv8hi, B_DEP, 0, BT_OV_INT_UV8HI_BV8HI)
1122 OB_DEF_VAR (s390_vec_all_gt_s32_a, vec_all_gtv4si, 0, 0, BT_OV_INT_V4SI_V4SI)
1123 OB_DEF_VAR (s390_vec_all_gt_s32_b, vec_all_gtv4si, B_DEP, 0, BT_OV_INT_V4SI_BV4SI)
1124 OB_DEF_VAR (s390_vec_all_gt_b32_a, vec_all_gtuv4si, B_DEP, 0, BT_OV_INT_BV4SI_BV4SI)
1125 OB_DEF_VAR (s390_vec_all_gt_b32_b, vec_all_gtv4si, B_DEP, 0, BT_OV_INT_BV4SI_V4SI)
1126 OB_DEF_VAR (s390_vec_all_gt_b32_c, vec_all_gtuv4si, B_DEP, 0, BT_OV_INT_BV4SI_UV4SI)
1127 OB_DEF_VAR (s390_vec_all_gt_u32_a, vec_all_gtuv4si, 0, 0, BT_OV_INT_UV4SI_UV4SI)
1128 OB_DEF_VAR (s390_vec_all_gt_u32_b, vec_all_gtuv4si, B_DEP, 0, BT_OV_INT_UV4SI_BV4SI)
1129 OB_DEF_VAR (s390_vec_all_gt_s64_a, vec_all_gtv2di, 0, 0, BT_OV_INT_V2DI_V2DI)
1130 OB_DEF_VAR (s390_vec_all_gt_s64_b, vec_all_gtv2di, B_DEP, 0, BT_OV_INT_V2DI_BV2DI)
1131 OB_DEF_VAR (s390_vec_all_gt_b64_a, vec_all_gtuv2di, B_DEP, 0, BT_OV_INT_BV2DI_BV2DI)
1132 OB_DEF_VAR (s390_vec_all_gt_b64_b, vec_all_gtv2di, B_DEP, 0, BT_OV_INT_BV2DI_V2DI)
1133 OB_DEF_VAR (s390_vec_all_gt_b64_c, vec_all_gtuv2di, B_DEP, 0, BT_OV_INT_BV2DI_UV2DI)
1134 OB_DEF_VAR (s390_vec_all_gt_u64_a, vec_all_gtuv2di, 0, 0, BT_OV_INT_UV2DI_UV2DI)
1135 OB_DEF_VAR (s390_vec_all_gt_u64_b, vec_all_gtuv2di, B_DEP, 0, BT_OV_INT_UV2DI_BV2DI)
1136 OB_DEF_VAR (s390_vec_all_gt_flt, vec_all_gtv4sf, B_VXE, 0, BT_OV_INT_V4SF_V4SF)
1137 OB_DEF_VAR (s390_vec_all_gt_dbl, vec_all_gtv2df, 0, 0, BT_OV_INT_V2DF_V2DF)
1138
1139 OB_DEF (s390_vec_all_le, s390_vec_all_le_s8_a,s390_vec_all_le_dbl,B_VX, BT_FN_INT_OV4SI_OV4SI)
1140 OB_DEF_VAR (s390_vec_all_le_s8_a, vec_all_lev16qi, 0, 0, BT_OV_INT_V16QI_V16QI)
1141 OB_DEF_VAR (s390_vec_all_le_s8_b, vec_all_lev16qi, B_DEP, 0, BT_OV_INT_V16QI_BV16QI)
1142 OB_DEF_VAR (s390_vec_all_le_b8_a, vec_all_leuv16qi, B_DEP, 0, BT_OV_INT_BV16QI_BV16QI)
1143 OB_DEF_VAR (s390_vec_all_le_b8_b, vec_all_lev16qi, B_DEP, 0, BT_OV_INT_BV16QI_V16QI)
1144 OB_DEF_VAR (s390_vec_all_le_b8_c, vec_all_leuv16qi, B_DEP, 0, BT_OV_INT_BV16QI_UV16QI)
1145 OB_DEF_VAR (s390_vec_all_le_u8_a, vec_all_leuv16qi, 0, 0, BT_OV_INT_UV16QI_UV16QI)
1146 OB_DEF_VAR (s390_vec_all_le_u8_b, vec_all_leuv16qi, B_DEP, 0, BT_OV_INT_UV16QI_BV16QI)
1147 OB_DEF_VAR (s390_vec_all_le_s16_a, vec_all_lev8hi, 0, 0, BT_OV_INT_V8HI_V8HI)
1148 OB_DEF_VAR (s390_vec_all_le_s16_b, vec_all_lev8hi, B_DEP, 0, BT_OV_INT_V8HI_BV8HI)
1149 OB_DEF_VAR (s390_vec_all_le_b16_a, vec_all_leuv8hi, B_DEP, 0, BT_OV_INT_BV8HI_BV8HI)
1150 OB_DEF_VAR (s390_vec_all_le_b16_b, vec_all_lev8hi, B_DEP, 0, BT_OV_INT_BV8HI_V8HI)
1151 OB_DEF_VAR (s390_vec_all_le_b16_c, vec_all_leuv8hi, B_DEP, 0, BT_OV_INT_BV8HI_UV8HI)
1152 OB_DEF_VAR (s390_vec_all_le_u16_a, vec_all_leuv8hi, 0, 0, BT_OV_INT_UV8HI_UV8HI)
1153 OB_DEF_VAR (s390_vec_all_le_u16_b, vec_all_leuv8hi, B_DEP, 0, BT_OV_INT_UV8HI_BV8HI)
1154 OB_DEF_VAR (s390_vec_all_le_s32_a, vec_all_lev4si, 0, 0, BT_OV_INT_V4SI_V4SI)
1155 OB_DEF_VAR (s390_vec_all_le_s32_b, vec_all_lev4si, B_DEP, 0, BT_OV_INT_V4SI_BV4SI)
1156 OB_DEF_VAR (s390_vec_all_le_b32_a, vec_all_leuv4si, B_DEP, 0, BT_OV_INT_BV4SI_BV4SI)
1157 OB_DEF_VAR (s390_vec_all_le_b32_b, vec_all_lev4si, B_DEP, 0, BT_OV_INT_BV4SI_V4SI)
1158 OB_DEF_VAR (s390_vec_all_le_b32_c, vec_all_leuv4si, B_DEP, 0, BT_OV_INT_BV4SI_UV4SI)
1159 OB_DEF_VAR (s390_vec_all_le_u32_a, vec_all_leuv4si, 0, 0, BT_OV_INT_UV4SI_UV4SI)
1160 OB_DEF_VAR (s390_vec_all_le_u32_b, vec_all_leuv4si, B_DEP, 0, BT_OV_INT_UV4SI_BV4SI)
1161 OB_DEF_VAR (s390_vec_all_le_s64_a, vec_all_lev2di, 0, 0, BT_OV_INT_V2DI_V2DI)
1162 OB_DEF_VAR (s390_vec_all_le_s64_b, vec_all_lev2di, B_DEP, 0, BT_OV_INT_V2DI_BV2DI)
1163 OB_DEF_VAR (s390_vec_all_le_b64_a, vec_all_leuv2di, B_DEP, 0, BT_OV_INT_BV2DI_BV2DI)
1164 OB_DEF_VAR (s390_vec_all_le_b64_b, vec_all_lev2di, B_DEP, 0, BT_OV_INT_BV2DI_V2DI)
1165 OB_DEF_VAR (s390_vec_all_le_b64_c, vec_all_leuv2di, B_DEP, 0, BT_OV_INT_BV2DI_UV2DI)
1166 OB_DEF_VAR (s390_vec_all_le_u64_a, vec_all_leuv2di, 0, 0, BT_OV_INT_UV2DI_UV2DI)
1167 OB_DEF_VAR (s390_vec_all_le_u64_b, vec_all_leuv2di, B_DEP, 0, BT_OV_INT_UV2DI_BV2DI)
1168 OB_DEF_VAR (s390_vec_all_le_flt, vec_all_lev4sf, B_VXE, 0, BT_OV_INT_V4SF_V4SF)
1169 OB_DEF_VAR (s390_vec_all_le_dbl, vec_all_lev2df, 0, 0, BT_OV_INT_V2DF_V2DF)
1170
1171 OB_DEF (s390_vec_all_lt, s390_vec_all_lt_s8_a,s390_vec_all_lt_dbl,B_VX, BT_FN_INT_OV4SI_OV4SI)
1172 OB_DEF_VAR (s390_vec_all_lt_s8_a, vec_all_ltv16qi, 0, 0, BT_OV_INT_V16QI_V16QI)
1173 OB_DEF_VAR (s390_vec_all_lt_s8_b, vec_all_ltv16qi, B_DEP, 0, BT_OV_INT_V16QI_BV16QI)
1174 OB_DEF_VAR (s390_vec_all_lt_b8_a, vec_all_ltuv16qi, B_DEP, 0, BT_OV_INT_BV16QI_BV16QI)
1175 OB_DEF_VAR (s390_vec_all_lt_b8_b, vec_all_ltv16qi, B_DEP, 0, BT_OV_INT_BV16QI_V16QI)
1176 OB_DEF_VAR (s390_vec_all_lt_b8_c, vec_all_ltuv16qi, B_DEP, 0, BT_OV_INT_BV16QI_UV16QI)
1177 OB_DEF_VAR (s390_vec_all_lt_u8_a, vec_all_ltuv16qi, 0, 0, BT_OV_INT_UV16QI_UV16QI)
1178 OB_DEF_VAR (s390_vec_all_lt_u8_b, vec_all_ltuv16qi, B_DEP, 0, BT_OV_INT_UV16QI_BV16QI)
1179 OB_DEF_VAR (s390_vec_all_lt_s16_a, vec_all_ltv8hi, 0, 0, BT_OV_INT_V8HI_V8HI)
1180 OB_DEF_VAR (s390_vec_all_lt_s16_b, vec_all_ltv8hi, B_DEP, 0, BT_OV_INT_V8HI_BV8HI)
1181 OB_DEF_VAR (s390_vec_all_lt_b16_a, vec_all_ltuv8hi, B_DEP, 0, BT_OV_INT_BV8HI_BV8HI)
1182 OB_DEF_VAR (s390_vec_all_lt_b16_b, vec_all_ltv8hi, B_DEP, 0, BT_OV_INT_BV8HI_V8HI)
1183 OB_DEF_VAR (s390_vec_all_lt_b16_c, vec_all_ltuv8hi, B_DEP, 0, BT_OV_INT_BV8HI_UV8HI)
1184 OB_DEF_VAR (s390_vec_all_lt_u16_a, vec_all_ltuv8hi, 0, 0, BT_OV_INT_UV8HI_UV8HI)
1185 OB_DEF_VAR (s390_vec_all_lt_u16_b, vec_all_ltuv8hi, B_DEP, 0, BT_OV_INT_UV8HI_BV8HI)
1186 OB_DEF_VAR (s390_vec_all_lt_s32_a, vec_all_ltv4si, 0, 0, BT_OV_INT_V4SI_V4SI)
1187 OB_DEF_VAR (s390_vec_all_lt_s32_b, vec_all_ltv4si, B_DEP, 0, BT_OV_INT_V4SI_BV4SI)
1188 OB_DEF_VAR (s390_vec_all_lt_b32_a, vec_all_ltuv4si, B_DEP, 0, BT_OV_INT_BV4SI_BV4SI)
1189 OB_DEF_VAR (s390_vec_all_lt_b32_b, vec_all_ltv4si, B_DEP, 0, BT_OV_INT_BV4SI_V4SI)
1190 OB_DEF_VAR (s390_vec_all_lt_b32_c, vec_all_ltuv4si, B_DEP, 0, BT_OV_INT_BV4SI_UV4SI)
1191 OB_DEF_VAR (s390_vec_all_lt_u32_a, vec_all_ltuv4si, 0, 0, BT_OV_INT_UV4SI_UV4SI)
1192 OB_DEF_VAR (s390_vec_all_lt_u32_b, vec_all_ltuv4si, B_DEP, 0, BT_OV_INT_UV4SI_BV4SI)
1193 OB_DEF_VAR (s390_vec_all_lt_s64_a, vec_all_ltv2di, 0, 0, BT_OV_INT_V2DI_V2DI)
1194 OB_DEF_VAR (s390_vec_all_lt_s64_b, vec_all_ltv2di, B_DEP, 0, BT_OV_INT_V2DI_BV2DI)
1195 OB_DEF_VAR (s390_vec_all_lt_b64_a, vec_all_ltuv2di, B_DEP, 0, BT_OV_INT_BV2DI_BV2DI)
1196 OB_DEF_VAR (s390_vec_all_lt_b64_b, vec_all_ltv2di, B_DEP, 0, BT_OV_INT_BV2DI_V2DI)
1197 OB_DEF_VAR (s390_vec_all_lt_b64_c, vec_all_ltuv2di, B_DEP, 0, BT_OV_INT_BV2DI_UV2DI)
1198 OB_DEF_VAR (s390_vec_all_lt_u64_a, vec_all_ltuv2di, 0, 0, BT_OV_INT_UV2DI_UV2DI)
1199 OB_DEF_VAR (s390_vec_all_lt_u64_b, vec_all_ltuv2di, B_DEP, 0, BT_OV_INT_UV2DI_BV2DI)
1200 OB_DEF_VAR (s390_vec_all_lt_flt, vec_all_ltv4sf, B_VXE, 0, BT_OV_INT_V4SF_V4SF)
1201 OB_DEF_VAR (s390_vec_all_lt_dbl, vec_all_ltv2df, 0, 0, BT_OV_INT_V2DF_V2DF)
1202
1203 B_DEF (vec_any_eqv16qi, vec_any_eqv16qi, 0, B_INT | B_VX, 0, BT_FN_INT_UV16QI_UV16QI)
1204 B_DEF (vec_any_eqv8hi, vec_any_eqv8hi, 0, B_INT | B_VX, 0, BT_FN_INT_UV8HI_UV8HI)
1205 B_DEF (vec_any_eqv4si, vec_any_eqv4si, 0, B_INT | B_VX, 0, BT_FN_INT_UV4SI_UV4SI)
1206 B_DEF (vec_any_eqv2di, vec_any_eqv2di, 0, B_INT | B_VX, 0, BT_FN_INT_UV2DI_UV2DI)
1207 B_DEF (vec_any_eqv4sf, vec_any_eqv4sf, 0, B_INT | B_VXE, 0, BT_FN_INT_V4SF_V4SF)
1208 B_DEF (vec_any_eqv2df, vec_any_eqv2df, 0, B_INT | B_VX, 0, BT_FN_INT_V2DF_V2DF)
1209
1210 B_DEF (vec_any_nev16qi, vec_any_nev16qi, 0, B_INT | B_VX, 0, BT_FN_INT_UV16QI_UV16QI)
1211 B_DEF (vec_any_nev8hi, vec_any_nev8hi, 0, B_INT | B_VX, 0, BT_FN_INT_UV8HI_UV8HI)
1212 B_DEF (vec_any_nev4si, vec_any_nev4si, 0, B_INT | B_VX, 0, BT_FN_INT_UV4SI_UV4SI)
1213 B_DEF (vec_any_nev2di, vec_any_nev2di, 0, B_INT | B_VX, 0, BT_FN_INT_UV2DI_UV2DI)
1214 B_DEF (vec_any_nev4sf, vec_any_nev4sf, 0, B_INT | B_VXE, 0, BT_FN_INT_V4SF_V4SF)
1215 B_DEF (vec_any_nev2df, vec_any_nev2df, 0, B_INT | B_VX, 0, BT_FN_INT_V2DF_V2DF)
1216
1217 B_DEF (vec_any_gev16qi, vec_any_gev16qi, 0, B_INT | B_VX, 0, BT_FN_INT_V16QI_V16QI)
1218 B_DEF (vec_any_geuv16qi, vec_any_geuv16qi, 0, B_INT | B_VX, 0, BT_FN_INT_UV16QI_UV16QI)
1219 B_DEF (vec_any_gev8hi, vec_any_gev8hi, 0, B_INT | B_VX, 0, BT_FN_INT_V8HI_V8HI)
1220 B_DEF (vec_any_geuv8hi, vec_any_geuv8hi, 0, B_INT | B_VX, 0, BT_FN_INT_UV8HI_UV8HI)
1221 B_DEF (vec_any_gev4si, vec_any_gev4si, 0, B_INT | B_VX, 0, BT_FN_INT_V4SI_V4SI)
1222 B_DEF (vec_any_geuv4si, vec_any_geuv4si, 0, B_INT | B_VX, 0, BT_FN_INT_UV4SI_UV4SI)
1223 B_DEF (vec_any_gev2di, vec_any_gev2di, 0, B_INT | B_VX, 0, BT_FN_INT_V2DI_V2DI)
1224 B_DEF (vec_any_geuv2di, vec_any_geuv2di, 0, B_INT | B_VX, 0, BT_FN_INT_UV2DI_UV2DI)
1225 B_DEF (vec_any_gev4sf, vec_any_gev4sf, 0, B_INT | B_VXE, 0, BT_FN_INT_V4SF_V4SF)
1226 B_DEF (vec_any_gev2df, vec_any_gev2df, 0, B_INT | B_VX, 0, BT_FN_INT_V2DF_V2DF)
1227
1228 B_DEF (vec_any_gtv16qi, vec_any_gtv16qi, 0, B_INT | B_VX, 0, BT_FN_INT_V16QI_V16QI)
1229 B_DEF (vec_any_gtuv16qi, vec_any_gtuv16qi, 0, B_INT | B_VX, 0, BT_FN_INT_UV16QI_UV16QI)
1230 B_DEF (vec_any_gtv8hi, vec_any_gtv8hi, 0, B_INT | B_VX, 0, BT_FN_INT_V8HI_V8HI)
1231 B_DEF (vec_any_gtuv8hi, vec_any_gtuv8hi, 0, B_INT | B_VX, 0, BT_FN_INT_UV8HI_UV8HI)
1232 B_DEF (vec_any_gtv4si, vec_any_gtv4si, 0, B_INT | B_VX, 0, BT_FN_INT_V4SI_V4SI)
1233 B_DEF (vec_any_gtuv4si, vec_any_gtuv4si, 0, B_INT | B_VX, 0, BT_FN_INT_UV4SI_UV4SI)
1234 B_DEF (vec_any_gtv2di, vec_any_gtv2di, 0, B_INT | B_VX, 0, BT_FN_INT_V2DI_V2DI)
1235 B_DEF (vec_any_gtuv2di, vec_any_gtuv2di, 0, B_INT | B_VX, 0, BT_FN_INT_UV2DI_UV2DI)
1236 B_DEF (vec_any_gtv4sf, vec_any_gtv4sf, 0, B_INT | B_VXE, 0, BT_FN_INT_V4SF_V4SF)
1237 B_DEF (vec_any_gtv2df, vec_any_gtv2df, 0, B_INT | B_VX, 0, BT_FN_INT_V2DF_V2DF)
1238
1239 B_DEF (vec_any_lev16qi, vec_any_lev16qi, 0, B_INT | B_VX, 0, BT_FN_INT_V16QI_V16QI)
1240 B_DEF (vec_any_leuv16qi, vec_any_leuv16qi, 0, B_INT | B_VX, 0, BT_FN_INT_UV16QI_UV16QI)
1241 B_DEF (vec_any_lev8hi, vec_any_lev8hi, 0, B_INT | B_VX, 0, BT_FN_INT_V8HI_V8HI)
1242 B_DEF (vec_any_leuv8hi, vec_any_leuv8hi, 0, B_INT | B_VX, 0, BT_FN_INT_UV8HI_UV8HI)
1243 B_DEF (vec_any_lev4si, vec_any_lev4si, 0, B_INT | B_VX, 0, BT_FN_INT_V4SI_V4SI)
1244 B_DEF (vec_any_leuv4si, vec_any_leuv4si, 0, B_INT | B_VX, 0, BT_FN_INT_UV4SI_UV4SI)
1245 B_DEF (vec_any_lev2di, vec_any_lev2di, 0, B_INT | B_VX, 0, BT_FN_INT_V2DI_V2DI)
1246 B_DEF (vec_any_leuv2di, vec_any_leuv2di, 0, B_INT | B_VX, 0, BT_FN_INT_UV2DI_UV2DI)
1247 B_DEF (vec_any_lev4sf, vec_any_lev4sf, 0, B_INT | B_VXE, 0, BT_FN_INT_V4SF_V4SF)
1248 B_DEF (vec_any_lev2df, vec_any_lev2df, 0, B_INT | B_VX, 0, BT_FN_INT_V2DF_V2DF)
1249
1250 B_DEF (vec_any_ltv16qi, vec_any_ltv16qi, 0, B_INT | B_VX, 0, BT_FN_INT_V16QI_V16QI)
1251 B_DEF (vec_any_ltuv16qi, vec_any_ltuv16qi, 0, B_INT | B_VX, 0, BT_FN_INT_UV16QI_UV16QI)
1252 B_DEF (vec_any_ltv8hi, vec_any_ltv8hi, 0, B_INT | B_VX, 0, BT_FN_INT_V8HI_V8HI)
1253 B_DEF (vec_any_ltuv8hi, vec_any_ltuv8hi, 0, B_INT | B_VX, 0, BT_FN_INT_UV8HI_UV8HI)
1254 B_DEF (vec_any_ltv4si, vec_any_ltv4si, 0, B_INT | B_VX, 0, BT_FN_INT_V4SI_V4SI)
1255 B_DEF (vec_any_ltuv4si, vec_any_ltuv4si, 0, B_INT | B_VX, 0, BT_FN_INT_UV4SI_UV4SI)
1256 B_DEF (vec_any_ltv2di, vec_any_ltv2di, 0, B_INT | B_VX, 0, BT_FN_INT_V2DI_V2DI)
1257 B_DEF (vec_any_ltuv2di, vec_any_ltuv2di, 0, B_INT | B_VX, 0, BT_FN_INT_UV2DI_UV2DI)
1258 B_DEF (vec_any_ltv4sf, vec_any_ltv4sf, 0, B_INT | B_VXE, 0, BT_FN_INT_V4SF_V4SF)
1259 B_DEF (vec_any_ltv2df, vec_any_ltv2df, 0, B_INT | B_VX, 0, BT_FN_INT_V2DF_V2DF)
1260
1261 OB_DEF (s390_vec_any_eq, s390_vec_any_eq_s8_a,s390_vec_any_eq_dbl,B_VX, BT_FN_INT_OV4SI_OV4SI)
1262 OB_DEF_VAR (s390_vec_any_eq_s8_a, vec_any_eqv16qi, 0, 0, BT_OV_INT_V16QI_V16QI)
1263 OB_DEF_VAR (s390_vec_any_eq_s8_b, vec_any_eqv16qi, B_DEP, 0, BT_OV_INT_V16QI_BV16QI)
1264 OB_DEF_VAR (s390_vec_any_eq_b8_a, vec_any_eqv16qi, 0, 0, BT_OV_INT_BV16QI_BV16QI)
1265 OB_DEF_VAR (s390_vec_any_eq_b8_b, vec_any_eqv16qi, B_DEP, 0, BT_OV_INT_BV16QI_V16QI)
1266 OB_DEF_VAR (s390_vec_any_eq_b8_c, vec_any_eqv16qi, B_DEP, 0, BT_OV_INT_BV16QI_UV16QI)
1267 OB_DEF_VAR (s390_vec_any_eq_u8_a, vec_any_eqv16qi, 0, 0, BT_OV_INT_UV16QI_UV16QI)
1268 OB_DEF_VAR (s390_vec_any_eq_u8_b, vec_any_eqv16qi, B_DEP, 0, BT_OV_INT_UV16QI_BV16QI)
1269 OB_DEF_VAR (s390_vec_any_eq_s16_a, vec_any_eqv8hi, 0, 0, BT_OV_INT_V8HI_V8HI)
1270 OB_DEF_VAR (s390_vec_any_eq_s16_b, vec_any_eqv8hi, B_DEP, 0, BT_OV_INT_V8HI_BV8HI)
1271 OB_DEF_VAR (s390_vec_any_eq_b16_a, vec_any_eqv8hi, 0, 0, BT_OV_INT_BV8HI_BV8HI)
1272 OB_DEF_VAR (s390_vec_any_eq_b16_b, vec_any_eqv8hi, B_DEP, 0, BT_OV_INT_BV8HI_V8HI)
1273 OB_DEF_VAR (s390_vec_any_eq_b16_c, vec_any_eqv8hi, B_DEP, 0, BT_OV_INT_BV8HI_UV8HI)
1274 OB_DEF_VAR (s390_vec_any_eq_u16_a, vec_any_eqv8hi, 0, 0, BT_OV_INT_UV8HI_UV8HI)
1275 OB_DEF_VAR (s390_vec_any_eq_u16_b, vec_any_eqv8hi, B_DEP, 0, BT_OV_INT_UV8HI_BV8HI)
1276 OB_DEF_VAR (s390_vec_any_eq_s32_a, vec_any_eqv4si, 0, 0, BT_OV_INT_V4SI_V4SI)
1277 OB_DEF_VAR (s390_vec_any_eq_s32_b, vec_any_eqv4si, B_DEP, 0, BT_OV_INT_V4SI_BV4SI)
1278 OB_DEF_VAR (s390_vec_any_eq_b32_a, vec_any_eqv4si, 0, 0, BT_OV_INT_BV4SI_BV4SI)
1279 OB_DEF_VAR (s390_vec_any_eq_b32_b, vec_any_eqv4si, B_DEP, 0, BT_OV_INT_BV4SI_V4SI)
1280 OB_DEF_VAR (s390_vec_any_eq_b32_c, vec_any_eqv4si, B_DEP, 0, BT_OV_INT_BV4SI_UV4SI)
1281 OB_DEF_VAR (s390_vec_any_eq_u32_a, vec_any_eqv4si, 0, 0, BT_OV_INT_UV4SI_UV4SI)
1282 OB_DEF_VAR (s390_vec_any_eq_u32_b, vec_any_eqv4si, B_DEP, 0, BT_OV_INT_UV4SI_BV4SI)
1283 OB_DEF_VAR (s390_vec_any_eq_s64_a, vec_any_eqv2di, 0, 0, BT_OV_INT_V2DI_V2DI)
1284 OB_DEF_VAR (s390_vec_any_eq_s64_b, vec_any_eqv2di, B_DEP, 0, BT_OV_INT_V2DI_BV2DI)
1285 OB_DEF_VAR (s390_vec_any_eq_b64_a, vec_any_eqv2di, 0, 0, BT_OV_INT_BV2DI_BV2DI)
1286 OB_DEF_VAR (s390_vec_any_eq_b64_b, vec_any_eqv2di, B_DEP, 0, BT_OV_INT_BV2DI_V2DI)
1287 OB_DEF_VAR (s390_vec_any_eq_b64_c, vec_any_eqv2di, B_DEP, 0, BT_OV_INT_BV2DI_UV2DI)
1288 OB_DEF_VAR (s390_vec_any_eq_u64_a, vec_any_eqv2di, 0, 0, BT_OV_INT_UV2DI_UV2DI)
1289 OB_DEF_VAR (s390_vec_any_eq_u64_b, vec_any_eqv2di, B_DEP, 0, BT_OV_INT_UV2DI_BV2DI)
1290 OB_DEF_VAR (s390_vec_any_eq_flt, vec_any_eqv4sf, B_VXE, 0, BT_OV_INT_V4SF_V4SF)
1291 OB_DEF_VAR (s390_vec_any_eq_dbl, vec_any_eqv2df, 0, 0, BT_OV_INT_V2DF_V2DF)
1292
1293 OB_DEF (s390_vec_any_ne, s390_vec_any_ne_s8_a,s390_vec_any_ne_dbl,B_VX, BT_FN_INT_OV4SI_OV4SI)
1294 OB_DEF_VAR (s390_vec_any_ne_s8_a, vec_any_nev16qi, 0, 0, BT_OV_INT_V16QI_V16QI)
1295 OB_DEF_VAR (s390_vec_any_ne_s8_b, vec_any_nev16qi, B_DEP, 0, BT_OV_INT_V16QI_BV16QI)
1296 OB_DEF_VAR (s390_vec_any_ne_b8_a, vec_any_nev16qi, 0, 0, BT_OV_INT_BV16QI_BV16QI)
1297 OB_DEF_VAR (s390_vec_any_ne_b8_b, vec_any_nev16qi, B_DEP, 0, BT_OV_INT_BV16QI_V16QI)
1298 OB_DEF_VAR (s390_vec_any_ne_b8_c, vec_any_nev16qi, B_DEP, 0, BT_OV_INT_BV16QI_UV16QI)
1299 OB_DEF_VAR (s390_vec_any_ne_u8_a, vec_any_nev16qi, 0, 0, BT_OV_INT_UV16QI_UV16QI)
1300 OB_DEF_VAR (s390_vec_any_ne_u8_b, vec_any_nev16qi, B_DEP, 0, BT_OV_INT_UV16QI_BV16QI)
1301 OB_DEF_VAR (s390_vec_any_ne_s16_a, vec_any_nev8hi, 0, 0, BT_OV_INT_V8HI_V8HI)
1302 OB_DEF_VAR (s390_vec_any_ne_s16_b, vec_any_nev8hi, B_DEP, 0, BT_OV_INT_V8HI_BV8HI)
1303 OB_DEF_VAR (s390_vec_any_ne_b16_a, vec_any_nev8hi, 0, 0, BT_OV_INT_BV8HI_BV8HI)
1304 OB_DEF_VAR (s390_vec_any_ne_b16_b, vec_any_nev8hi, B_DEP, 0, BT_OV_INT_BV8HI_V8HI)
1305 OB_DEF_VAR (s390_vec_any_ne_b16_c, vec_any_nev8hi, B_DEP, 0, BT_OV_INT_BV8HI_UV8HI)
1306 OB_DEF_VAR (s390_vec_any_ne_u16_a, vec_any_nev8hi, 0, 0, BT_OV_INT_UV8HI_UV8HI)
1307 OB_DEF_VAR (s390_vec_any_ne_u16_b, vec_any_nev8hi, B_DEP, 0, BT_OV_INT_UV8HI_BV8HI)
1308 OB_DEF_VAR (s390_vec_any_ne_s32_a, vec_any_nev4si, 0, 0, BT_OV_INT_V4SI_V4SI)
1309 OB_DEF_VAR (s390_vec_any_ne_s32_b, vec_any_nev4si, B_DEP, 0, BT_OV_INT_V4SI_BV4SI)
1310 OB_DEF_VAR (s390_vec_any_ne_b32_a, vec_any_nev4si, 0, 0, BT_OV_INT_BV4SI_BV4SI)
1311 OB_DEF_VAR (s390_vec_any_ne_b32_b, vec_any_nev4si, B_DEP, 0, BT_OV_INT_BV4SI_V4SI)
1312 OB_DEF_VAR (s390_vec_any_ne_b32_c, vec_any_nev4si, B_DEP, 0, BT_OV_INT_BV4SI_UV4SI)
1313 OB_DEF_VAR (s390_vec_any_ne_u32_a, vec_any_nev4si, 0, 0, BT_OV_INT_UV4SI_UV4SI)
1314 OB_DEF_VAR (s390_vec_any_ne_u32_b, vec_any_nev4si, B_DEP, 0, BT_OV_INT_UV4SI_BV4SI)
1315 OB_DEF_VAR (s390_vec_any_ne_s64_a, vec_any_nev2di, 0, 0, BT_OV_INT_V2DI_V2DI)
1316 OB_DEF_VAR (s390_vec_any_ne_s64_b, vec_any_nev2di, B_DEP, 0, BT_OV_INT_V2DI_BV2DI)
1317 OB_DEF_VAR (s390_vec_any_ne_b64_a, vec_any_nev2di, 0, 0, BT_OV_INT_BV2DI_BV2DI)
1318 OB_DEF_VAR (s390_vec_any_ne_b64_b, vec_any_nev2di, B_DEP, 0, BT_OV_INT_BV2DI_V2DI)
1319 OB_DEF_VAR (s390_vec_any_ne_b64_c, vec_any_nev2di, B_DEP, 0, BT_OV_INT_BV2DI_UV2DI)
1320 OB_DEF_VAR (s390_vec_any_ne_u64_a, vec_any_nev2di, 0, 0, BT_OV_INT_UV2DI_UV2DI)
1321 OB_DEF_VAR (s390_vec_any_ne_u64_b, vec_any_nev2di, B_DEP, 0, BT_OV_INT_UV2DI_BV2DI)
1322 OB_DEF_VAR (s390_vec_any_ne_flt, vec_any_nev4sf, B_VXE, 0, BT_OV_INT_V4SF_V4SF)
1323 OB_DEF_VAR (s390_vec_any_ne_dbl, vec_any_nev2df, 0, 0, BT_OV_INT_V2DF_V2DF)
1324
1325 OB_DEF (s390_vec_any_ge, s390_vec_any_ge_s8_a,s390_vec_any_ge_dbl,B_VX, BT_FN_INT_OV4SI_OV4SI)
1326 OB_DEF_VAR (s390_vec_any_ge_s8_a, vec_any_gev16qi, 0, 0, BT_OV_INT_V16QI_V16QI)
1327 OB_DEF_VAR (s390_vec_any_ge_s8_b, vec_any_gev16qi, B_DEP, 0, BT_OV_INT_V16QI_BV16QI)
1328 OB_DEF_VAR (s390_vec_any_ge_b8_a, vec_any_geuv16qi, B_DEP, 0, BT_OV_INT_BV16QI_BV16QI)
1329 OB_DEF_VAR (s390_vec_any_ge_b8_b, vec_any_gev16qi, B_DEP, 0, BT_OV_INT_BV16QI_V16QI)
1330 OB_DEF_VAR (s390_vec_any_ge_b8_c, vec_any_geuv16qi, B_DEP, 0, BT_OV_INT_BV16QI_UV16QI)
1331 OB_DEF_VAR (s390_vec_any_ge_u8_a, vec_any_geuv16qi, 0, 0, BT_OV_INT_UV16QI_UV16QI)
1332 OB_DEF_VAR (s390_vec_any_ge_u8_b, vec_any_geuv16qi, B_DEP, 0, BT_OV_INT_UV16QI_BV16QI)
1333 OB_DEF_VAR (s390_vec_any_ge_s16_a, vec_any_gev8hi, 0, 0, BT_OV_INT_V8HI_V8HI)
1334 OB_DEF_VAR (s390_vec_any_ge_s16_b, vec_any_gev8hi, B_DEP, 0, BT_OV_INT_V8HI_BV8HI)
1335 OB_DEF_VAR (s390_vec_any_ge_b16_a, vec_any_geuv8hi, B_DEP, 0, BT_OV_INT_BV8HI_BV8HI)
1336 OB_DEF_VAR (s390_vec_any_ge_b16_b, vec_any_gev8hi, B_DEP, 0, BT_OV_INT_BV8HI_V8HI)
1337 OB_DEF_VAR (s390_vec_any_ge_b16_c, vec_any_geuv8hi, B_DEP, 0, BT_OV_INT_BV8HI_UV8HI)
1338 OB_DEF_VAR (s390_vec_any_ge_u16_a, vec_any_geuv8hi, 0, 0, BT_OV_INT_UV8HI_UV8HI)
1339 OB_DEF_VAR (s390_vec_any_ge_u16_b, vec_any_geuv8hi, B_DEP, 0, BT_OV_INT_UV8HI_BV8HI)
1340 OB_DEF_VAR (s390_vec_any_ge_s32_a, vec_any_gev4si, 0, 0, BT_OV_INT_V4SI_V4SI)
1341 OB_DEF_VAR (s390_vec_any_ge_s32_b, vec_any_gev4si, B_DEP, 0, BT_OV_INT_V4SI_BV4SI)
1342 OB_DEF_VAR (s390_vec_any_ge_b32_a, vec_any_geuv4si, B_DEP, 0, BT_OV_INT_BV4SI_BV4SI)
1343 OB_DEF_VAR (s390_vec_any_ge_b32_b, vec_any_gev4si, B_DEP, 0, BT_OV_INT_BV4SI_V4SI)
1344 OB_DEF_VAR (s390_vec_any_ge_b32_c, vec_any_geuv4si, B_DEP, 0, BT_OV_INT_BV4SI_UV4SI)
1345 OB_DEF_VAR (s390_vec_any_ge_u32_a, vec_any_geuv4si, 0, 0, BT_OV_INT_UV4SI_UV4SI)
1346 OB_DEF_VAR (s390_vec_any_ge_u32_b, vec_any_geuv4si, B_DEP, 0, BT_OV_INT_UV4SI_BV4SI)
1347 OB_DEF_VAR (s390_vec_any_ge_s64_a, vec_any_gev2di, 0, 0, BT_OV_INT_V2DI_V2DI)
1348 OB_DEF_VAR (s390_vec_any_ge_s64_b, vec_any_gev2di, B_DEP, 0, BT_OV_INT_V2DI_BV2DI)
1349 OB_DEF_VAR (s390_vec_any_ge_b64_a, vec_any_geuv2di, B_DEP, 0, BT_OV_INT_BV2DI_BV2DI)
1350 OB_DEF_VAR (s390_vec_any_ge_b64_b, vec_any_gev2di, B_DEP, 0, BT_OV_INT_BV2DI_V2DI)
1351 OB_DEF_VAR (s390_vec_any_ge_b64_c, vec_any_geuv2di, B_DEP, 0, BT_OV_INT_BV2DI_UV2DI)
1352 OB_DEF_VAR (s390_vec_any_ge_u64_a, vec_any_geuv2di, 0, 0, BT_OV_INT_UV2DI_UV2DI)
1353 OB_DEF_VAR (s390_vec_any_ge_u64_b, vec_any_geuv2di, B_DEP, 0, BT_OV_INT_UV2DI_BV2DI)
1354 OB_DEF_VAR (s390_vec_any_ge_flt, vec_any_gev4sf, B_VXE, 0, BT_OV_INT_V4SF_V4SF)
1355 OB_DEF_VAR (s390_vec_any_ge_dbl, vec_any_gev2df, 0, 0, BT_OV_INT_V2DF_V2DF)
1356
1357 OB_DEF (s390_vec_any_gt, s390_vec_any_gt_s8_a,s390_vec_any_gt_dbl,B_VX, BT_FN_INT_OV4SI_OV4SI)
1358 OB_DEF_VAR (s390_vec_any_gt_s8_a, vec_any_gtv16qi, 0, 0, BT_OV_INT_V16QI_V16QI)
1359 OB_DEF_VAR (s390_vec_any_gt_s8_b, vec_any_gtv16qi, B_DEP, 0, BT_OV_INT_V16QI_BV16QI)
1360 OB_DEF_VAR (s390_vec_any_gt_b8_a, vec_any_gtuv16qi, B_DEP, 0, BT_OV_INT_BV16QI_BV16QI)
1361 OB_DEF_VAR (s390_vec_any_gt_b8_b, vec_any_gtv16qi, B_DEP, 0, BT_OV_INT_BV16QI_V16QI)
1362 OB_DEF_VAR (s390_vec_any_gt_b8_c, vec_any_gtuv16qi, B_DEP, 0, BT_OV_INT_BV16QI_UV16QI)
1363 OB_DEF_VAR (s390_vec_any_gt_u8_a, vec_any_gtuv16qi, 0, 0, BT_OV_INT_UV16QI_UV16QI)
1364 OB_DEF_VAR (s390_vec_any_gt_u8_b, vec_any_gtuv16qi, B_DEP, 0, BT_OV_INT_UV16QI_BV16QI)
1365 OB_DEF_VAR (s390_vec_any_gt_s16_a, vec_any_gtv8hi, 0, 0, BT_OV_INT_V8HI_V8HI)
1366 OB_DEF_VAR (s390_vec_any_gt_s16_b, vec_any_gtv8hi, B_DEP, 0, BT_OV_INT_V8HI_BV8HI)
1367 OB_DEF_VAR (s390_vec_any_gt_b16_a, vec_any_gtuv8hi, B_DEP, 0, BT_OV_INT_BV8HI_BV8HI)
1368 OB_DEF_VAR (s390_vec_any_gt_b16_b, vec_any_gtv8hi, B_DEP, 0, BT_OV_INT_BV8HI_V8HI)
1369 OB_DEF_VAR (s390_vec_any_gt_b16_c, vec_any_gtuv8hi, B_DEP, 0, BT_OV_INT_BV8HI_UV8HI)
1370 OB_DEF_VAR (s390_vec_any_gt_u16_a, vec_any_gtuv8hi, 0, 0, BT_OV_INT_UV8HI_UV8HI)
1371 OB_DEF_VAR (s390_vec_any_gt_u16_b, vec_any_gtuv8hi, B_DEP, 0, BT_OV_INT_UV8HI_BV8HI)
1372 OB_DEF_VAR (s390_vec_any_gt_s32_a, vec_any_gtv4si, 0, 0, BT_OV_INT_V4SI_V4SI)
1373 OB_DEF_VAR (s390_vec_any_gt_s32_b, vec_any_gtv4si, B_DEP, 0, BT_OV_INT_V4SI_BV4SI)
1374 OB_DEF_VAR (s390_vec_any_gt_b32_a, vec_any_gtuv4si, B_DEP, 0, BT_OV_INT_BV4SI_BV4SI)
1375 OB_DEF_VAR (s390_vec_any_gt_b32_b, vec_any_gtv4si, B_DEP, 0, BT_OV_INT_BV4SI_V4SI)
1376 OB_DEF_VAR (s390_vec_any_gt_b32_c, vec_any_gtuv4si, B_DEP, 0, BT_OV_INT_BV4SI_UV4SI)
1377 OB_DEF_VAR (s390_vec_any_gt_u32_a, vec_any_gtuv4si, 0, 0, BT_OV_INT_UV4SI_UV4SI)
1378 OB_DEF_VAR (s390_vec_any_gt_u32_b, vec_any_gtuv4si, B_DEP, 0, BT_OV_INT_UV4SI_BV4SI)
1379 OB_DEF_VAR (s390_vec_any_gt_s64_a, vec_any_gtv2di, 0, 0, BT_OV_INT_V2DI_V2DI)
1380 OB_DEF_VAR (s390_vec_any_gt_s64_b, vec_any_gtv2di, B_DEP, 0, BT_OV_INT_V2DI_BV2DI)
1381 OB_DEF_VAR (s390_vec_any_gt_b64_a, vec_any_gtuv2di, B_DEP, 0, BT_OV_INT_BV2DI_BV2DI)
1382 OB_DEF_VAR (s390_vec_any_gt_b64_b, vec_any_gtv2di, B_DEP, 0, BT_OV_INT_BV2DI_V2DI)
1383 OB_DEF_VAR (s390_vec_any_gt_b64_c, vec_any_gtuv2di, B_DEP, 0, BT_OV_INT_BV2DI_UV2DI)
1384 OB_DEF_VAR (s390_vec_any_gt_u64_a, vec_any_gtuv2di, 0, 0, BT_OV_INT_UV2DI_UV2DI)
1385 OB_DEF_VAR (s390_vec_any_gt_u64_b, vec_any_gtuv2di, B_DEP, 0, BT_OV_INT_UV2DI_BV2DI)
1386 OB_DEF_VAR (s390_vec_any_gt_flt, vec_any_gtv4sf, B_VXE, 0, BT_OV_INT_V4SF_V4SF)
1387 OB_DEF_VAR (s390_vec_any_gt_dbl, vec_any_gtv2df, 0, 0, BT_OV_INT_V2DF_V2DF)
1388
1389 OB_DEF (s390_vec_any_le, s390_vec_any_le_s8_a,s390_vec_any_le_dbl,B_VX, BT_FN_INT_OV4SI_OV4SI)
1390 OB_DEF_VAR (s390_vec_any_le_s8_a, vec_any_lev16qi, 0, 0, BT_OV_INT_V16QI_V16QI)
1391 OB_DEF_VAR (s390_vec_any_le_s8_b, vec_any_lev16qi, B_DEP, 0, BT_OV_INT_V16QI_BV16QI)
1392 OB_DEF_VAR (s390_vec_any_le_b8_a, vec_any_leuv16qi, B_DEP, 0, BT_OV_INT_BV16QI_BV16QI)
1393 OB_DEF_VAR (s390_vec_any_le_b8_b, vec_any_lev16qi, B_DEP, 0, BT_OV_INT_BV16QI_V16QI)
1394 OB_DEF_VAR (s390_vec_any_le_b8_c, vec_any_leuv16qi, B_DEP, 0, BT_OV_INT_BV16QI_UV16QI)
1395 OB_DEF_VAR (s390_vec_any_le_u8_a, vec_any_leuv16qi, 0, 0, BT_OV_INT_UV16QI_UV16QI)
1396 OB_DEF_VAR (s390_vec_any_le_u8_b, vec_any_leuv16qi, B_DEP, 0, BT_OV_INT_UV16QI_BV16QI)
1397 OB_DEF_VAR (s390_vec_any_le_s16_a, vec_any_lev8hi, 0, 0, BT_OV_INT_V8HI_V8HI)
1398 OB_DEF_VAR (s390_vec_any_le_s16_b, vec_any_lev8hi, B_DEP, 0, BT_OV_INT_V8HI_BV8HI)
1399 OB_DEF_VAR (s390_vec_any_le_b16_a, vec_any_leuv8hi, B_DEP, 0, BT_OV_INT_BV8HI_BV8HI)
1400 OB_DEF_VAR (s390_vec_any_le_b16_b, vec_any_lev8hi, B_DEP, 0, BT_OV_INT_BV8HI_V8HI)
1401 OB_DEF_VAR (s390_vec_any_le_b16_c, vec_any_leuv8hi, B_DEP, 0, BT_OV_INT_BV8HI_UV8HI)
1402 OB_DEF_VAR (s390_vec_any_le_u16_a, vec_any_leuv8hi, 0, 0, BT_OV_INT_UV8HI_UV8HI)
1403 OB_DEF_VAR (s390_vec_any_le_u16_b, vec_any_leuv8hi, B_DEP, 0, BT_OV_INT_UV8HI_BV8HI)
1404 OB_DEF_VAR (s390_vec_any_le_s32_a, vec_any_lev4si, 0, 0, BT_OV_INT_V4SI_V4SI)
1405 OB_DEF_VAR (s390_vec_any_le_s32_b, vec_any_lev4si, B_DEP, 0, BT_OV_INT_V4SI_BV4SI)
1406 OB_DEF_VAR (s390_vec_any_le_b32_a, vec_any_leuv4si, B_DEP, 0, BT_OV_INT_BV4SI_BV4SI)
1407 OB_DEF_VAR (s390_vec_any_le_b32_b, vec_any_lev4si, B_DEP, 0, BT_OV_INT_BV4SI_V4SI)
1408 OB_DEF_VAR (s390_vec_any_le_b32_c, vec_any_leuv4si, B_DEP, 0, BT_OV_INT_BV4SI_UV4SI)
1409 OB_DEF_VAR (s390_vec_any_le_u32_a, vec_any_leuv4si, 0, 0, BT_OV_INT_UV4SI_UV4SI)
1410 OB_DEF_VAR (s390_vec_any_le_u32_b, vec_any_leuv4si, B_DEP, 0, BT_OV_INT_UV4SI_BV4SI)
1411 OB_DEF_VAR (s390_vec_any_le_s64_a, vec_any_lev2di, 0, 0, BT_OV_INT_V2DI_V2DI)
1412 OB_DEF_VAR (s390_vec_any_le_s64_b, vec_any_lev2di, B_DEP, 0, BT_OV_INT_V2DI_BV2DI)
1413 OB_DEF_VAR (s390_vec_any_le_b64_a, vec_any_leuv2di, B_DEP, 0, BT_OV_INT_BV2DI_BV2DI)
1414 OB_DEF_VAR (s390_vec_any_le_b64_b, vec_any_lev2di, B_DEP, 0, BT_OV_INT_BV2DI_V2DI)
1415 OB_DEF_VAR (s390_vec_any_le_b64_c, vec_any_leuv2di, B_DEP, 0, BT_OV_INT_BV2DI_UV2DI)
1416 OB_DEF_VAR (s390_vec_any_le_u64_a, vec_any_leuv2di, 0, 0, BT_OV_INT_UV2DI_UV2DI)
1417 OB_DEF_VAR (s390_vec_any_le_u64_b, vec_any_leuv2di, B_DEP, 0, BT_OV_INT_UV2DI_BV2DI)
1418 OB_DEF_VAR (s390_vec_any_le_flt, vec_any_lev4sf, B_VXE, 0, BT_OV_INT_V4SF_V4SF)
1419 OB_DEF_VAR (s390_vec_any_le_dbl, vec_any_lev2df, 0, 0, BT_OV_INT_V2DF_V2DF)
1420
1421 OB_DEF (s390_vec_any_lt, s390_vec_any_lt_s8_a,s390_vec_any_lt_dbl,B_VX, BT_FN_INT_OV4SI_OV4SI)
1422 OB_DEF_VAR (s390_vec_any_lt_s8_a, vec_any_ltv16qi, 0, 0, BT_OV_INT_V16QI_V16QI)
1423 OB_DEF_VAR (s390_vec_any_lt_s8_b, vec_any_ltv16qi, B_DEP, 0, BT_OV_INT_V16QI_BV16QI)
1424 OB_DEF_VAR (s390_vec_any_lt_b8_a, vec_any_ltuv16qi, B_DEP, 0, BT_OV_INT_BV16QI_BV16QI)
1425 OB_DEF_VAR (s390_vec_any_lt_b8_b, vec_any_ltv16qi, B_DEP, 0, BT_OV_INT_BV16QI_V16QI)
1426 OB_DEF_VAR (s390_vec_any_lt_b8_c, vec_any_ltuv16qi, B_DEP, 0, BT_OV_INT_BV16QI_UV16QI)
1427 OB_DEF_VAR (s390_vec_any_lt_u8_a, vec_any_ltuv16qi, 0, 0, BT_OV_INT_UV16QI_UV16QI)
1428 OB_DEF_VAR (s390_vec_any_lt_u8_b, vec_any_ltuv16qi, B_DEP, 0, BT_OV_INT_UV16QI_BV16QI)
1429 OB_DEF_VAR (s390_vec_any_lt_s16_a, vec_any_ltv8hi, 0, 0, BT_OV_INT_V8HI_V8HI)
1430 OB_DEF_VAR (s390_vec_any_lt_s16_b, vec_any_ltv8hi, B_DEP, 0, BT_OV_INT_V8HI_BV8HI)
1431 OB_DEF_VAR (s390_vec_any_lt_b16_a, vec_any_ltuv8hi, B_DEP, 0, BT_OV_INT_BV8HI_BV8HI)
1432 OB_DEF_VAR (s390_vec_any_lt_b16_b, vec_any_ltv8hi, B_DEP, 0, BT_OV_INT_BV8HI_V8HI)
1433 OB_DEF_VAR (s390_vec_any_lt_b16_c, vec_any_ltuv8hi, B_DEP, 0, BT_OV_INT_BV8HI_UV8HI)
1434 OB_DEF_VAR (s390_vec_any_lt_u16_a, vec_any_ltuv8hi, 0, 0, BT_OV_INT_UV8HI_UV8HI)
1435 OB_DEF_VAR (s390_vec_any_lt_u16_b, vec_any_ltuv8hi, B_DEP, 0, BT_OV_INT_UV8HI_BV8HI)
1436 OB_DEF_VAR (s390_vec_any_lt_s32_a, vec_any_ltv4si, 0, 0, BT_OV_INT_V4SI_V4SI)
1437 OB_DEF_VAR (s390_vec_any_lt_s32_b, vec_any_ltv4si, B_DEP, 0, BT_OV_INT_V4SI_BV4SI)
1438 OB_DEF_VAR (s390_vec_any_lt_b32_a, vec_any_ltuv4si, B_DEP, 0, BT_OV_INT_BV4SI_BV4SI)
1439 OB_DEF_VAR (s390_vec_any_lt_b32_b, vec_any_ltv4si, B_DEP, 0, BT_OV_INT_BV4SI_V4SI)
1440 OB_DEF_VAR (s390_vec_any_lt_b32_c, vec_any_ltuv4si, B_DEP, 0, BT_OV_INT_BV4SI_UV4SI)
1441 OB_DEF_VAR (s390_vec_any_lt_u32_a, vec_any_ltuv4si, 0, 0, BT_OV_INT_UV4SI_UV4SI)
1442 OB_DEF_VAR (s390_vec_any_lt_u32_b, vec_any_ltuv4si, B_DEP, 0, BT_OV_INT_UV4SI_BV4SI)
1443 OB_DEF_VAR (s390_vec_any_lt_s64_a, vec_any_ltv2di, 0, 0, BT_OV_INT_V2DI_V2DI)
1444 OB_DEF_VAR (s390_vec_any_lt_s64_b, vec_any_ltv2di, B_DEP, 0, BT_OV_INT_V2DI_BV2DI)
1445 OB_DEF_VAR (s390_vec_any_lt_b64_a, vec_any_ltuv2di, B_DEP, 0, BT_OV_INT_BV2DI_BV2DI)
1446 OB_DEF_VAR (s390_vec_any_lt_b64_b, vec_any_ltv2di, B_DEP, 0, BT_OV_INT_BV2DI_V2DI)
1447 OB_DEF_VAR (s390_vec_any_lt_b64_c, vec_any_ltuv2di, B_DEP, 0, BT_OV_INT_BV2DI_UV2DI)
1448 OB_DEF_VAR (s390_vec_any_lt_u64_a, vec_any_ltuv2di, 0, 0, BT_OV_INT_UV2DI_UV2DI)
1449 OB_DEF_VAR (s390_vec_any_lt_u64_b, vec_any_ltuv2di, B_DEP, 0, BT_OV_INT_UV2DI_BV2DI)
1450 OB_DEF_VAR (s390_vec_any_lt_flt, vec_any_ltv4sf, B_VXE, 0, BT_OV_INT_V4SF_V4SF)
1451 OB_DEF_VAR (s390_vec_any_lt_dbl, vec_any_ltv2df, 0, 0, BT_OV_INT_V2DF_V2DF)
1452
1453 OB_DEF (s390_vec_cmpeq, s390_vec_cmpeq_s8, s390_vec_cmpeq_dbl, B_VX, BT_FN_OV4SI_OV4SI_OV4SI)
1454 OB_DEF_VAR (s390_vec_cmpeq_s8, s390_vceqb, 0, 0, BT_OV_BV16QI_V16QI_V16QI)
1455 OB_DEF_VAR (s390_vec_cmpeq_u8, s390_vceqb, 0, 0, BT_OV_BV16QI_UV16QI_UV16QI)
1456 OB_DEF_VAR (s390_vec_cmpeq_b8, s390_vceqb, 0, 0, BT_OV_BV16QI_BV16QI_BV16QI)
1457 OB_DEF_VAR (s390_vec_cmpeq_s16, s390_vceqh, 0, 0, BT_OV_BV8HI_V8HI_V8HI)
1458 OB_DEF_VAR (s390_vec_cmpeq_u16, s390_vceqh, 0, 0, BT_OV_BV8HI_UV8HI_UV8HI)
1459 OB_DEF_VAR (s390_vec_cmpeq_b16, s390_vceqh, 0, 0, BT_OV_BV8HI_BV8HI_BV8HI)
1460 OB_DEF_VAR (s390_vec_cmpeq_s32, s390_vceqf, 0, 0, BT_OV_BV4SI_V4SI_V4SI)
1461 OB_DEF_VAR (s390_vec_cmpeq_u32, s390_vceqf, 0, 0, BT_OV_BV4SI_UV4SI_UV4SI)
1462 OB_DEF_VAR (s390_vec_cmpeq_b32, s390_vceqf, 0, 0, BT_OV_BV4SI_BV4SI_BV4SI)
1463 OB_DEF_VAR (s390_vec_cmpeq_s64, s390_vceqg, 0, 0, BT_OV_BV2DI_V2DI_V2DI)
1464 OB_DEF_VAR (s390_vec_cmpeq_u64, s390_vceqg, 0, 0, BT_OV_BV2DI_UV2DI_UV2DI)
1465 OB_DEF_VAR (s390_vec_cmpeq_b64, s390_vceqg, 0, 0, BT_OV_BV2DI_BV2DI_BV2DI)
1466 OB_DEF_VAR (s390_vec_cmpeq_flt, s390_vfcesb, B_VXE, 0, BT_OV_BV4SI_V4SF_V4SF)
1467 OB_DEF_VAR (s390_vec_cmpeq_dbl, s390_vfcedb, 0, 0, BT_OV_BV2DI_V2DF_V2DF)
1468
1469 B_DEF (s390_vceqb, vec_cmpeqv16qi, 0, B_VX, 0, BT_FN_V16QI_UV16QI_UV16QI)
1470 B_DEF (s390_vceqh, vec_cmpeqv8hi, 0, B_VX, 0, BT_FN_V8HI_UV8HI_UV8HI)
1471 B_DEF (s390_vceqf, vec_cmpeqv4si, 0, B_VX, 0, BT_FN_V4SI_UV4SI_UV4SI)
1472 B_DEF (s390_vceqg, vec_cmpeqv2di, 0, B_VX, 0, BT_FN_V2DI_UV2DI_UV2DI)
1473 B_DEF (s390_vfcesb, vec_cmpeqv4sf, 0, B_VXE, 0, BT_FN_V4SI_V4SF_V4SF)
1474 B_DEF (s390_vfcedb, vec_cmpeqv2df, 0, B_VX, 0, BT_FN_V2DI_V2DF_V2DF)
1475
1476 OB_DEF (s390_vec_cmpge, s390_vec_cmpge_s8, s390_vec_cmpge_dbl, B_VX, BT_FN_OV4SI_OV4SI_OV4SI)
1477 OB_DEF_VAR (s390_vec_cmpge_s8, vec_cmpgev16qi, 0, 0, BT_OV_BV16QI_V16QI_V16QI)
1478 OB_DEF_VAR (s390_vec_cmpge_u8, vec_cmpgeuv16qi, 0, 0, BT_OV_BV16QI_UV16QI_UV16QI)
1479 OB_DEF_VAR (s390_vec_cmpge_s16, vec_cmpgev8hi, 0, 0, BT_OV_BV8HI_V8HI_V8HI)
1480 OB_DEF_VAR (s390_vec_cmpge_u16, vec_cmpgeuv8hi, 0, 0, BT_OV_BV8HI_UV8HI_UV8HI)
1481 OB_DEF_VAR (s390_vec_cmpge_s32, vec_cmpgev4si, 0, 0, BT_OV_BV4SI_V4SI_V4SI)
1482 OB_DEF_VAR (s390_vec_cmpge_u32, vec_cmpgeuv4si, 0, 0, BT_OV_BV4SI_UV4SI_UV4SI)
1483 OB_DEF_VAR (s390_vec_cmpge_s64, vec_cmpgev2di, 0, 0, BT_OV_BV2DI_V2DI_V2DI)
1484 OB_DEF_VAR (s390_vec_cmpge_u64, vec_cmpgeuv2di, 0, 0, BT_OV_BV2DI_UV2DI_UV2DI)
1485 OB_DEF_VAR (s390_vec_cmpge_flt, s390_vfchesb, B_VXE, 0, BT_OV_BV4SI_V4SF_V4SF)
1486 OB_DEF_VAR (s390_vec_cmpge_dbl, s390_vfchedb, 0, 0, BT_OV_BV2DI_V2DF_V2DF)
1487
1488 B_DEF (vec_cmpgev16qi, vec_cmpgev16qi, 0, B_INT | B_VX, 0, BT_FN_V16QI_UV16QI_UV16QI)
1489 B_DEF (vec_cmpgeuv16qi, vec_cmpgeuv16qi, 0, B_INT | B_VX, 0, BT_FN_V16QI_UV16QI_UV16QI)
1490 B_DEF (vec_cmpgev8hi, vec_cmpgev8hi, 0, B_INT | B_VX, 0, BT_FN_V8HI_UV8HI_UV8HI)
1491 B_DEF (vec_cmpgeuv8hi, vec_cmpgeuv8hi, 0, B_INT | B_VX, 0, BT_FN_V8HI_UV8HI_UV8HI)
1492 B_DEF (vec_cmpgev4si, vec_cmpgev4si, 0, B_INT | B_VX, 0, BT_FN_V4SI_UV4SI_UV4SI)
1493 B_DEF (vec_cmpgeuv4si, vec_cmpgeuv4si, 0, B_INT | B_VX, 0, BT_FN_V4SI_UV4SI_UV4SI)
1494 B_DEF (vec_cmpgev2di, vec_cmpgev2di, 0, B_INT | B_VX, 0, BT_FN_V2DI_UV2DI_UV2DI)
1495 B_DEF (vec_cmpgeuv2di, vec_cmpgeuv2di, 0, B_INT | B_VX, 0, BT_FN_V2DI_UV2DI_UV2DI)
1496 B_DEF (s390_vfchesb, vec_cmpgev4sf, 0, B_VXE, 0, BT_FN_V4SI_V4SF_V4SF)
1497 B_DEF (s390_vfchedb, vec_cmpgev2df, 0, B_VX, 0, BT_FN_V2DI_V2DF_V2DF)
1498
1499 OB_DEF (s390_vec_cmpgt, s390_vec_cmpgt_s8, s390_vec_cmpgt_dbl, B_VX, BT_FN_OV4SI_OV4SI_OV4SI)
1500 OB_DEF_VAR (s390_vec_cmpgt_s8, s390_vchb, 0, 0, BT_OV_BV16QI_V16QI_V16QI)
1501 OB_DEF_VAR (s390_vec_cmpgt_u8, s390_vchlb, 0, 0, BT_OV_BV16QI_UV16QI_UV16QI)
1502 OB_DEF_VAR (s390_vec_cmpgt_s16, s390_vchh, 0, 0, BT_OV_BV8HI_V8HI_V8HI)
1503 OB_DEF_VAR (s390_vec_cmpgt_u16, s390_vchlh, 0, 0, BT_OV_BV8HI_UV8HI_UV8HI)
1504 OB_DEF_VAR (s390_vec_cmpgt_s32, s390_vchf, 0, 0, BT_OV_BV4SI_V4SI_V4SI)
1505 OB_DEF_VAR (s390_vec_cmpgt_u32, s390_vchlf, 0, 0, BT_OV_BV4SI_UV4SI_UV4SI)
1506 OB_DEF_VAR (s390_vec_cmpgt_s64, s390_vchg, 0, 0, BT_OV_BV2DI_V2DI_V2DI)
1507 OB_DEF_VAR (s390_vec_cmpgt_u64, s390_vchlg, 0, 0, BT_OV_BV2DI_UV2DI_UV2DI)
1508 OB_DEF_VAR (s390_vec_cmpgt_flt, s390_vfchsb, B_VXE, 0, BT_OV_BV4SI_V4SF_V4SF)
1509 OB_DEF_VAR (s390_vec_cmpgt_dbl, s390_vfchdb, 0, 0, BT_OV_BV2DI_V2DF_V2DF)
1510
1511 B_DEF (s390_vchb, vec_cmpgtv16qi, 0, B_VX, 0, BT_FN_V16QI_V16QI_V16QI)
1512 B_DEF (s390_vchlb, vec_cmpgtuv16qi, 0, B_VX, 0, BT_FN_V16QI_UV16QI_UV16QI)
1513 B_DEF (s390_vchh, vec_cmpgtv8hi, 0, B_VX, 0, BT_FN_V8HI_V8HI_V8HI)
1514 B_DEF (s390_vchlh, vec_cmpgtuv8hi, 0, B_VX, 0, BT_FN_V8HI_UV8HI_UV8HI)
1515 B_DEF (s390_vchf, vec_cmpgtv4si, 0, B_VX, 0, BT_FN_V4SI_V4SI_V4SI)
1516 B_DEF (s390_vchlf, vec_cmpgtuv4si, 0, B_VX, 0, BT_FN_V4SI_UV4SI_UV4SI)
1517 B_DEF (s390_vchg, vec_cmpgtv2di, 0, B_VX, 0, BT_FN_V2DI_V2DI_V2DI)
1518 B_DEF (s390_vchlg, vec_cmpgtuv2di, 0, B_VX, 0, BT_FN_V2DI_UV2DI_UV2DI)
1519 B_DEF (s390_vfchsb, vec_cmpgtv4sf, 0, B_VXE, 0, BT_FN_V4SI_V4SF_V4SF)
1520 B_DEF (s390_vfchdb, vec_cmpgtv2df, 0, B_VX, 0, BT_FN_V2DI_V2DF_V2DF)
1521
1522 OB_DEF (s390_vec_cmple, s390_vec_cmple_s8, s390_vec_cmple_dbl, B_VX, BT_FN_OV4SI_OV4SI_OV4SI)
1523 OB_DEF_VAR (s390_vec_cmple_s8, vec_cmplev16qi, 0, 0, BT_OV_BV16QI_V16QI_V16QI)
1524 OB_DEF_VAR (s390_vec_cmple_u8, vec_cmpleuv16qi, 0, 0, BT_OV_BV16QI_UV16QI_UV16QI)
1525 OB_DEF_VAR (s390_vec_cmple_s16, vec_cmplev8hi, 0, 0, BT_OV_BV8HI_V8HI_V8HI)
1526 OB_DEF_VAR (s390_vec_cmple_u16, vec_cmpleuv8hi, 0, 0, BT_OV_BV8HI_UV8HI_UV8HI)
1527 OB_DEF_VAR (s390_vec_cmple_s32, vec_cmplev4si, 0, 0, BT_OV_BV4SI_V4SI_V4SI)
1528 OB_DEF_VAR (s390_vec_cmple_u32, vec_cmpleuv4si, 0, 0, BT_OV_BV4SI_UV4SI_UV4SI)
1529 OB_DEF_VAR (s390_vec_cmple_s64, vec_cmplev2di, 0, 0, BT_OV_BV2DI_V2DI_V2DI)
1530 OB_DEF_VAR (s390_vec_cmple_u64, vec_cmpleuv2di, 0, 0, BT_OV_BV2DI_UV2DI_UV2DI)
1531 OB_DEF_VAR (s390_vec_cmple_flt, vec_cmplev4sf, B_VXE, 0, BT_OV_BV4SI_V4SF_V4SF)
1532 OB_DEF_VAR (s390_vec_cmple_dbl, vec_cmplev2df, 0, 0, BT_OV_BV2DI_V2DF_V2DF)
1533
1534 B_DEF (vec_cmplev16qi, vec_cmplev16qi, 0, B_INT | B_VX, 0, BT_FN_V16QI_UV16QI_UV16QI)
1535 B_DEF (vec_cmpleuv16qi, vec_cmpleuv16qi, 0, B_INT | B_VX, 0, BT_FN_V16QI_UV16QI_UV16QI)
1536 B_DEF (vec_cmplev8hi, vec_cmplev8hi, 0, B_INT | B_VX, 0, BT_FN_V8HI_UV8HI_UV8HI)
1537 B_DEF (vec_cmpleuv8hi, vec_cmpleuv8hi, 0, B_INT | B_VX, 0, BT_FN_V8HI_UV8HI_UV8HI)
1538 B_DEF (vec_cmplev4si, vec_cmplev4si, 0, B_INT | B_VX, 0, BT_FN_V4SI_UV4SI_UV4SI)
1539 B_DEF (vec_cmpleuv4si, vec_cmpleuv4si, 0, B_INT | B_VX, 0, BT_FN_V4SI_UV4SI_UV4SI)
1540 B_DEF (vec_cmplev2di, vec_cmplev2di, 0, B_INT | B_VX, 0, BT_FN_V2DI_UV2DI_UV2DI)
1541 B_DEF (vec_cmpleuv2di, vec_cmpleuv2di, 0, B_INT | B_VX, 0, BT_FN_V2DI_UV2DI_UV2DI)
1542 B_DEF (vec_cmplev4sf, vec_cmplev4sf, 0, B_INT | B_VXE, 0, BT_FN_V4SI_V4SF_V4SF)
1543 B_DEF (vec_cmplev2df, vec_cmplev2df, 0, B_INT | B_VX, 0, BT_FN_V2DI_V2DF_V2DF)
1544
1545 OB_DEF (s390_vec_cmplt, s390_vec_cmplt_s8, s390_vec_cmplt_dbl, B_VX, BT_FN_OV4SI_OV4SI_OV4SI)
1546 OB_DEF_VAR (s390_vec_cmplt_s8, vec_cmpltv16qi, 0, 0, BT_OV_BV16QI_V16QI_V16QI)
1547 OB_DEF_VAR (s390_vec_cmplt_u8, vec_cmpltuv16qi, 0, 0, BT_OV_BV16QI_UV16QI_UV16QI)
1548 OB_DEF_VAR (s390_vec_cmplt_s16, vec_cmpltv8hi, 0, 0, BT_OV_BV8HI_V8HI_V8HI)
1549 OB_DEF_VAR (s390_vec_cmplt_u16, vec_cmpltuv8hi, 0, 0, BT_OV_BV8HI_UV8HI_UV8HI)
1550 OB_DEF_VAR (s390_vec_cmplt_s32, vec_cmpltv4si, 0, 0, BT_OV_BV4SI_V4SI_V4SI)
1551 OB_DEF_VAR (s390_vec_cmplt_u32, vec_cmpltuv4si, 0, 0, BT_OV_BV4SI_UV4SI_UV4SI)
1552 OB_DEF_VAR (s390_vec_cmplt_s64, vec_cmpltv2di, 0, 0, BT_OV_BV2DI_V2DI_V2DI)
1553 OB_DEF_VAR (s390_vec_cmplt_u64, vec_cmpltuv2di, 0, 0, BT_OV_BV2DI_UV2DI_UV2DI)
1554 OB_DEF_VAR (s390_vec_cmplt_flt, vec_cmpltv4sf, B_VXE, 0, BT_OV_BV4SI_V4SF_V4SF)
1555 OB_DEF_VAR (s390_vec_cmplt_dbl, vec_cmpltv2df, 0, 0, BT_OV_BV2DI_V2DF_V2DF)
1556
1557 B_DEF (vec_cmpltv16qi, vec_cmpltv16qi, 0, B_INT | B_VX, 0, BT_FN_V16QI_UV16QI_UV16QI)
1558 B_DEF (vec_cmpltuv16qi, vec_cmpltuv16qi, 0, B_INT | B_VX, 0, BT_FN_V16QI_UV16QI_UV16QI)
1559 B_DEF (vec_cmpltv8hi, vec_cmpltv8hi, 0, B_INT | B_VX, 0, BT_FN_V8HI_UV8HI_UV8HI)
1560 B_DEF (vec_cmpltuv8hi, vec_cmpltuv8hi, 0, B_INT | B_VX, 0, BT_FN_V8HI_UV8HI_UV8HI)
1561 B_DEF (vec_cmpltv4si, vec_cmpltv4si, 0, B_INT | B_VX, 0, BT_FN_V4SI_UV4SI_UV4SI)
1562 B_DEF (vec_cmpltuv4si, vec_cmpltuv4si, 0, B_INT | B_VX, 0, BT_FN_V4SI_UV4SI_UV4SI)
1563 B_DEF (vec_cmpltv2di, vec_cmpltv2di, 0, B_INT | B_VX, 0, BT_FN_V2DI_UV2DI_UV2DI)
1564 B_DEF (vec_cmpltuv2di, vec_cmpltuv2di, 0, B_INT | B_VX, 0, BT_FN_V2DI_UV2DI_UV2DI)
1565 B_DEF (vec_cmpltv4sf, vec_cmpltv4sf, 0, B_INT | B_VXE, 0, BT_FN_V4SI_V4SF_V4SF)
1566 B_DEF (vec_cmpltv2df, vec_cmpltv2df, 0, B_INT | B_VX, 0, BT_FN_V2DI_V2DF_V2DF)
1567
1568 OB_DEF (s390_vec_cntlz, s390_vec_cntlz_s8, s390_vec_cntlz_u64, B_VX, BT_FN_OV4SI_OV4SI)
1569 OB_DEF_VAR (s390_vec_cntlz_s8, s390_vclzb, 0, 0, BT_OV_UV16QI_V16QI)
1570 OB_DEF_VAR (s390_vec_cntlz_u8, s390_vclzb, 0, 0, BT_OV_UV16QI_UV16QI)
1571 OB_DEF_VAR (s390_vec_cntlz_s16, s390_vclzh, 0, 0, BT_OV_UV8HI_V8HI)
1572 OB_DEF_VAR (s390_vec_cntlz_u16, s390_vclzh, 0, 0, BT_OV_UV8HI_UV8HI)
1573 OB_DEF_VAR (s390_vec_cntlz_s32, s390_vclzf, 0, 0, BT_OV_UV4SI_V4SI)
1574 OB_DEF_VAR (s390_vec_cntlz_u32, s390_vclzf, 0, 0, BT_OV_UV4SI_UV4SI)
1575 OB_DEF_VAR (s390_vec_cntlz_s64, s390_vclzg, 0, 0, BT_OV_UV2DI_V2DI)
1576 OB_DEF_VAR (s390_vec_cntlz_u64, s390_vclzg, 0, 0, BT_OV_UV2DI_UV2DI)
1577
1578 B_DEF (s390_vclzb, clzv16qi2, 0, B_VX, 0, BT_FN_UV16QI_UV16QI)
1579 B_DEF (s390_vclzh, clzv8hi2, 0, B_VX, 0, BT_FN_UV8HI_UV8HI)
1580 B_DEF (s390_vclzf, clzv4si2, 0, B_VX, 0, BT_FN_UV4SI_UV4SI)
1581 B_DEF (s390_vclzg, clzv2di2, 0, B_VX, 0, BT_FN_UV2DI_UV2DI)
1582
1583 OB_DEF (s390_vec_cnttz, s390_vec_cnttz_s8, s390_vec_cnttz_u64, B_VX, BT_FN_OV4SI_OV4SI)
1584 OB_DEF_VAR (s390_vec_cnttz_s8, s390_vctzb, 0, 0, BT_OV_UV16QI_V16QI)
1585 OB_DEF_VAR (s390_vec_cnttz_u8, s390_vctzb, 0, 0, BT_OV_UV16QI_UV16QI)
1586 OB_DEF_VAR (s390_vec_cnttz_s16, s390_vctzh, 0, 0, BT_OV_UV8HI_V8HI)
1587 OB_DEF_VAR (s390_vec_cnttz_u16, s390_vctzh, 0, 0, BT_OV_UV8HI_UV8HI)
1588 OB_DEF_VAR (s390_vec_cnttz_s32, s390_vctzf, 0, 0, BT_OV_UV4SI_V4SI)
1589 OB_DEF_VAR (s390_vec_cnttz_u32, s390_vctzf, 0, 0, BT_OV_UV4SI_UV4SI)
1590 OB_DEF_VAR (s390_vec_cnttz_s64, s390_vctzg, 0, 0, BT_OV_UV2DI_V2DI)
1591 OB_DEF_VAR (s390_vec_cnttz_u64, s390_vctzg, 0, 0, BT_OV_UV2DI_UV2DI)
1592
1593 B_DEF (s390_vctzb, ctzv16qi2, 0, B_VX, 0, BT_FN_UV16QI_UV16QI)
1594 B_DEF (s390_vctzh, ctzv8hi2, 0, B_VX, 0, BT_FN_UV8HI_UV8HI)
1595 B_DEF (s390_vctzf, ctzv4si2, 0, B_VX, 0, BT_FN_UV4SI_UV4SI)
1596 B_DEF (s390_vctzg, ctzv2di2, 0, B_VX, 0, BT_FN_UV2DI_UV2DI)
1597
1598 OB_DEF (s390_vec_xor, s390_vec_xor_b8, s390_vec_xor_dbl_c, B_VX, BT_FN_OV4SI_OV4SI_OV4SI)
1599 OB_DEF_VAR (s390_vec_xor_b8, s390_vx, 0, 0, BT_OV_BV16QI_BV16QI_BV16QI)
1600 OB_DEF_VAR (s390_vec_xor_s8_a, s390_vx, B_DEP, 0, BT_OV_V16QI_BV16QI_V16QI)
1601 OB_DEF_VAR (s390_vec_xor_s8_b, s390_vx, 0, 0, BT_OV_V16QI_V16QI_V16QI)
1602 OB_DEF_VAR (s390_vec_xor_s8_c, s390_vx, B_DEP, 0, BT_OV_V16QI_V16QI_BV16QI)
1603 OB_DEF_VAR (s390_vec_xor_u8_a, s390_vx, B_DEP, 0, BT_OV_UV16QI_BV16QI_UV16QI)
1604 OB_DEF_VAR (s390_vec_xor_u8_b, s390_vx, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI)
1605 OB_DEF_VAR (s390_vec_xor_u8_c, s390_vx, B_DEP, 0, BT_OV_UV16QI_UV16QI_BV16QI)
1606 OB_DEF_VAR (s390_vec_xor_b16, s390_vx, 0, 0, BT_OV_BV8HI_BV8HI_BV8HI)
1607 OB_DEF_VAR (s390_vec_xor_s16_a, s390_vx, B_DEP, 0, BT_OV_V8HI_BV8HI_V8HI)
1608 OB_DEF_VAR (s390_vec_xor_s16_b, s390_vx, 0, 0, BT_OV_V8HI_V8HI_V8HI)
1609 OB_DEF_VAR (s390_vec_xor_s16_c, s390_vx, B_DEP, 0, BT_OV_V8HI_V8HI_BV8HI)
1610 OB_DEF_VAR (s390_vec_xor_u16_a, s390_vx, B_DEP, 0, BT_OV_UV8HI_BV8HI_UV8HI)
1611 OB_DEF_VAR (s390_vec_xor_u16_b, s390_vx, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI)
1612 OB_DEF_VAR (s390_vec_xor_u16_c, s390_vx, B_DEP, 0, BT_OV_UV8HI_UV8HI_BV8HI)
1613 OB_DEF_VAR (s390_vec_xor_b32, s390_vx, 0, 0, BT_OV_BV4SI_BV4SI_BV4SI)
1614 OB_DEF_VAR (s390_vec_xor_s32_a, s390_vx, B_DEP, 0, BT_OV_V4SI_BV4SI_V4SI)
1615 OB_DEF_VAR (s390_vec_xor_s32_b, s390_vx, 0, 0, BT_OV_V4SI_V4SI_V4SI)
1616 OB_DEF_VAR (s390_vec_xor_s32_c, s390_vx, B_DEP, 0, BT_OV_V4SI_V4SI_BV4SI)
1617 OB_DEF_VAR (s390_vec_xor_u32_a, s390_vx, B_DEP, 0, BT_OV_UV4SI_BV4SI_UV4SI)
1618 OB_DEF_VAR (s390_vec_xor_u32_b, s390_vx, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI)
1619 OB_DEF_VAR (s390_vec_xor_u32_c, s390_vx, B_DEP, 0, BT_OV_UV4SI_UV4SI_BV4SI)
1620 OB_DEF_VAR (s390_vec_xor_b64, s390_vx, 0, 0, BT_OV_BV2DI_BV2DI_BV2DI)
1621 OB_DEF_VAR (s390_vec_xor_s64_a, s390_vx, B_DEP, 0, BT_OV_V2DI_BV2DI_V2DI)
1622 OB_DEF_VAR (s390_vec_xor_s64_b, s390_vx, 0, 0, BT_OV_V2DI_V2DI_V2DI)
1623 OB_DEF_VAR (s390_vec_xor_s64_c, s390_vx, B_DEP, 0, BT_OV_V2DI_V2DI_BV2DI)
1624 OB_DEF_VAR (s390_vec_xor_u64_a, s390_vx, B_DEP, 0, BT_OV_UV2DI_BV2DI_UV2DI)
1625 OB_DEF_VAR (s390_vec_xor_u64_b, s390_vx, 0, 0, BT_OV_UV2DI_UV2DI_UV2DI)
1626 OB_DEF_VAR (s390_vec_xor_u64_c, s390_vx, B_DEP, 0, BT_OV_UV2DI_UV2DI_BV2DI)
1627 OB_DEF_VAR (s390_vec_xor_flt_a, s390_vx, B_VXE | B_DEP, 0, BT_OV_V4SF_BV4SI_V4SF)
1628 OB_DEF_VAR (s390_vec_xor_flt_b, s390_vx, B_VXE, 0, BT_OV_V4SF_V4SF_V4SF)
1629 OB_DEF_VAR (s390_vec_xor_flt_c, s390_vx, B_VXE | B_DEP, 0, BT_OV_V4SF_V4SF_BV4SI)
1630 OB_DEF_VAR (s390_vec_xor_dbl_a, s390_vx, B_DEP, 0, BT_OV_V2DF_BV2DI_V2DF)
1631 OB_DEF_VAR (s390_vec_xor_dbl_b, s390_vx, 0, 0, BT_OV_V2DF_V2DF_V2DF)
1632 OB_DEF_VAR (s390_vec_xor_dbl_c, s390_vx, B_DEP, 0, BT_OV_V2DF_V2DF_BV2DI)
1633
1634 B_DEF (s390_vx, xorv16qi3, 0, B_VX, 0, BT_FN_UV16QI_UV16QI_UV16QI)
1635
1636 OB_DEF (s390_vec_gfmsum, s390_vec_gfmsum_u8, s390_vec_gfmsum_u32,B_VX, BT_FN_OV4SI_OV4SI_OV4SI)
1637 OB_DEF_VAR (s390_vec_gfmsum_u8, s390_vgfmb, 0, 0, BT_OV_UV8HI_UV16QI_UV16QI)
1638 OB_DEF_VAR (s390_vec_gfmsum_u16, s390_vgfmh, 0, 0, BT_OV_UV4SI_UV8HI_UV8HI)
1639 OB_DEF_VAR (s390_vec_gfmsum_u32, s390_vgfmf, 0, 0, BT_OV_UV2DI_UV4SI_UV4SI)
1640
1641 B_DEF (s390_vgfmb, vec_gfmsumv16qi, 0, B_VX, 0, BT_FN_UV8HI_UV16QI_UV16QI)
1642 B_DEF (s390_vgfmh, vec_gfmsumv8hi, 0, B_VX, 0, BT_FN_UV4SI_UV8HI_UV8HI)
1643 B_DEF (s390_vgfmf, vec_gfmsumv4si, 0, B_VX, 0, BT_FN_UV2DI_UV4SI_UV4SI)
1644 B_DEF (s390_vgfmg, vec_gfmsum_128, 0, B_VX, 0, BT_FN_UV16QI_UV2DI_UV2DI)
1645
1646 OB_DEF (s390_vec_gfmsum_accum, s390_vec_gfmsum_accum_u8,s390_vec_gfmsum_accum_u32,B_VX, BT_FN_OV4SI_OV4SI_OV4SI_OV4SI)
1647 OB_DEF_VAR (s390_vec_gfmsum_accum_u8, s390_vgfmab, 0, 0, BT_OV_UV8HI_UV16QI_UV16QI_UV8HI)
1648 OB_DEF_VAR (s390_vec_gfmsum_accum_u16, s390_vgfmah, 0, 0, BT_OV_UV4SI_UV8HI_UV8HI_UV4SI)
1649 OB_DEF_VAR (s390_vec_gfmsum_accum_u32, s390_vgfmaf, 0, 0, BT_OV_UV2DI_UV4SI_UV4SI_UV2DI)
1650
1651 B_DEF (s390_vgfmab, vec_gfmsum_accumv16qi,0, B_VX, 0, BT_FN_UV8HI_UV16QI_UV16QI_UV8HI)
1652 B_DEF (s390_vgfmah, vec_gfmsum_accumv8hi,0, B_VX, 0, BT_FN_UV4SI_UV8HI_UV8HI_UV4SI)
1653 B_DEF (s390_vgfmaf, vec_gfmsum_accumv4si,0, B_VX, 0, BT_FN_UV2DI_UV4SI_UV4SI_UV2DI)
1654 B_DEF (s390_vgfmag, vec_gfmsum_accum_128,0, B_VX, 0, BT_FN_UV16QI_UV2DI_UV2DI_UV16QI)
1655
1656 OB_DEF (s390_vec_abs, s390_vec_abs_s8, s390_vec_abs_dbl, B_VX, BT_FN_OV4SI_OV4SI)
1657 OB_DEF_VAR (s390_vec_abs_s8, s390_vlpb, 0, 0, BT_OV_V16QI_V16QI)
1658 OB_DEF_VAR (s390_vec_abs_s16, s390_vlph, 0, 0, BT_OV_V8HI_V8HI)
1659 OB_DEF_VAR (s390_vec_abs_s32, s390_vlpf, 0, 0, BT_OV_V4SI_V4SI)
1660 OB_DEF_VAR (s390_vec_abs_s64, s390_vlpg, 0, 0, BT_OV_V2DI_V2DI)
1661 OB_DEF_VAR (s390_vec_abs_flt, s390_vflpsb, B_VXE, 0, BT_OV_V4SF_V4SF)
1662 OB_DEF_VAR (s390_vec_abs_dbl, s390_vflpdb, 0, 0, BT_OV_V2DF_V2DF)
1663
1664 B_DEF (s390_vlpb, absv16qi2, 0, B_VX, 0, BT_FN_V16QI_V16QI)
1665 B_DEF (s390_vlph, absv8hi2, 0, B_VX, 0, BT_FN_V8HI_V8HI)
1666 B_DEF (s390_vlpf, absv4si2, 0, B_VX, 0, BT_FN_V4SI_V4SI)
1667 B_DEF (s390_vlpg, absv2di2, 0, B_VX, 0, BT_FN_V2DI_V2DI)
1668 B_DEF (s390_vflpsb, absv4sf2, 0, B_VXE, 0, BT_FN_V4SF_V4SF)
1669 B_DEF (s390_vflpdb, absv2df2, 0, B_VX, 0, BT_FN_V2DF_V2DF)
1670
1671 OB_DEF (s390_vec_max, s390_vec_max_s8_a, s390_vec_max_dbl, B_VX, BT_FN_OV4SI_OV4SI_OV4SI)
1672 OB_DEF_VAR (s390_vec_max_s8_a, s390_vmxb, B_DEP, 0, BT_OV_V16QI_BV16QI_V16QI)
1673 OB_DEF_VAR (s390_vec_max_s8_b, s390_vmxb, 0, 0, BT_OV_V16QI_V16QI_V16QI)
1674 OB_DEF_VAR (s390_vec_max_s8_c, s390_vmxb, B_DEP, 0, BT_OV_V16QI_V16QI_BV16QI)
1675 OB_DEF_VAR (s390_vec_max_u8_a, s390_vmxlb, B_DEP, 0, BT_OV_UV16QI_BV16QI_UV16QI)
1676 OB_DEF_VAR (s390_vec_max_u8_b, s390_vmxlb, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI)
1677 OB_DEF_VAR (s390_vec_max_u8_c, s390_vmxlb, B_DEP, 0, BT_OV_UV16QI_UV16QI_BV16QI)
1678 OB_DEF_VAR (s390_vec_max_s16_a, s390_vmxh, B_DEP, 0, BT_OV_V8HI_BV8HI_V8HI)
1679 OB_DEF_VAR (s390_vec_max_s16_b, s390_vmxh, 0, 0, BT_OV_V8HI_V8HI_V8HI)
1680 OB_DEF_VAR (s390_vec_max_s16_c, s390_vmxh, B_DEP, 0, BT_OV_V8HI_V8HI_BV8HI)
1681 OB_DEF_VAR (s390_vec_max_u16_a, s390_vmxlh, B_DEP, 0, BT_OV_UV8HI_BV8HI_UV8HI)
1682 OB_DEF_VAR (s390_vec_max_u16_b, s390_vmxlh, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI)
1683 OB_DEF_VAR (s390_vec_max_u16_c, s390_vmxlh, B_DEP, 0, BT_OV_UV8HI_UV8HI_BV8HI)
1684 OB_DEF_VAR (s390_vec_max_s32_a, s390_vmxf, B_DEP, 0, BT_OV_V4SI_BV4SI_V4SI)
1685 OB_DEF_VAR (s390_vec_max_s32_b, s390_vmxf, 0, 0, BT_OV_V4SI_V4SI_V4SI)
1686 OB_DEF_VAR (s390_vec_max_s32_c, s390_vmxf, B_DEP, 0, BT_OV_V4SI_V4SI_BV4SI)
1687 OB_DEF_VAR (s390_vec_max_u32_a, s390_vmxlf, B_DEP, 0, BT_OV_UV4SI_BV4SI_UV4SI)
1688 OB_DEF_VAR (s390_vec_max_u32_b, s390_vmxlf, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI)
1689 OB_DEF_VAR (s390_vec_max_u32_c, s390_vmxlf, B_DEP, 0, BT_OV_UV4SI_UV4SI_BV4SI)
1690 OB_DEF_VAR (s390_vec_max_s64_a, s390_vmxg, B_DEP, 0, BT_OV_V2DI_BV2DI_V2DI)
1691 OB_DEF_VAR (s390_vec_max_s64_b, s390_vmxg, 0, 0, BT_OV_V2DI_V2DI_V2DI)
1692 OB_DEF_VAR (s390_vec_max_s64_c, s390_vmxg, B_DEP, 0, BT_OV_V2DI_V2DI_BV2DI)
1693 OB_DEF_VAR (s390_vec_max_u64_a, s390_vmxlg, B_DEP, 0, BT_OV_UV2DI_BV2DI_UV2DI)
1694 OB_DEF_VAR (s390_vec_max_u64_b, s390_vmxlg, 0, 0, BT_OV_UV2DI_UV2DI_UV2DI)
1695 OB_DEF_VAR (s390_vec_max_u64_c, s390_vmxlg, B_DEP, 0, BT_OV_UV2DI_UV2DI_BV2DI)
1696 OB_DEF_VAR (s390_vec_max_flt, s390_vfmaxsb_4, B_VXE, 0, BT_OV_V4SF_V4SF_V4SF)
1697 OB_DEF_VAR (s390_vec_max_dbl, s390_vfmaxdb_4, 0, 0, BT_OV_V2DF_V2DF_V2DF)
1698
1699 B_DEF (s390_vmxb, smaxv16qi3, 0, B_VX, 0, BT_FN_V16QI_BV16QI_V16QI)
1700 B_DEF (s390_vmxlb, umaxv16qi3, 0, B_VX, 0, BT_FN_UV16QI_UV16QI_UV16QI)
1701 B_DEF (s390_vmxh, smaxv8hi3, 0, B_VX, 0, BT_FN_V8HI_BV8HI_V8HI)
1702 B_DEF (s390_vmxlh, umaxv8hi3, 0, B_VX, 0, BT_FN_UV8HI_UV8HI_UV8HI)
1703 B_DEF (s390_vmxf, smaxv4si3, 0, B_VX, 0, BT_FN_V4SI_BV4SI_V4SI)
1704 B_DEF (s390_vmxlf, umaxv4si3, 0, B_VX, 0, BT_FN_UV4SI_UV4SI_UV4SI)
1705 B_DEF (s390_vmxg, smaxv2di3, 0, B_VX, 0, BT_FN_V2DI_BV2DI_V2DI)
1706 B_DEF (s390_vmxlg, umaxv2di3, 0, B_VX, 0, BT_FN_UV2DI_UV2DI_UV2DI)
1707 B_DEF (s390_vfmaxsb, vfmaxv4sf, 0, B_VXE, O3_U4, BT_FN_V4SF_V4SF_V4SF_INT)
1708 B_DEF (s390_vfmaxdb, vfmaxv2df, 0, B_VXE, O3_U4, BT_FN_V2DF_V2DF_V2DF_INT)
1709 B_DEF (s390_vfmaxsb_4, smaxv4sf3, 0, B_INT | B_VXE, 0, BT_FN_V4SF_V4SF_V4SF)
1710 B_DEF (s390_vfmaxdb_4, smaxv2df3, 0, B_INT | B_VX, 0, BT_FN_V2DF_V2DF_V2DF)
1711
1712 OB_DEF (s390_vec_min, s390_vec_min_s8_a, s390_vec_min_dbl, B_VX, BT_FN_OV4SI_OV4SI_OV4SI)
1713 OB_DEF_VAR (s390_vec_min_s8_a, s390_vmnb, B_DEP, 0, BT_OV_V16QI_BV16QI_V16QI)
1714 OB_DEF_VAR (s390_vec_min_s8_b, s390_vmnb, 0, 0, BT_OV_V16QI_V16QI_V16QI)
1715 OB_DEF_VAR (s390_vec_min_s8_c, s390_vmnb, B_DEP, 0, BT_OV_V16QI_V16QI_BV16QI)
1716 OB_DEF_VAR (s390_vec_min_u8_a, s390_vmnlb, B_DEP, 0, BT_OV_UV16QI_BV16QI_UV16QI)
1717 OB_DEF_VAR (s390_vec_min_u8_b, s390_vmnlb, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI)
1718 OB_DEF_VAR (s390_vec_min_u8_c, s390_vmnlb, B_DEP, 0, BT_OV_UV16QI_UV16QI_BV16QI)
1719 OB_DEF_VAR (s390_vec_min_s16_a, s390_vmnh, B_DEP, 0, BT_OV_V8HI_BV8HI_V8HI)
1720 OB_DEF_VAR (s390_vec_min_s16_b, s390_vmnh, 0, 0, BT_OV_V8HI_V8HI_V8HI)
1721 OB_DEF_VAR (s390_vec_min_s16_c, s390_vmnh, B_DEP, 0, BT_OV_V8HI_V8HI_BV8HI)
1722 OB_DEF_VAR (s390_vec_min_u16_a, s390_vmnlh, B_DEP, 0, BT_OV_UV8HI_BV8HI_UV8HI)
1723 OB_DEF_VAR (s390_vec_min_u16_b, s390_vmnlh, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI)
1724 OB_DEF_VAR (s390_vec_min_u16_c, s390_vmnlh, B_DEP, 0, BT_OV_UV8HI_UV8HI_BV8HI)
1725 OB_DEF_VAR (s390_vec_min_s32_a, s390_vmnf, B_DEP, 0, BT_OV_V4SI_BV4SI_V4SI)
1726 OB_DEF_VAR (s390_vec_min_s32_b, s390_vmnf, 0, 0, BT_OV_V4SI_V4SI_V4SI)
1727 OB_DEF_VAR (s390_vec_min_s32_c, s390_vmnf, B_DEP, 0, BT_OV_V4SI_V4SI_BV4SI)
1728 OB_DEF_VAR (s390_vec_min_u32_a, s390_vmnlf, B_DEP, 0, BT_OV_UV4SI_BV4SI_UV4SI)
1729 OB_DEF_VAR (s390_vec_min_u32_b, s390_vmnlf, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI)
1730 OB_DEF_VAR (s390_vec_min_u32_c, s390_vmnlf, B_DEP, 0, BT_OV_UV4SI_UV4SI_BV4SI)
1731 OB_DEF_VAR (s390_vec_min_s64_a, s390_vmng, B_DEP, 0, BT_OV_V2DI_BV2DI_V2DI)
1732 OB_DEF_VAR (s390_vec_min_s64_b, s390_vmng, 0, 0, BT_OV_V2DI_V2DI_V2DI)
1733 OB_DEF_VAR (s390_vec_min_s64_c, s390_vmng, B_DEP, 0, BT_OV_V2DI_V2DI_BV2DI)
1734 OB_DEF_VAR (s390_vec_min_u64_a, s390_vmnlg, B_DEP, 0, BT_OV_UV2DI_BV2DI_UV2DI)
1735 OB_DEF_VAR (s390_vec_min_u64_b, s390_vmnlg, 0, 0, BT_OV_UV2DI_UV2DI_UV2DI)
1736 OB_DEF_VAR (s390_vec_min_u64_c, s390_vmnlg, B_DEP, 0, BT_OV_UV2DI_UV2DI_BV2DI)
1737 OB_DEF_VAR (s390_vec_min_flt, s390_vfminsb_4, B_VXE, 0, BT_OV_V4SF_V4SF_V4SF)
1738 OB_DEF_VAR (s390_vec_min_dbl, s390_vfmindb_4, 0, 0, BT_OV_V2DF_V2DF_V2DF)
1739
1740 B_DEF (s390_vmnb, sminv16qi3, 0, B_VX, 0, BT_FN_V16QI_BV16QI_V16QI)
1741 B_DEF (s390_vmnlb, uminv16qi3, 0, B_VX, 0, BT_FN_UV16QI_UV16QI_UV16QI)
1742 B_DEF (s390_vmnh, sminv8hi3, 0, B_VX, 0, BT_FN_V8HI_BV8HI_V8HI)
1743 B_DEF (s390_vmnlh, uminv8hi3, 0, B_VX, 0, BT_FN_UV8HI_UV8HI_UV8HI)
1744 B_DEF (s390_vmnf, sminv4si3, 0, B_VX, 0, BT_FN_V4SI_BV4SI_V4SI)
1745 B_DEF (s390_vmnlf, uminv4si3, 0, B_VX, 0, BT_FN_UV4SI_UV4SI_UV4SI)
1746 B_DEF (s390_vmng, sminv2di3, 0, B_VX, 0, BT_FN_V2DI_BV2DI_V2DI)
1747 B_DEF (s390_vmnlg, uminv2di3, 0, B_VX, 0, BT_FN_UV2DI_UV2DI_UV2DI)
1748 B_DEF (s390_vfminsb, vfminv4sf, 0, B_VXE, O3_U4, BT_FN_V4SF_V4SF_V4SF_INT)
1749 B_DEF (s390_vfmindb, vfminv2df, 0, B_VXE, O3_U4, BT_FN_V2DF_V2DF_V2DF_INT)
1750 B_DEF (s390_vfminsb_4, sminv4sf3, 0, B_INT | B_VXE, 0, BT_FN_V4SF_V4SF_V4SF) /* vfminsb */
1751 B_DEF (s390_vfmindb_4, sminv2df3, 0, B_INT | B_VX, 0, BT_FN_V2DF_V2DF_V2DF) /* vfmindb */
1752
1753 OB_DEF (s390_vec_mladd, s390_vec_mladd_u8, s390_vec_mladd_s32_c,B_VX, BT_FN_OV4SI_OV4SI_OV4SI_OV4SI)
1754 OB_DEF_VAR (s390_vec_mladd_u8, s390_vmalb, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI_UV16QI)
1755 OB_DEF_VAR (s390_vec_mladd_s8_a, s390_vmalb, 0, 0, BT_OV_V16QI_UV16QI_V16QI_V16QI)
1756 OB_DEF_VAR (s390_vec_mladd_s8_b, s390_vmalb, 0, 0, BT_OV_V16QI_V16QI_UV16QI_UV16QI)
1757 OB_DEF_VAR (s390_vec_mladd_s8_c, s390_vmalb, 0, 0, BT_OV_V16QI_V16QI_V16QI_V16QI)
1758 OB_DEF_VAR (s390_vec_mladd_u16, s390_vmalhw, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI_UV8HI)
1759 OB_DEF_VAR (s390_vec_mladd_s16_a, s390_vmalhw, 0, 0, BT_OV_V8HI_UV8HI_V8HI_V8HI)
1760 OB_DEF_VAR (s390_vec_mladd_s16_b, s390_vmalhw, 0, 0, BT_OV_V8HI_V8HI_UV8HI_UV8HI)
1761 OB_DEF_VAR (s390_vec_mladd_s16_c, s390_vmalhw, 0, 0, BT_OV_V8HI_V8HI_V8HI_V8HI)
1762 OB_DEF_VAR (s390_vec_mladd_u32, s390_vmalf, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI_UV4SI)
1763 OB_DEF_VAR (s390_vec_mladd_s32_a, s390_vmalf, 0, 0, BT_OV_V4SI_UV4SI_V4SI_V4SI)
1764 OB_DEF_VAR (s390_vec_mladd_s32_b, s390_vmalf, 0, 0, BT_OV_V4SI_V4SI_UV4SI_UV4SI)
1765 OB_DEF_VAR (s390_vec_mladd_s32_c, s390_vmalf, 0, 0, BT_OV_V4SI_V4SI_V4SI_V4SI)
1766
1767 B_DEF (s390_vmalb, vec_vmalv16qi, 0, B_VX, 0, BT_FN_UV16QI_UV16QI_UV16QI_UV16QI)
1768 B_DEF (s390_vmalhw, vec_vmalv8hi, 0, B_VX, 0, BT_FN_UV8HI_UV8HI_UV8HI_UV8HI)
1769 B_DEF (s390_vmalf, vec_vmalv4si, 0, B_VX, 0, BT_FN_UV4SI_UV4SI_UV4SI_UV4SI)
1770
1771 OB_DEF (s390_vec_mhadd, s390_vec_mhadd_u8, s390_vec_mhadd_s32, B_VX, BT_FN_OV4SI_OV4SI_OV4SI_OV4SI)
1772 OB_DEF_VAR (s390_vec_mhadd_u8, s390_vmalhb, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI_UV16QI)
1773 OB_DEF_VAR (s390_vec_mhadd_s8, s390_vmahb, 0, 0, BT_OV_V16QI_V16QI_V16QI_V16QI)
1774 OB_DEF_VAR (s390_vec_mhadd_u16, s390_vmalhh, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI_UV8HI)
1775 OB_DEF_VAR (s390_vec_mhadd_s16, s390_vmahh, 0, 0, BT_OV_V8HI_V8HI_V8HI_V8HI)
1776 OB_DEF_VAR (s390_vec_mhadd_u32, s390_vmalhf, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI_UV4SI)
1777 OB_DEF_VAR (s390_vec_mhadd_s32, s390_vmahf, 0, 0, BT_OV_V4SI_V4SI_V4SI_V4SI)
1778
1779 B_DEF (s390_vmalhb, vec_vmalhv16qi, 0, B_VX, 0, BT_FN_UV16QI_UV16QI_UV16QI_UV16QI)
1780 B_DEF (s390_vmahb, vec_vmahv16qi, 0, B_VX, 0, BT_FN_V16QI_V16QI_V16QI_V16QI)
1781 B_DEF (s390_vmalhh, vec_vmalhv8hi, 0, B_VX, 0, BT_FN_UV8HI_UV8HI_UV8HI_UV8HI)
1782 B_DEF (s390_vmahh, vec_vmahv8hi, 0, B_VX, 0, BT_FN_V8HI_V8HI_V8HI_V8HI)
1783 B_DEF (s390_vmalhf, vec_vmalhv4si, 0, B_VX, 0, BT_FN_UV4SI_UV4SI_UV4SI_UV4SI)
1784 B_DEF (s390_vmahf, vec_vmahv4si, 0, B_VX, 0, BT_FN_V4SI_V4SI_V4SI_V4SI)
1785
1786 OB_DEF (s390_vec_meadd, s390_vec_meadd_u8, s390_vec_meadd_s32, B_VX, BT_FN_OV4SI_OV4SI_OV4SI_OV4SI)
1787 OB_DEF_VAR (s390_vec_meadd_u8, s390_vmaleb, 0, 0, BT_OV_UV8HI_UV16QI_UV16QI_UV8HI)
1788 OB_DEF_VAR (s390_vec_meadd_s8, s390_vmaeb, 0, 0, BT_OV_V8HI_V16QI_V16QI_V8HI)
1789 OB_DEF_VAR (s390_vec_meadd_u16, s390_vmaleh, 0, 0, BT_OV_UV4SI_UV8HI_UV8HI_UV4SI)
1790 OB_DEF_VAR (s390_vec_meadd_s16, s390_vmaeh, 0, 0, BT_OV_V4SI_V8HI_V8HI_V4SI)
1791 OB_DEF_VAR (s390_vec_meadd_u32, s390_vmalef, 0, 0, BT_OV_UV2DI_UV4SI_UV4SI_UV2DI)
1792 OB_DEF_VAR (s390_vec_meadd_s32, s390_vmaef, 0, 0, BT_OV_V2DI_V4SI_V4SI_V2DI)
1793
1794 B_DEF (s390_vmaleb, vec_vmalev16qi, 0, B_VX, 0, BT_FN_UV8HI_UV16QI_UV16QI_UV8HI)
1795 B_DEF (s390_vmaeb, vec_vmaev16qi, 0, B_VX, 0, BT_FN_V8HI_V16QI_V16QI_V8HI)
1796 B_DEF (s390_vmaleh, vec_vmalev8hi, 0, B_VX, 0, BT_FN_UV4SI_UV8HI_UV8HI_UV4SI)
1797 B_DEF (s390_vmaeh, vec_vmaev8hi, 0, B_VX, 0, BT_FN_V4SI_V8HI_V8HI_V4SI)
1798 B_DEF (s390_vmalef, vec_vmalev4si, 0, B_VX, 0, BT_FN_UV2DI_UV4SI_UV4SI_UV2DI)
1799 B_DEF (s390_vmaef, vec_vmaev4si, 0, B_VX, 0, BT_FN_V2DI_V4SI_V4SI_V2DI)
1800
1801 OB_DEF (s390_vec_moadd, s390_vec_moadd_u8, s390_vec_moadd_s32, B_VX, BT_FN_OV4SI_OV4SI_OV4SI_OV4SI)
1802 OB_DEF_VAR (s390_vec_moadd_u8, s390_vmalob, 0, 0, BT_OV_UV8HI_UV16QI_UV16QI_UV8HI)
1803 OB_DEF_VAR (s390_vec_moadd_s8, s390_vmaob, 0, 0, BT_OV_V8HI_V16QI_V16QI_V8HI)
1804 OB_DEF_VAR (s390_vec_moadd_u16, s390_vmaloh, 0, 0, BT_OV_UV4SI_UV8HI_UV8HI_UV4SI)
1805 OB_DEF_VAR (s390_vec_moadd_s16, s390_vmaoh, 0, 0, BT_OV_V4SI_V8HI_V8HI_V4SI)
1806 OB_DEF_VAR (s390_vec_moadd_u32, s390_vmalof, 0, 0, BT_OV_UV2DI_UV4SI_UV4SI_UV2DI)
1807 OB_DEF_VAR (s390_vec_moadd_s32, s390_vmaof, 0, 0, BT_OV_V2DI_V4SI_V4SI_V2DI)
1808
1809 B_DEF (s390_vmalob, vec_vmalov16qi, 0, B_VX, 0, BT_FN_UV8HI_UV16QI_UV16QI_UV8HI)
1810 B_DEF (s390_vmaob, vec_vmaov16qi, 0, B_VX, 0, BT_FN_V8HI_V16QI_V16QI_V8HI)
1811 B_DEF (s390_vmaloh, vec_vmalov8hi, 0, B_VX, 0, BT_FN_UV4SI_UV8HI_UV8HI_UV4SI)
1812 B_DEF (s390_vmaoh, vec_vmaov8hi, 0, B_VX, 0, BT_FN_V4SI_V8HI_V8HI_V4SI)
1813 B_DEF (s390_vmalof, vec_vmalov4si, 0, B_VX, 0, BT_FN_UV2DI_UV4SI_UV4SI_UV2DI)
1814 B_DEF (s390_vmaof, vec_vmaov4si, 0, B_VX, 0, BT_FN_V2DI_V4SI_V4SI_V2DI)
1815
1816 OB_DEF (s390_vec_mulh, s390_vec_mulh_u8, s390_vec_mulh_s32, B_VX, BT_FN_OV4SI_OV4SI_OV4SI)
1817 OB_DEF_VAR (s390_vec_mulh_u8, s390_vmlhb, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI)
1818 OB_DEF_VAR (s390_vec_mulh_s8, s390_vmhb, 0, 0, BT_OV_V16QI_V16QI_V16QI)
1819 OB_DEF_VAR (s390_vec_mulh_u16, s390_vmlhh, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI)
1820 OB_DEF_VAR (s390_vec_mulh_s16, s390_vmhh, 0, 0, BT_OV_V8HI_V8HI_V8HI)
1821 OB_DEF_VAR (s390_vec_mulh_u32, s390_vmlhf, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI)
1822 OB_DEF_VAR (s390_vec_mulh_s32, s390_vmhf, 0, 0, BT_OV_V4SI_V4SI_V4SI)
1823
1824 B_DEF (s390_vmlhb, vec_umulhv16qi, 0, B_VX, 0, BT_FN_UV16QI_UV16QI_UV16QI)
1825 B_DEF (s390_vmhb, vec_smulhv16qi, 0, B_VX, 0, BT_FN_V16QI_V16QI_V16QI)
1826 B_DEF (s390_vmlhh, vec_umulhv8hi, 0, B_VX, 0, BT_FN_UV8HI_UV8HI_UV8HI)
1827 B_DEF (s390_vmhh, vec_smulhv8hi, 0, B_VX, 0, BT_FN_V8HI_V8HI_V8HI)
1828 B_DEF (s390_vmlhf, vec_umulhv4si, 0, B_VX, 0, BT_FN_UV4SI_UV4SI_UV4SI)
1829 B_DEF (s390_vmhf, vec_smulhv4si, 0, B_VX, 0, BT_FN_V4SI_V4SI_V4SI)
1830
1831 OB_DEF (s390_vec_mule, s390_vec_mule_u8, s390_vec_mule_s32, B_VX, BT_FN_OV4SI_OV4SI_OV4SI)
1832 OB_DEF_VAR (s390_vec_mule_u8, s390_vmleb, 0, 0, BT_OV_UV8HI_UV16QI_UV16QI)
1833 OB_DEF_VAR (s390_vec_mule_s8, s390_vmeb, 0, 0, BT_OV_V8HI_V16QI_V16QI)
1834 OB_DEF_VAR (s390_vec_mule_u16, s390_vmleh, 0, 0, BT_OV_UV4SI_UV8HI_UV8HI)
1835 OB_DEF_VAR (s390_vec_mule_s15, s390_vmeh, 0, 0, BT_OV_V4SI_V8HI_V8HI)
1836 OB_DEF_VAR (s390_vec_mule_u32, s390_vmlef, 0, 0, BT_OV_UV2DI_UV4SI_UV4SI)
1837 OB_DEF_VAR (s390_vec_mule_s32, s390_vmef, 0, 0, BT_OV_V2DI_V4SI_V4SI)
1838
1839 B_DEF (s390_vmleb, vec_widen_umult_even_v16qi,0, B_VX, 0, BT_FN_UV8HI_UV16QI_UV16QI)
1840 B_DEF (s390_vmeb, vec_widen_smult_even_v16qi,0, B_VX, 0, BT_FN_V8HI_V16QI_V16QI)
1841 B_DEF (s390_vmleh, vec_widen_umult_even_v8hi,0, B_VX, 0, BT_FN_UV4SI_UV8HI_UV8HI)
1842 B_DEF (s390_vmeh, vec_widen_smult_even_v8hi,0, B_VX, 0, BT_FN_V4SI_V8HI_V8HI)
1843 B_DEF (s390_vmlef, vec_widen_umult_even_v4si,0, B_VX, 0, BT_FN_UV2DI_UV4SI_UV4SI)
1844 B_DEF (s390_vmef, vec_widen_smult_even_v4si,0, B_VX, 0, BT_FN_V2DI_V4SI_V4SI)
1845
1846 OB_DEF (s390_vec_mulo, s390_vec_mulo_u8, s390_vec_mulo_s32, B_VX, BT_FN_OV4SI_OV4SI_OV4SI)
1847 OB_DEF_VAR (s390_vec_mulo_u8, s390_vmlob, 0, 0, BT_OV_UV8HI_UV16QI_UV16QI)
1848 OB_DEF_VAR (s390_vec_mulo_s8, s390_vmob, 0, 0, BT_OV_V8HI_V16QI_V16QI)
1849 OB_DEF_VAR (s390_vec_mulo_u16, s390_vmloh, 0, 0, BT_OV_UV4SI_UV8HI_UV8HI)
1850 OB_DEF_VAR (s390_vec_mulo_s16, s390_vmoh, 0, 0, BT_OV_V4SI_V8HI_V8HI)
1851 OB_DEF_VAR (s390_vec_mulo_u32, s390_vmlof, 0, 0, BT_OV_UV2DI_UV4SI_UV4SI)
1852 OB_DEF_VAR (s390_vec_mulo_s32, s390_vmof, 0, 0, BT_OV_V2DI_V4SI_V4SI)
1853
1854 B_DEF (s390_vmlob, vec_widen_umult_odd_v16qi,0, B_VX, 0, BT_FN_UV8HI_UV16QI_UV16QI)
1855 B_DEF (s390_vmob, vec_widen_smult_odd_v16qi,0, B_VX, 0, BT_FN_V8HI_V16QI_V16QI)
1856 B_DEF (s390_vmloh, vec_widen_umult_odd_v8hi,0, B_VX, 0, BT_FN_UV4SI_UV8HI_UV8HI)
1857 B_DEF (s390_vmoh, vec_widen_smult_odd_v8hi,0, B_VX, 0, BT_FN_V4SI_V8HI_V8HI)
1858 B_DEF (s390_vmlof, vec_widen_umult_odd_v4si,0, B_VX, 0, BT_FN_UV2DI_UV4SI_UV4SI)
1859 B_DEF (s390_vmof, vec_widen_smult_odd_v4si,0, B_VX, 0, BT_FN_V2DI_V4SI_V4SI)
1860
1861 OB_DEF (s390_vec_nor, s390_vec_nor_b8, s390_vec_nor_dbl_c, B_VX, BT_FN_OV4SI_OV4SI_OV4SI)
1862 OB_DEF_VAR (s390_vec_nor_b8, s390_vno, 0, 0, BT_OV_BV16QI_BV16QI_BV16QI)
1863 OB_DEF_VAR (s390_vec_nor_s8_a, s390_vno, B_DEP, 0, BT_OV_V16QI_BV16QI_V16QI)
1864 OB_DEF_VAR (s390_vec_nor_s8_b, s390_vno, 0, 0, BT_OV_V16QI_V16QI_V16QI)
1865 OB_DEF_VAR (s390_vec_nor_s8_c, s390_vno, B_DEP, 0, BT_OV_V16QI_V16QI_BV16QI)
1866 OB_DEF_VAR (s390_vec_nor_u8_a, s390_vno, B_DEP, 0, BT_OV_UV16QI_BV16QI_UV16QI)
1867 OB_DEF_VAR (s390_vec_nor_u8_b, s390_vno, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI)
1868 OB_DEF_VAR (s390_vec_nor_u8_c, s390_vno, B_DEP, 0, BT_OV_UV16QI_UV16QI_BV16QI)
1869 OB_DEF_VAR (s390_vec_nor_b16, s390_vno, 0, 0, BT_OV_BV8HI_BV8HI_BV8HI)
1870 OB_DEF_VAR (s390_vec_nor_s16_a, s390_vno, B_DEP, 0, BT_OV_V8HI_BV8HI_V8HI)
1871 OB_DEF_VAR (s390_vec_nor_s16_b, s390_vno, 0, 0, BT_OV_V8HI_V8HI_V8HI)
1872 OB_DEF_VAR (s390_vec_nor_s16_c, s390_vno, B_DEP, 0, BT_OV_V8HI_V8HI_BV8HI)
1873 OB_DEF_VAR (s390_vec_nor_u16_a, s390_vno, B_DEP, 0, BT_OV_UV8HI_BV8HI_UV8HI)
1874 OB_DEF_VAR (s390_vec_nor_u16_b, s390_vno, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI)
1875 OB_DEF_VAR (s390_vec_nor_u16_c, s390_vno, B_DEP, 0, BT_OV_UV8HI_UV8HI_BV8HI)
1876 OB_DEF_VAR (s390_vec_nor_b32, s390_vno, 0, 0, BT_OV_BV4SI_BV4SI_BV4SI)
1877 OB_DEF_VAR (s390_vec_nor_s32_a, s390_vno, B_DEP, 0, BT_OV_V4SI_BV4SI_V4SI)
1878 OB_DEF_VAR (s390_vec_nor_s32_b, s390_vno, 0, 0, BT_OV_V4SI_V4SI_V4SI)
1879 OB_DEF_VAR (s390_vec_nor_s32_c, s390_vno, B_DEP, 0, BT_OV_V4SI_V4SI_BV4SI)
1880 OB_DEF_VAR (s390_vec_nor_u32_a, s390_vno, B_DEP, 0, BT_OV_UV4SI_BV4SI_UV4SI)
1881 OB_DEF_VAR (s390_vec_nor_u32_b, s390_vno, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI)
1882 OB_DEF_VAR (s390_vec_nor_u32_c, s390_vno, B_DEP, 0, BT_OV_UV4SI_UV4SI_BV4SI)
1883 OB_DEF_VAR (s390_vec_nor_b64, s390_vno, 0, 0, BT_OV_BV2DI_BV2DI_BV2DI)
1884 OB_DEF_VAR (s390_vec_nor_s64_a, s390_vno, B_DEP, 0, BT_OV_V2DI_BV2DI_V2DI)
1885 OB_DEF_VAR (s390_vec_nor_s64_b, s390_vno, 0, 0, BT_OV_V2DI_V2DI_V2DI)
1886 OB_DEF_VAR (s390_vec_nor_s64_c, s390_vno, B_DEP, 0, BT_OV_V2DI_V2DI_BV2DI)
1887 OB_DEF_VAR (s390_vec_nor_u64_a, s390_vno, B_DEP, 0, BT_OV_UV2DI_BV2DI_UV2DI)
1888 OB_DEF_VAR (s390_vec_nor_u64_b, s390_vno, 0, 0, BT_OV_UV2DI_UV2DI_UV2DI)
1889 OB_DEF_VAR (s390_vec_nor_u64_c, s390_vno, B_DEP, 0, BT_OV_UV2DI_UV2DI_BV2DI)
1890 OB_DEF_VAR (s390_vec_nor_flt_a, s390_vno, B_VXE | B_DEP, 0, BT_OV_V4SF_BV4SI_V4SF)
1891 OB_DEF_VAR (s390_vec_nor_flt_b, s390_vno, B_VXE, 0, BT_OV_V4SF_V4SF_V4SF)
1892 OB_DEF_VAR (s390_vec_nor_flt_c, s390_vno, B_VXE | B_DEP, 0, BT_OV_V4SF_V4SF_BV4SI)
1893 OB_DEF_VAR (s390_vec_nor_dbl_a, s390_vno, B_DEP, 0, BT_OV_V2DF_BV2DI_V2DF)
1894 OB_DEF_VAR (s390_vec_nor_dbl_b, s390_vno, 0, 0, BT_OV_V2DF_V2DF_V2DF)
1895 OB_DEF_VAR (s390_vec_nor_dbl_c, s390_vno, B_DEP, 0, BT_OV_V2DF_V2DF_BV2DI)
1896
1897 B_DEF (s390_vno, vec_norv16qi3, 0, B_VX, 0, BT_FN_UV16QI_UV16QI_UV16QI)
1898
1899 OB_DEF (s390_vec_or, s390_vec_or_b8, s390_vec_or_dbl_c, B_VX, BT_FN_OV4SI_OV4SI_OV4SI)
1900 OB_DEF_VAR (s390_vec_or_b8, s390_vo, 0, 0, BT_OV_BV16QI_BV16QI_BV16QI)
1901 OB_DEF_VAR (s390_vec_or_s8_a, s390_vo, B_DEP, 0, BT_OV_V16QI_BV16QI_V16QI)
1902 OB_DEF_VAR (s390_vec_or_s8_b, s390_vo, 0, 0, BT_OV_V16QI_V16QI_V16QI)
1903 OB_DEF_VAR (s390_vec_or_s8_c, s390_vo, B_DEP, 0, BT_OV_V16QI_V16QI_BV16QI)
1904 OB_DEF_VAR (s390_vec_or_u8_a, s390_vo, B_DEP, 0, BT_OV_UV16QI_BV16QI_UV16QI)
1905 OB_DEF_VAR (s390_vec_or_u8_b, s390_vo, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI)
1906 OB_DEF_VAR (s390_vec_or_u8_c, s390_vo, B_DEP, 0, BT_OV_UV16QI_UV16QI_BV16QI)
1907 OB_DEF_VAR (s390_vec_or_b16, s390_vo, 0, 0, BT_OV_BV8HI_BV8HI_BV8HI)
1908 OB_DEF_VAR (s390_vec_or_s16_a, s390_vo, B_DEP, 0, BT_OV_V8HI_BV8HI_V8HI)
1909 OB_DEF_VAR (s390_vec_or_s16_b, s390_vo, 0, 0, BT_OV_V8HI_V8HI_V8HI)
1910 OB_DEF_VAR (s390_vec_or_s16_c, s390_vo, B_DEP, 0, BT_OV_V8HI_V8HI_BV8HI)
1911 OB_DEF_VAR (s390_vec_or_u16_a, s390_vo, B_DEP, 0, BT_OV_UV8HI_BV8HI_UV8HI)
1912 OB_DEF_VAR (s390_vec_or_u16_b, s390_vo, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI)
1913 OB_DEF_VAR (s390_vec_or_u16_c, s390_vo, B_DEP, 0, BT_OV_UV8HI_UV8HI_BV8HI)
1914 OB_DEF_VAR (s390_vec_or_b32, s390_vo, 0, 0, BT_OV_BV4SI_BV4SI_BV4SI)
1915 OB_DEF_VAR (s390_vec_or_s32_a, s390_vo, B_DEP, 0, BT_OV_V4SI_BV4SI_V4SI)
1916 OB_DEF_VAR (s390_vec_or_s32_b, s390_vo, 0, 0, BT_OV_V4SI_V4SI_V4SI)
1917 OB_DEF_VAR (s390_vec_or_s32_c, s390_vo, B_DEP, 0, BT_OV_V4SI_V4SI_BV4SI)
1918 OB_DEF_VAR (s390_vec_or_u32_a, s390_vo, B_DEP, 0, BT_OV_UV4SI_BV4SI_UV4SI)
1919 OB_DEF_VAR (s390_vec_or_u32_b, s390_vo, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI)
1920 OB_DEF_VAR (s390_vec_or_u32_c, s390_vo, B_DEP, 0, BT_OV_UV4SI_UV4SI_BV4SI)
1921 OB_DEF_VAR (s390_vec_or_b64, s390_vo, 0, 0, BT_OV_BV2DI_BV2DI_BV2DI)
1922 OB_DEF_VAR (s390_vec_or_s64_a, s390_vo, B_DEP, 0, BT_OV_V2DI_BV2DI_V2DI)
1923 OB_DEF_VAR (s390_vec_or_s64_b, s390_vo, 0, 0, BT_OV_V2DI_V2DI_V2DI)
1924 OB_DEF_VAR (s390_vec_or_s64_c, s390_vo, B_DEP, 0, BT_OV_V2DI_V2DI_BV2DI)
1925 OB_DEF_VAR (s390_vec_or_u64_a, s390_vo, B_DEP, 0, BT_OV_UV2DI_BV2DI_UV2DI)
1926 OB_DEF_VAR (s390_vec_or_u64_b, s390_vo, 0, 0, BT_OV_UV2DI_UV2DI_UV2DI)
1927 OB_DEF_VAR (s390_vec_or_u64_c, s390_vo, B_DEP, 0, BT_OV_UV2DI_UV2DI_BV2DI)
1928 OB_DEF_VAR (s390_vec_or_flt_a, s390_vo, B_VXE | B_DEP, 0, BT_OV_V4SF_BV4SI_V4SF)
1929 OB_DEF_VAR (s390_vec_or_flt_b, s390_vo, B_VXE, 0, BT_OV_V4SF_V4SF_V4SF)
1930 OB_DEF_VAR (s390_vec_or_flt_c, s390_vo, B_VXE | B_DEP, 0, BT_OV_V4SF_V4SF_BV4SI)
1931 OB_DEF_VAR (s390_vec_or_dbl_a, s390_vo, B_DEP, 0, BT_OV_V2DF_BV2DI_V2DF)
1932 OB_DEF_VAR (s390_vec_or_dbl_b, s390_vo, 0, 0, BT_OV_V2DF_V2DF_V2DF)
1933 OB_DEF_VAR (s390_vec_or_dbl_c, s390_vo, B_DEP, 0, BT_OV_V2DF_V2DF_BV2DI)
1934
1935 B_DEF (s390_vo, iorv16qi3, 0, B_VX, 0, BT_FN_UV16QI_UV16QI_UV16QI)
1936
1937 OB_DEF (s390_vec_popcnt, s390_vec_popcnt_s8, s390_vec_popcnt_u64,B_VX, BT_FN_OV4SI_OV4SI)
1938 OB_DEF_VAR (s390_vec_popcnt_s8, s390_vpopctb, 0, 0, BT_OV_UV16QI_V16QI)
1939 OB_DEF_VAR (s390_vec_popcnt_u8, s390_vpopctb, 0, 0, BT_OV_UV16QI_UV16QI)
1940 OB_DEF_VAR (s390_vec_popcnt_s16, s390_vpopcth, 0, 0, BT_OV_UV8HI_V8HI)
1941 OB_DEF_VAR (s390_vec_popcnt_u16, s390_vpopcth, 0, 0, BT_OV_UV8HI_UV8HI)
1942 OB_DEF_VAR (s390_vec_popcnt_s32, s390_vpopctf, 0, 0, BT_OV_UV4SI_V4SI)
1943 OB_DEF_VAR (s390_vec_popcnt_u32, s390_vpopctf, 0, 0, BT_OV_UV4SI_UV4SI)
1944 OB_DEF_VAR (s390_vec_popcnt_s64, s390_vpopctg, 0, 0, BT_OV_UV2DI_V2DI)
1945 OB_DEF_VAR (s390_vec_popcnt_u64, s390_vpopctg, 0, 0, BT_OV_UV2DI_UV2DI)
1946
1947 B_DEF (s390_vpopctb, popcountv16qi2, 0, B_VX, 0, BT_FN_UV16QI_UV16QI)
1948 B_DEF (s390_vpopcth, popcountv8hi2, 0, B_VX, 0, BT_FN_UV8HI_UV8HI)
1949 B_DEF (s390_vpopctf, popcountv4si2, 0, B_VX, 0, BT_FN_UV4SI_UV4SI)
1950 B_DEF (s390_vpopctg, popcountv2di2, 0, B_VX, 0, BT_FN_UV2DI_UV2DI)
1951
1952 OB_DEF (s390_vec_rl, s390_vec_rl_u8, s390_vec_rl_s64, B_VX, BT_FN_OV4SI_OV4SI_OV4SI)
1953 OB_DEF_VAR (s390_vec_rl_u8, s390_verllvb, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI)
1954 OB_DEF_VAR (s390_vec_rl_s8, s390_verllvb, 0, 0, BT_OV_V16QI_V16QI_UV16QI)
1955 OB_DEF_VAR (s390_vec_rl_u16, s390_verllvh, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI)
1956 OB_DEF_VAR (s390_vec_rl_s16, s390_verllvh, 0, 0, BT_OV_V8HI_V8HI_UV8HI)
1957 OB_DEF_VAR (s390_vec_rl_u32, s390_verllvf, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI)
1958 OB_DEF_VAR (s390_vec_rl_s32, s390_verllvf, 0, 0, BT_OV_V4SI_V4SI_UV4SI)
1959 OB_DEF_VAR (s390_vec_rl_u64, s390_verllvg, 0, 0, BT_OV_UV2DI_UV2DI_UV2DI)
1960 OB_DEF_VAR (s390_vec_rl_s64, s390_verllvg, 0, 0, BT_OV_V2DI_V2DI_UV2DI)
1961
1962 B_DEF (s390_verllvb, vrotlv16qi3, 0, B_VX, 0, BT_FN_UV16QI_UV16QI_UV16QI)
1963 B_DEF (s390_verllvh, vrotlv8hi3, 0, B_VX, 0, BT_FN_UV8HI_UV8HI_UV8HI)
1964 B_DEF (s390_verllvf, vrotlv4si3, 0, B_VX, 0, BT_FN_UV4SI_UV4SI_UV4SI)
1965 B_DEF (s390_verllvg, vrotlv2di3, 0, B_VX, 0, BT_FN_UV2DI_UV2DI_UV2DI)
1966
1967 OB_DEF (s390_vec_rli, s390_vec_rli_u8, s390_vec_rli_s64, B_VX, BT_FN_OV4SI_OV4SI_ULONG)
1968 OB_DEF_VAR (s390_vec_rli_u8, s390_verllb, 0, 0, BT_OV_UV16QI_UV16QI_ULONG)
1969 OB_DEF_VAR (s390_vec_rli_s8, s390_verllb, 0, 0, BT_OV_V16QI_V16QI_ULONG)
1970 OB_DEF_VAR (s390_vec_rli_u16, s390_verllh, 0, 0, BT_OV_UV8HI_UV8HI_ULONG)
1971 OB_DEF_VAR (s390_vec_rli_s16, s390_verllh, 0, 0, BT_OV_V8HI_V8HI_ULONG)
1972 OB_DEF_VAR (s390_vec_rli_u32, s390_verllf, 0, 0, BT_OV_UV4SI_UV4SI_ULONG)
1973 OB_DEF_VAR (s390_vec_rli_s32, s390_verllf, 0, 0, BT_OV_V4SI_V4SI_ULONG)
1974 OB_DEF_VAR (s390_vec_rli_u64, s390_verllg, 0, 0, BT_OV_UV2DI_UV2DI_ULONG)
1975 OB_DEF_VAR (s390_vec_rli_s64, s390_verllg, 0, 0, BT_OV_V2DI_V2DI_ULONG)
1976
1977 B_DEF (s390_verllb, rotlv16qi3, 0, B_VX, 0, BT_FN_UV16QI_UV16QI_UINT)
1978 B_DEF (s390_verllh, rotlv8hi3, 0, B_VX, 0, BT_FN_UV8HI_UV8HI_UINT)
1979 B_DEF (s390_verllf, rotlv4si3, 0, B_VX, 0, BT_FN_UV4SI_UV4SI_UINT)
1980 B_DEF (s390_verllg, rotlv2di3, 0, B_VX, 0, BT_FN_UV2DI_UV2DI_UINT)
1981
1982 OB_DEF (s390_vec_rl_mask, s390_vec_rl_mask_s8,s390_vec_rl_mask_u64,B_VX, BT_FN_OV4SI_OV4SI_OV4SI_UCHAR)
1983 OB_DEF_VAR (s390_vec_rl_mask_s8, s390_verimb, 0, O3_U8, BT_OV_V16QI_V16QI_UV16QI_UCHAR)
1984 OB_DEF_VAR (s390_vec_rl_mask_u8, s390_verimb, 0, O3_U8, BT_OV_UV16QI_UV16QI_UV16QI_UCHAR)
1985 OB_DEF_VAR (s390_vec_rl_mask_s16, s390_verimh, 0, O3_U8, BT_OV_V8HI_V8HI_UV8HI_UCHAR)
1986 OB_DEF_VAR (s390_vec_rl_mask_u16, s390_verimh, 0, O3_U8, BT_OV_UV8HI_UV8HI_UV8HI_UCHAR)
1987 OB_DEF_VAR (s390_vec_rl_mask_s32, s390_verimf, 0, O3_U8, BT_OV_V4SI_V4SI_UV4SI_UCHAR)
1988 OB_DEF_VAR (s390_vec_rl_mask_u32, s390_verimf, 0, O3_U8, BT_OV_UV4SI_UV4SI_UV4SI_UCHAR)
1989 OB_DEF_VAR (s390_vec_rl_mask_s64, s390_verimg, 0, O3_U8, BT_OV_V2DI_V2DI_UV2DI_UCHAR)
1990 OB_DEF_VAR (s390_vec_rl_mask_u64, s390_verimg, 0, O3_U8, BT_OV_UV2DI_UV2DI_UV2DI_UCHAR)
1991
1992 B_DEF (s390_verimb, verimv16qi, 0, B_VX, O4_U8, BT_FN_UV16QI_UV16QI_UV16QI_UV16QI_INT)
1993 B_DEF (s390_verimh, verimv8hi, 0, B_VX, O4_U8, BT_FN_UV8HI_UV8HI_UV8HI_UV8HI_INT)
1994 B_DEF (s390_verimf, verimv4si, 0, B_VX, O4_U8, BT_FN_UV4SI_UV4SI_UV4SI_UV4SI_INT)
1995 B_DEF (s390_verimg, verimv2di, 0, B_VX, O4_U8, BT_FN_UV2DI_UV2DI_UV2DI_UV2DI_INT)
1996
1997 OB_DEF (s390_vec_sll, s390_vec_sll_u8q, s390_vec_sll_b64s, B_VX, BT_FN_OV4SI_OV4SI_OV4SI)
1998 OB_DEF_VAR (s390_vec_sll_u8q, s390_vsl, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI)
1999 OB_DEF_VAR (s390_vec_sll_u8h, s390_vsl, B_DEP, 0, BT_OV_UV16QI_UV16QI_UV8HI)
2000 OB_DEF_VAR (s390_vec_sll_u8s, s390_vsl, B_DEP, 0, BT_OV_UV16QI_UV16QI_UV4SI)
2001 OB_DEF_VAR (s390_vec_sll_s8q, s390_vsl, 0, 0, BT_OV_V16QI_V16QI_UV16QI)
2002 OB_DEF_VAR (s390_vec_sll_s8h, s390_vsl, B_DEP, 0, BT_OV_V16QI_V16QI_UV8HI)
2003 OB_DEF_VAR (s390_vec_sll_s8s, s390_vsl, B_DEP, 0, BT_OV_V16QI_V16QI_UV4SI)
2004 OB_DEF_VAR (s390_vec_sll_b8q, s390_vsl, B_DEP, 0, BT_OV_BV16QI_BV16QI_UV16QI)
2005 OB_DEF_VAR (s390_vec_sll_b8h, s390_vsl, B_DEP, 0, BT_OV_BV16QI_BV16QI_UV8HI)
2006 OB_DEF_VAR (s390_vec_sll_b8s, s390_vsl, B_DEP, 0, BT_OV_BV16QI_BV16QI_UV4SI)
2007 OB_DEF_VAR (s390_vec_sll_u16q, s390_vsl, 0, 0, BT_OV_UV8HI_UV8HI_UV16QI)
2008 OB_DEF_VAR (s390_vec_sll_u16h, s390_vsl, B_DEP, 0, BT_OV_UV8HI_UV8HI_UV8HI)
2009 OB_DEF_VAR (s390_vec_sll_u16s, s390_vsl, B_DEP, 0, BT_OV_UV8HI_UV8HI_UV4SI)
2010 OB_DEF_VAR (s390_vec_sll_s16q, s390_vsl, 0, 0, BT_OV_V8HI_V8HI_UV16QI)
2011 OB_DEF_VAR (s390_vec_sll_s16h, s390_vsl, B_DEP, 0, BT_OV_V8HI_V8HI_UV8HI)
2012 OB_DEF_VAR (s390_vec_sll_s16s, s390_vsl, B_DEP, 0, BT_OV_V8HI_V8HI_UV4SI)
2013 OB_DEF_VAR (s390_vec_sll_b16q, s390_vsl, B_DEP, 0, BT_OV_BV8HI_BV8HI_UV16QI)
2014 OB_DEF_VAR (s390_vec_sll_b16h, s390_vsl, B_DEP, 0, BT_OV_BV8HI_BV8HI_UV8HI)
2015 OB_DEF_VAR (s390_vec_sll_b16s, s390_vsl, B_DEP, 0, BT_OV_BV8HI_BV8HI_UV4SI)
2016 OB_DEF_VAR (s390_vec_sll_u32q, s390_vsl, 0, 0, BT_OV_UV4SI_UV4SI_UV16QI)
2017 OB_DEF_VAR (s390_vec_sll_u32h, s390_vsl, B_DEP, 0, BT_OV_UV4SI_UV4SI_UV8HI)
2018 OB_DEF_VAR (s390_vec_sll_u32s, s390_vsl, B_DEP, 0, BT_OV_UV4SI_UV4SI_UV4SI)
2019 OB_DEF_VAR (s390_vec_sll_s32q, s390_vsl, 0, 0, BT_OV_V4SI_V4SI_UV16QI)
2020 OB_DEF_VAR (s390_vec_sll_s32h, s390_vsl, B_DEP, 0, BT_OV_V4SI_V4SI_UV8HI)
2021 OB_DEF_VAR (s390_vec_sll_s32s, s390_vsl, B_DEP, 0, BT_OV_V4SI_V4SI_UV4SI)
2022 OB_DEF_VAR (s390_vec_sll_b32q, s390_vsl, B_DEP, 0, BT_OV_BV4SI_BV4SI_UV16QI)
2023 OB_DEF_VAR (s390_vec_sll_b32h, s390_vsl, B_DEP, 0, BT_OV_BV4SI_BV4SI_UV8HI)
2024 OB_DEF_VAR (s390_vec_sll_b32s, s390_vsl, B_DEP, 0, BT_OV_BV4SI_BV4SI_UV4SI)
2025 OB_DEF_VAR (s390_vec_sll_u64q, s390_vsl, 0, 0, BT_OV_UV2DI_UV2DI_UV16QI)
2026 OB_DEF_VAR (s390_vec_sll_u64h, s390_vsl, B_DEP, 0, BT_OV_UV2DI_UV2DI_UV8HI)
2027 OB_DEF_VAR (s390_vec_sll_u64s, s390_vsl, B_DEP, 0, BT_OV_UV2DI_UV2DI_UV4SI)
2028 OB_DEF_VAR (s390_vec_sll_s64q, s390_vsl, 0, 0, BT_OV_V2DI_V2DI_UV16QI)
2029 OB_DEF_VAR (s390_vec_sll_s64h, s390_vsl, B_DEP, 0, BT_OV_V2DI_V2DI_UV8HI)
2030 OB_DEF_VAR (s390_vec_sll_s64s, s390_vsl, B_DEP, 0, BT_OV_V2DI_V2DI_UV4SI)
2031 OB_DEF_VAR (s390_vec_sll_b64q, s390_vsl, B_DEP, 0, BT_OV_BV2DI_BV2DI_UV16QI)
2032 OB_DEF_VAR (s390_vec_sll_b64h, s390_vsl, B_DEP, 0, BT_OV_BV2DI_BV2DI_UV8HI)
2033 OB_DEF_VAR (s390_vec_sll_b64s, s390_vsl, B_DEP, 0, BT_OV_BV2DI_BV2DI_UV4SI)
2034
2035 B_DEF (s390_vsl, vec_sllv16qiv16qi, 0, B_VX, 0, BT_FN_UV16QI_UV16QI_UV16QI)
2036
2037 OB_DEF (s390_vec_slb, s390_vec_slb_u8_u8, s390_vec_slb_dbl_s64,B_VX, BT_FN_OV4SI_OV4SI_OV4SI)
2038 OB_DEF_VAR (s390_vec_slb_u8_u8, s390_vslb, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI)
2039 OB_DEF_VAR (s390_vec_slb_u8_s8, s390_vslb, 0, 0, BT_OV_UV16QI_UV16QI_V16QI)
2040 OB_DEF_VAR (s390_vec_slb_s8_u8, s390_vslb, 0, 0, BT_OV_V16QI_V16QI_UV16QI)
2041 OB_DEF_VAR (s390_vec_slb_s8_s8, s390_vslb, 0, 0, BT_OV_V16QI_V16QI_V16QI)
2042 OB_DEF_VAR (s390_vec_slb_u16_u16, s390_vslb, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI)
2043 OB_DEF_VAR (s390_vec_slb_u16_s16, s390_vslb, 0, 0, BT_OV_UV8HI_UV8HI_V8HI)
2044 OB_DEF_VAR (s390_vec_slb_s16_u16, s390_vslb, 0, 0, BT_OV_V8HI_V8HI_UV8HI)
2045 OB_DEF_VAR (s390_vec_slb_s16_s16, s390_vslb, 0, 0, BT_OV_V8HI_V8HI_V8HI)
2046 OB_DEF_VAR (s390_vec_slb_u32_u32, s390_vslb, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI)
2047 OB_DEF_VAR (s390_vec_slb_u32_s32, s390_vslb, 0, 0, BT_OV_UV4SI_UV4SI_V4SI)
2048 OB_DEF_VAR (s390_vec_slb_s32_u32, s390_vslb, 0, 0, BT_OV_V4SI_V4SI_UV4SI)
2049 OB_DEF_VAR (s390_vec_slb_s32_s32, s390_vslb, 0, 0, BT_OV_V4SI_V4SI_V4SI)
2050 OB_DEF_VAR (s390_vec_slb_u64_u64, s390_vslb, 0, 0, BT_OV_UV2DI_UV2DI_UV2DI)
2051 OB_DEF_VAR (s390_vec_slb_u64_s64, s390_vslb, 0, 0, BT_OV_UV2DI_UV2DI_V2DI)
2052 OB_DEF_VAR (s390_vec_slb_s64_u64, s390_vslb, 0, 0, BT_OV_V2DI_V2DI_UV2DI)
2053 OB_DEF_VAR (s390_vec_slb_s64_s64, s390_vslb, 0, 0, BT_OV_V2DI_V2DI_V2DI)
2054 OB_DEF_VAR (s390_vec_slb_flt_u64, s390_vslb, B_VXE, 0, BT_OV_V4SF_V4SF_UV4SI)
2055 OB_DEF_VAR (s390_vec_slb_dbl_u64, s390_vslb, 0, 0, BT_OV_V2DF_V2DF_UV2DI)
2056 OB_DEF_VAR (s390_vec_slb_flt_s64, s390_vslb, B_VXE, 0, BT_OV_V4SF_V4SF_V4SI)
2057 OB_DEF_VAR (s390_vec_slb_dbl_s64, s390_vslb, 0, 0, BT_OV_V2DF_V2DF_V2DI)
2058
2059 B_DEF (s390_vslb, vec_slbv16qi, 0, B_VX, 0, BT_FN_UV16QI_UV16QI_UV16QI)
2060
2061 OB_DEF (s390_vec_sld, s390_vec_sld_b8, s390_vec_sld_dbl, B_VX, BT_FN_OV4SI_OV4SI_OV4SI_ULONGLONG)
2062 OB_DEF_VAR (s390_vec_sld_b8, s390_vsldb, 0, O3_U4, BT_OV_BV16QI_BV16QI_BV16QI_ULONGLONG)
2063 OB_DEF_VAR (s390_vec_sld_s8, s390_vsldb, 0, O3_U4, BT_OV_V16QI_V16QI_V16QI_ULONGLONG)
2064 OB_DEF_VAR (s390_vec_sld_u8, s390_vsldb, 0, O3_U4, BT_OV_UV16QI_UV16QI_UV16QI_ULONGLONG)
2065 OB_DEF_VAR (s390_vec_sld_b16, s390_vsldb, 0, O3_U4, BT_OV_BV8HI_BV8HI_BV8HI_ULONGLONG)
2066 OB_DEF_VAR (s390_vec_sld_s16, s390_vsldb, 0, O3_U4, BT_OV_V8HI_V8HI_V8HI_ULONGLONG)
2067 OB_DEF_VAR (s390_vec_sld_u16, s390_vsldb, 0, O3_U4, BT_OV_UV8HI_UV8HI_UV8HI_ULONGLONG)
2068 OB_DEF_VAR (s390_vec_sld_b32, s390_vsldb, 0, O3_U4, BT_OV_BV4SI_BV4SI_BV4SI_ULONGLONG)
2069 OB_DEF_VAR (s390_vec_sld_s32, s390_vsldb, 0, O3_U4, BT_OV_V4SI_V4SI_V4SI_ULONGLONG)
2070 OB_DEF_VAR (s390_vec_sld_u32, s390_vsldb, 0, O3_U4, BT_OV_UV4SI_UV4SI_UV4SI_ULONGLONG)
2071 OB_DEF_VAR (s390_vec_sld_b64, s390_vsldb, 0, O3_U4, BT_OV_BV2DI_BV2DI_BV2DI_ULONGLONG)
2072 OB_DEF_VAR (s390_vec_sld_s64, s390_vsldb, 0, O3_U4, BT_OV_V2DI_V2DI_V2DI_ULONGLONG)
2073 OB_DEF_VAR (s390_vec_sld_u64, s390_vsldb, 0, O3_U4, BT_OV_UV2DI_UV2DI_UV2DI_ULONGLONG)
2074 OB_DEF_VAR (s390_vec_sld_flt, s390_vsldb, B_VXE, O3_U4, BT_OV_V4SF_V4SF_V4SF_ULONGLONG)
2075 OB_DEF_VAR (s390_vec_sld_dbl, s390_vsldb, 0, O3_U4, BT_OV_V2DF_V2DF_V2DF_ULONGLONG)
2076
2077 B_DEF (s390_vsldb, vec_sldv16qi, 0, B_VX, O3_U4, BT_FN_UV16QI_UV16QI_UV16QI_INT)
2078
2079 OB_DEF (s390_vec_sldw, s390_vec_sldw_s8, s390_vec_sldw_dbl, B_VX, BT_FN_OV4SI_OV4SI_OV4SI_INT)
2080 OB_DEF_VAR (s390_vec_sldw_s8, s390_vsldb, 0, O3_U4, BT_OV_V16QI_V16QI_V16QI_INT)
2081 OB_DEF_VAR (s390_vec_sldw_u8, s390_vsldb, 0, O3_U4, BT_OV_UV16QI_UV16QI_UV16QI_INT)
2082 OB_DEF_VAR (s390_vec_sldw_s16, s390_vsldb, 0, O3_U4, BT_OV_V8HI_V8HI_V8HI_INT)
2083 OB_DEF_VAR (s390_vec_sldw_u16, s390_vsldb, 0, O3_U4, BT_OV_UV8HI_UV8HI_UV8HI_INT)
2084 OB_DEF_VAR (s390_vec_sldw_s32, s390_vsldb, 0, O3_U4, BT_OV_V4SI_V4SI_V4SI_INT)
2085 OB_DEF_VAR (s390_vec_sldw_u32, s390_vsldb, 0, O3_U4, BT_OV_UV4SI_UV4SI_UV4SI_INT)
2086 OB_DEF_VAR (s390_vec_sldw_s64, s390_vsldb, 0, O3_U4, BT_OV_V2DI_V2DI_V2DI_INT)
2087 OB_DEF_VAR (s390_vec_sldw_u64, s390_vsldb, 0, O3_U4, BT_OV_UV2DI_UV2DI_UV2DI_INT)
2088 OB_DEF_VAR (s390_vec_sldw_dbl, s390_vsldb, B_DEP, O3_U4, BT_OV_V2DF_V2DF_V2DF_INT)
2089
2090 OB_DEF (s390_vec_sral, s390_vec_sral_u8q, s390_vec_sral_b64s, B_VX, BT_FN_OV4SI_OV4SI_OV4SI)
2091 OB_DEF_VAR (s390_vec_sral_u8q, s390_vsra, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI)
2092 OB_DEF_VAR (s390_vec_sral_u8h, s390_vsra, B_DEP, 0, BT_OV_UV16QI_UV16QI_UV8HI)
2093 OB_DEF_VAR (s390_vec_sral_u8s, s390_vsra, B_DEP, 0, BT_OV_UV16QI_UV16QI_UV4SI)
2094 OB_DEF_VAR (s390_vec_sral_s8q, s390_vsra, 0, 0, BT_OV_V16QI_V16QI_UV16QI)
2095 OB_DEF_VAR (s390_vec_sral_s8h, s390_vsra, B_DEP, 0, BT_OV_V16QI_V16QI_UV8HI)
2096 OB_DEF_VAR (s390_vec_sral_s8s, s390_vsra, B_DEP, 0, BT_OV_V16QI_V16QI_UV4SI)
2097 OB_DEF_VAR (s390_vec_sral_b8q, s390_vsra, B_DEP, 0, BT_OV_BV16QI_BV16QI_UV16QI)
2098 OB_DEF_VAR (s390_vec_sral_b8h, s390_vsra, B_DEP, 0, BT_OV_BV16QI_BV16QI_UV8HI)
2099 OB_DEF_VAR (s390_vec_sral_b8s, s390_vsra, B_DEP, 0, BT_OV_BV16QI_BV16QI_UV4SI)
2100 OB_DEF_VAR (s390_vec_sral_u16q, s390_vsra, 0, 0, BT_OV_UV8HI_UV8HI_UV16QI)
2101 OB_DEF_VAR (s390_vec_sral_u16h, s390_vsra, B_DEP, 0, BT_OV_UV8HI_UV8HI_UV8HI)
2102 OB_DEF_VAR (s390_vec_sral_u16s, s390_vsra, B_DEP, 0, BT_OV_UV8HI_UV8HI_UV4SI)
2103 OB_DEF_VAR (s390_vec_sral_s16q, s390_vsra, 0, 0, BT_OV_V8HI_V8HI_UV16QI)
2104 OB_DEF_VAR (s390_vec_sral_s16h, s390_vsra, B_DEP, 0, BT_OV_V8HI_V8HI_UV8HI)
2105 OB_DEF_VAR (s390_vec_sral_s16s, s390_vsra, B_DEP, 0, BT_OV_V8HI_V8HI_UV4SI)
2106 OB_DEF_VAR (s390_vec_sral_b16q, s390_vsra, B_DEP, 0, BT_OV_BV8HI_BV8HI_UV16QI)
2107 OB_DEF_VAR (s390_vec_sral_b16h, s390_vsra, B_DEP, 0, BT_OV_BV8HI_BV8HI_UV8HI)
2108 OB_DEF_VAR (s390_vec_sral_b16s, s390_vsra, B_DEP, 0, BT_OV_BV8HI_BV8HI_UV4SI)
2109 OB_DEF_VAR (s390_vec_sral_u32q, s390_vsra, 0, 0, BT_OV_UV4SI_UV4SI_UV16QI)
2110 OB_DEF_VAR (s390_vec_sral_u32h, s390_vsra, B_DEP, 0, BT_OV_UV4SI_UV4SI_UV8HI)
2111 OB_DEF_VAR (s390_vec_sral_u32s, s390_vsra, B_DEP, 0, BT_OV_UV4SI_UV4SI_UV4SI)
2112 OB_DEF_VAR (s390_vec_sral_s32q, s390_vsra, 0, 0, BT_OV_V4SI_V4SI_UV16QI)
2113 OB_DEF_VAR (s390_vec_sral_s32h, s390_vsra, B_DEP, 0, BT_OV_V4SI_V4SI_UV8HI)
2114 OB_DEF_VAR (s390_vec_sral_s32s, s390_vsra, B_DEP, 0, BT_OV_V4SI_V4SI_UV4SI)
2115 OB_DEF_VAR (s390_vec_sral_b32q, s390_vsra, B_DEP, 0, BT_OV_BV4SI_BV4SI_UV16QI)
2116 OB_DEF_VAR (s390_vec_sral_b32h, s390_vsra, B_DEP, 0, BT_OV_BV4SI_BV4SI_UV8HI)
2117 OB_DEF_VAR (s390_vec_sral_b32s, s390_vsra, B_DEP, 0, BT_OV_BV4SI_BV4SI_UV4SI)
2118 OB_DEF_VAR (s390_vec_sral_u64q, s390_vsra, 0, 0, BT_OV_UV2DI_UV2DI_UV16QI)
2119 OB_DEF_VAR (s390_vec_sral_u64h, s390_vsra, B_DEP, 0, BT_OV_UV2DI_UV2DI_UV8HI)
2120 OB_DEF_VAR (s390_vec_sral_u64s, s390_vsra, B_DEP, 0, BT_OV_UV2DI_UV2DI_UV4SI)
2121 OB_DEF_VAR (s390_vec_sral_s64q, s390_vsra, 0, 0, BT_OV_V2DI_V2DI_UV16QI)
2122 OB_DEF_VAR (s390_vec_sral_s64h, s390_vsra, B_DEP, 0, BT_OV_V2DI_V2DI_UV8HI)
2123 OB_DEF_VAR (s390_vec_sral_s64s, s390_vsra, B_DEP, 0, BT_OV_V2DI_V2DI_UV4SI)
2124 OB_DEF_VAR (s390_vec_sral_b64q, s390_vsra, B_DEP, 0, BT_OV_BV2DI_BV2DI_UV16QI)
2125 OB_DEF_VAR (s390_vec_sral_b64h, s390_vsra, B_DEP, 0, BT_OV_BV2DI_BV2DI_UV8HI)
2126 OB_DEF_VAR (s390_vec_sral_b64s, s390_vsra, B_DEP, 0, BT_OV_BV2DI_BV2DI_UV4SI)
2127
2128 B_DEF (s390_vsra, vec_sralv16qiv16qi, 0, B_VX, 0, BT_FN_UV16QI_UV16QI_UV16QI)
2129
2130 OB_DEF (s390_vec_srab, s390_vec_srab_u8_u8,s390_vec_srab_dbl_s64,B_VX, BT_FN_OV4SI_OV4SI_OV4SI)
2131 OB_DEF_VAR (s390_vec_srab_u8_u8, s390_vsrab, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI)
2132 OB_DEF_VAR (s390_vec_srab_u8_s8, s390_vsrab, 0, 0, BT_OV_UV16QI_UV16QI_V16QI)
2133 OB_DEF_VAR (s390_vec_srab_s8_u8, s390_vsrab, 0, 0, BT_OV_V16QI_V16QI_UV16QI)
2134 OB_DEF_VAR (s390_vec_srab_s8_s8, s390_vsrab, 0, 0, BT_OV_V16QI_V16QI_V16QI)
2135 OB_DEF_VAR (s390_vec_srab_u16_u16, s390_vsrab, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI)
2136 OB_DEF_VAR (s390_vec_srab_u16_s16, s390_vsrab, 0, 0, BT_OV_UV8HI_UV8HI_V8HI)
2137 OB_DEF_VAR (s390_vec_srab_s16_u16, s390_vsrab, 0, 0, BT_OV_V8HI_V8HI_UV8HI)
2138 OB_DEF_VAR (s390_vec_srab_s16_s16, s390_vsrab, 0, 0, BT_OV_V8HI_V8HI_V8HI)
2139 OB_DEF_VAR (s390_vec_srab_u32_u32, s390_vsrab, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI)
2140 OB_DEF_VAR (s390_vec_srab_u32_s32, s390_vsrab, 0, 0, BT_OV_UV4SI_UV4SI_V4SI)
2141 OB_DEF_VAR (s390_vec_srab_s32_u32, s390_vsrab, 0, 0, BT_OV_V4SI_V4SI_UV4SI)
2142 OB_DEF_VAR (s390_vec_srab_s32_s32, s390_vsrab, 0, 0, BT_OV_V4SI_V4SI_V4SI)
2143 OB_DEF_VAR (s390_vec_srab_u64_u64, s390_vsrab, 0, 0, BT_OV_UV2DI_UV2DI_UV2DI)
2144 OB_DEF_VAR (s390_vec_srab_u64_s64, s390_vsrab, 0, 0, BT_OV_UV2DI_UV2DI_V2DI)
2145 OB_DEF_VAR (s390_vec_srab_s64_u64, s390_vsrab, 0, 0, BT_OV_V2DI_V2DI_UV2DI)
2146 OB_DEF_VAR (s390_vec_srab_s64_s64, s390_vsrab, 0, 0, BT_OV_V2DI_V2DI_V2DI)
2147 OB_DEF_VAR (s390_vec_srab_flt_u64, s390_vsrab, B_VXE, 0, BT_OV_V4SF_V4SF_UV4SI)
2148 OB_DEF_VAR (s390_vec_srab_dbl_u64, s390_vsrab, 0, 0, BT_OV_V2DF_V2DF_UV2DI)
2149 OB_DEF_VAR (s390_vec_srab_flt_s64, s390_vsrab, B_VXE, 0, BT_OV_V4SF_V4SF_V4SI)
2150 OB_DEF_VAR (s390_vec_srab_dbl_s64, s390_vsrab, 0, 0, BT_OV_V2DF_V2DF_V2DI)
2151
2152 B_DEF (s390_vsrab, vec_srabv16qi, 0, B_VX, 0, BT_FN_UV16QI_UV16QI_UV16QI)
2153
2154 OB_DEF (s390_vec_srl, s390_vec_srl_u8q, s390_vec_srl_b64s, B_VX, BT_FN_OV4SI_OV4SI_OV4SI)
2155 OB_DEF_VAR (s390_vec_srl_u8q, s390_vsrl, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI)
2156 OB_DEF_VAR (s390_vec_srl_u8h, s390_vsrl, B_DEP, 0, BT_OV_UV16QI_UV16QI_UV8HI)
2157 OB_DEF_VAR (s390_vec_srl_u8s, s390_vsrl, B_DEP, 0, BT_OV_UV16QI_UV16QI_UV4SI)
2158 OB_DEF_VAR (s390_vec_srl_s8q, s390_vsrl, 0, 0, BT_OV_V16QI_V16QI_UV16QI)
2159 OB_DEF_VAR (s390_vec_srl_s8h, s390_vsrl, B_DEP, 0, BT_OV_V16QI_V16QI_UV8HI)
2160 OB_DEF_VAR (s390_vec_srl_s8s, s390_vsrl, B_DEP, 0, BT_OV_V16QI_V16QI_UV4SI)
2161 OB_DEF_VAR (s390_vec_srl_b8q, s390_vsrl, B_DEP, 0, BT_OV_BV16QI_BV16QI_UV16QI)
2162 OB_DEF_VAR (s390_vec_srl_b8h, s390_vsrl, B_DEP, 0, BT_OV_BV16QI_BV16QI_UV8HI)
2163 OB_DEF_VAR (s390_vec_srl_b8s, s390_vsrl, B_DEP, 0, BT_OV_BV16QI_BV16QI_UV4SI)
2164 OB_DEF_VAR (s390_vec_srl_u16q, s390_vsrl, 0, 0, BT_OV_UV8HI_UV8HI_UV16QI)
2165 OB_DEF_VAR (s390_vec_srl_u16h, s390_vsrl, B_DEP, 0, BT_OV_UV8HI_UV8HI_UV8HI)
2166 OB_DEF_VAR (s390_vec_srl_u16s, s390_vsrl, B_DEP, 0, BT_OV_UV8HI_UV8HI_UV4SI)
2167 OB_DEF_VAR (s390_vec_srl_s16q, s390_vsrl, 0, 0, BT_OV_V8HI_V8HI_UV16QI)
2168 OB_DEF_VAR (s390_vec_srl_s16h, s390_vsrl, B_DEP, 0, BT_OV_V8HI_V8HI_UV8HI)
2169 OB_DEF_VAR (s390_vec_srl_s16s, s390_vsrl, B_DEP, 0, BT_OV_V8HI_V8HI_UV4SI)
2170 OB_DEF_VAR (s390_vec_srl_b16q, s390_vsrl, B_DEP, 0, BT_OV_BV8HI_BV8HI_UV16QI)
2171 OB_DEF_VAR (s390_vec_srl_b16h, s390_vsrl, B_DEP, 0, BT_OV_BV8HI_BV8HI_UV8HI)
2172 OB_DEF_VAR (s390_vec_srl_b16s, s390_vsrl, B_DEP, 0, BT_OV_BV8HI_BV8HI_UV4SI)
2173 OB_DEF_VAR (s390_vec_srl_u32q, s390_vsrl, 0, 0, BT_OV_UV4SI_UV4SI_UV16QI)
2174 OB_DEF_VAR (s390_vec_srl_u32h, s390_vsrl, B_DEP, 0, BT_OV_UV4SI_UV4SI_UV8HI)
2175 OB_DEF_VAR (s390_vec_srl_u32s, s390_vsrl, B_DEP, 0, BT_OV_UV4SI_UV4SI_UV4SI)
2176 OB_DEF_VAR (s390_vec_srl_s32q, s390_vsrl, 0, 0, BT_OV_V4SI_V4SI_UV16QI)
2177 OB_DEF_VAR (s390_vec_srl_s32h, s390_vsrl, B_DEP, 0, BT_OV_V4SI_V4SI_UV8HI)
2178 OB_DEF_VAR (s390_vec_srl_s32s, s390_vsrl, B_DEP, 0, BT_OV_V4SI_V4SI_UV4SI)
2179 OB_DEF_VAR (s390_vec_srl_b32q, s390_vsrl, B_DEP, 0, BT_OV_BV4SI_BV4SI_UV16QI)
2180 OB_DEF_VAR (s390_vec_srl_b32h, s390_vsrl, B_DEP, 0, BT_OV_BV4SI_BV4SI_UV8HI)
2181 OB_DEF_VAR (s390_vec_srl_b32s, s390_vsrl, B_DEP, 0, BT_OV_BV4SI_BV4SI_UV4SI)
2182 OB_DEF_VAR (s390_vec_srl_u64q, s390_vsrl, 0, 0, BT_OV_UV2DI_UV2DI_UV16QI)
2183 OB_DEF_VAR (s390_vec_srl_u64h, s390_vsrl, B_DEP, 0, BT_OV_UV2DI_UV2DI_UV8HI)
2184 OB_DEF_VAR (s390_vec_srl_u64s, s390_vsrl, B_DEP, 0, BT_OV_UV2DI_UV2DI_UV4SI)
2185 OB_DEF_VAR (s390_vec_srl_s64q, s390_vsrl, 0, 0, BT_OV_V2DI_V2DI_UV16QI)
2186 OB_DEF_VAR (s390_vec_srl_s64h, s390_vsrl, B_DEP, 0, BT_OV_V2DI_V2DI_UV8HI)
2187 OB_DEF_VAR (s390_vec_srl_s64s, s390_vsrl, B_DEP, 0, BT_OV_V2DI_V2DI_UV4SI)
2188 OB_DEF_VAR (s390_vec_srl_b64q, s390_vsrl, B_DEP, 0, BT_OV_BV2DI_BV2DI_UV16QI)
2189 OB_DEF_VAR (s390_vec_srl_b64h, s390_vsrl, B_DEP, 0, BT_OV_BV2DI_BV2DI_UV8HI)
2190 OB_DEF_VAR (s390_vec_srl_b64s, s390_vsrl, B_DEP, 0, BT_OV_BV2DI_BV2DI_UV4SI)
2191
2192 B_DEF (s390_vsrl, vec_srlv16qiv16qi, 0, B_VX, 0, BT_FN_UV16QI_UV16QI_UV16QI)
2193
2194 OB_DEF (s390_vec_srb, s390_vec_srb_u8_u8, s390_vec_srb_dbl_s64,B_VX, BT_FN_OV4SI_OV4SI_OV4SI)
2195 OB_DEF_VAR (s390_vec_srb_u8_u8, s390_vsrlb, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI)
2196 OB_DEF_VAR (s390_vec_srb_u8_s8, s390_vsrlb, 0, 0, BT_OV_UV16QI_UV16QI_V16QI)
2197 OB_DEF_VAR (s390_vec_srb_s8_u8, s390_vsrlb, 0, 0, BT_OV_V16QI_V16QI_UV16QI)
2198 OB_DEF_VAR (s390_vec_srb_s8_s8, s390_vsrlb, 0, 0, BT_OV_V16QI_V16QI_V16QI)
2199 OB_DEF_VAR (s390_vec_srb_u16_u16, s390_vsrlb, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI)
2200 OB_DEF_VAR (s390_vec_srb_u16_s16, s390_vsrlb, 0, 0, BT_OV_UV8HI_UV8HI_V8HI)
2201 OB_DEF_VAR (s390_vec_srb_s16_u16, s390_vsrlb, 0, 0, BT_OV_V8HI_V8HI_UV8HI)
2202 OB_DEF_VAR (s390_vec_srb_s16_s16, s390_vsrlb, 0, 0, BT_OV_V8HI_V8HI_V8HI)
2203 OB_DEF_VAR (s390_vec_srb_u32_u32, s390_vsrlb, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI)
2204 OB_DEF_VAR (s390_vec_srb_u32_s32, s390_vsrlb, 0, 0, BT_OV_UV4SI_UV4SI_V4SI)
2205 OB_DEF_VAR (s390_vec_srb_s32_u32, s390_vsrlb, 0, 0, BT_OV_V4SI_V4SI_UV4SI)
2206 OB_DEF_VAR (s390_vec_srb_s32_s32, s390_vsrlb, 0, 0, BT_OV_V4SI_V4SI_V4SI)
2207 OB_DEF_VAR (s390_vec_srb_u64_u64, s390_vsrlb, 0, 0, BT_OV_UV2DI_UV2DI_UV2DI)
2208 OB_DEF_VAR (s390_vec_srb_u64_s64, s390_vsrlb, 0, 0, BT_OV_UV2DI_UV2DI_V2DI)
2209 OB_DEF_VAR (s390_vec_srb_s64_u64, s390_vsrlb, 0, 0, BT_OV_V2DI_V2DI_UV2DI)
2210 OB_DEF_VAR (s390_vec_srb_s64_s64, s390_vsrlb, 0, 0, BT_OV_V2DI_V2DI_V2DI)
2211 OB_DEF_VAR (s390_vec_srb_flt_u64, s390_vsrlb, B_VXE, 0, BT_OV_V4SF_V4SF_UV4SI)
2212 OB_DEF_VAR (s390_vec_srb_dbl_u64, s390_vsrlb, 0, 0, BT_OV_V2DF_V2DF_UV2DI)
2213 OB_DEF_VAR (s390_vec_srb_flt_s64, s390_vsrlb, B_VXE, 0, BT_OV_V4SF_V4SF_V4SI)
2214 OB_DEF_VAR (s390_vec_srb_dbl_s64, s390_vsrlb, 0, 0, BT_OV_V2DF_V2DF_V2DI)
2215
2216 B_DEF (s390_vsrlb, vec_srbv16qi, 0, B_VX, 0, BT_FN_UV16QI_UV16QI_UV16QI)
2217
2218 OB_DEF (s390_vec_subc, s390_vec_subc_u8, s390_vec_subc_u64, B_VX, BT_FN_OV4SI_OV4SI_OV4SI)
2219 OB_DEF_VAR (s390_vec_subc_u8, s390_vscbib, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI)
2220 OB_DEF_VAR (s390_vec_subc_u16, s390_vscbih, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI)
2221 OB_DEF_VAR (s390_vec_subc_u32, s390_vscbif, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI)
2222 OB_DEF_VAR (s390_vec_subc_u64, s390_vscbig, 0, 0, BT_OV_UV2DI_UV2DI_UV2DI)
2223
2224 B_DEF (s390_vscbib, vscbib_v16qi, 0, B_VX, 0, BT_FN_UV16QI_UV16QI_UV16QI)
2225 B_DEF (s390_vscbih, vscbih_v8hi, 0, B_VX, 0, BT_FN_UV8HI_UV8HI_UV8HI)
2226 B_DEF (s390_vscbif, vscbif_v4si, 0, B_VX, 0, BT_FN_UV4SI_UV4SI_UV4SI)
2227 B_DEF (s390_vscbig, vscbig_v2di, 0, B_VX, 0, BT_FN_UV2DI_UV2DI_UV2DI)
2228
2229 /* The builtin definitions requires these to use vector unsigned char.
2230 But we want the GCC low-level builtins and the insn patterns to
2231 allow int128_t and TImode. So we rely on s390_expand_builtin to
2232 switch modes. */
2233
2234 B_DEF (s390_vec_sub_u128, subti3, 0, B_VX, 0, BT_FN_UV16QI_UV16QI_UV16QI)
2235 B_DEF (s390_vec_subc_u128, vscbiq_ti, 0, B_VX, 0, BT_FN_UV16QI_UV16QI_UV16QI)
2236 B_DEF (s390_vec_sube_u128, vsbiq, 0, B_VX, 0, BT_FN_UV16QI_UV16QI_UV16QI_UV16QI)
2237 B_DEF (s390_vec_subec_u128, vsbcbiq, 0, B_VX, 0, BT_FN_UV16QI_UV16QI_UV16QI_UV16QI)
2238
2239 B_DEF (s390_vsq, subti3, 0, B_VX, 0, BT_FN_INT128_INT128_INT128)
2240 B_DEF (s390_vscbiq, vscbiq_ti, 0, B_VX, 0, BT_FN_INT128_INT128_INT128)
2241 B_DEF (s390_vsbiq, vsbiq, 0, B_VX, 0, BT_FN_INT128_INT128_INT128_INT128)
2242 B_DEF (s390_vsbcbiq, vsbcbiq, 0, B_VX, 0, BT_FN_INT128_INT128_INT128_INT128)
2243
2244 OB_DEF (s390_vec_sum2, s390_vec_sum2_u16, s390_vec_sum2_u32, B_VX, BT_FN_OV4SI_OV4SI_OV4SI)
2245 OB_DEF_VAR (s390_vec_sum2_u16, s390_vsumgh, 0, 0, BT_OV_UV2DI_UV8HI_UV8HI)
2246 OB_DEF_VAR (s390_vec_sum2_u32, s390_vsumgf, 0, 0, BT_OV_UV2DI_UV4SI_UV4SI)
2247
2248 B_DEF (s390_vsumgh, vec_sum2v8hi, 0, B_VX, 0, BT_FN_UV2DI_UV8HI_UV8HI)
2249 B_DEF (s390_vsumgf, vec_sum2v4si, 0, B_VX, 0, BT_FN_UV2DI_UV4SI_UV4SI)
2250
2251 OB_DEF (s390_vec_sum_u128, s390_vec_sum_u128_u32,s390_vec_sum_u128_u64,B_VX, BT_FN_OV4SI_OV4SI_OV4SI)
2252 OB_DEF_VAR (s390_vec_sum_u128_u32, s390_vsumqf, 0, 0, BT_OV_UV16QI_UV4SI_UV4SI)
2253 OB_DEF_VAR (s390_vec_sum_u128_u64, s390_vsumqg, 0, 0, BT_OV_UV16QI_UV2DI_UV2DI)
2254
2255 B_DEF (s390_vsumqf, vec_sum_u128v4si, 0, B_VX, 0, BT_FN_UV16QI_UV4SI_UV4SI)
2256 B_DEF (s390_vsumqg, vec_sum_u128v2di, 0, B_VX, 0, BT_FN_UV16QI_UV2DI_UV2DI)
2257
2258 OB_DEF (s390_vec_sum4, s390_vec_sum4_u8, s390_vec_sum4_u16, B_VX, BT_FN_OV4SI_OV4SI_OV4SI)
2259 OB_DEF_VAR (s390_vec_sum4_u8, s390_vsumb, 0, 0, BT_OV_UV4SI_UV16QI_UV16QI)
2260 OB_DEF_VAR (s390_vec_sum4_u16, s390_vsumh, 0, 0, BT_OV_UV4SI_UV8HI_UV8HI)
2261
2262 B_DEF (s390_vsumb, vec_sum4v16qi, 0, B_VX, 0, BT_FN_UV4SI_UV16QI_UV16QI)
2263 B_DEF (s390_vsumh, vec_sum4v8hi, 0, B_VX, 0, BT_FN_UV4SI_UV8HI_UV8HI)
2264
2265 OB_DEF (s390_vec_test_mask, s390_vec_test_mask_s8,s390_vec_test_mask_dbl,B_VX, BT_FN_INT_OV4SI_OV4SI)
2266 OB_DEF_VAR (s390_vec_test_mask_s8, s390_vtm, 0, 0, BT_OV_INT_V16QI_UV16QI)
2267 OB_DEF_VAR (s390_vec_test_mask_u8, s390_vtm, 0, 0, BT_OV_INT_UV16QI_UV16QI)
2268 OB_DEF_VAR (s390_vec_test_mask_s16, s390_vtm, 0, 0, BT_OV_INT_V8HI_UV8HI)
2269 OB_DEF_VAR (s390_vec_test_mask_u16, s390_vtm, 0, 0, BT_OV_INT_UV8HI_UV8HI)
2270 OB_DEF_VAR (s390_vec_test_mask_s32, s390_vtm, 0, 0, BT_OV_INT_V4SI_UV4SI)
2271 OB_DEF_VAR (s390_vec_test_mask_u32, s390_vtm, 0, 0, BT_OV_INT_UV4SI_UV4SI)
2272 OB_DEF_VAR (s390_vec_test_mask_s64, s390_vtm, 0, 0, BT_OV_INT_V2DI_UV2DI)
2273 OB_DEF_VAR (s390_vec_test_mask_u64, s390_vtm, 0, 0, BT_OV_INT_UV2DI_UV2DI)
2274 OB_DEF_VAR (s390_vec_test_mask_flt, s390_vtm, B_VXE, 0, BT_OV_INT_V4SF_UV4SI)
2275 OB_DEF_VAR (s390_vec_test_mask_dbl, s390_vtm, 0, 0, BT_OV_INT_V2DF_UV2DI)
2276
2277 B_DEF (s390_vtm, vec_test_mask_intv16qi,0, B_VX, 0, BT_FN_INT_UV16QI_UV16QI)
2278
2279 B_DEF (s390_vec_msum_u128, vec_msumv2di, 0, B_VXE, O4_U2, BT_FN_UV16QI_UV2DI_UV2DI_UV16QI_INT)
2280 B_DEF (s390_vmslg, vmslg, 0, B_VXE, O4_U4, BT_FN_INT128_UV2DI_UV2DI_INT128_INT)
2281
2282 OB_DEF (s390_vec_eqv, s390_vec_eqv_b8, s390_vec_eqv_dbl_c, B_VXE, BT_FN_OV4SI_OV4SI_OV4SI)
2283 OB_DEF_VAR (s390_vec_eqv_b8, s390_vnx, 0, 0, BT_OV_BV16QI_BV16QI_BV16QI)
2284 OB_DEF_VAR (s390_vec_eqv_s8_a, s390_vnx, B_DEP, 0, BT_OV_V16QI_BV16QI_V16QI)
2285 OB_DEF_VAR (s390_vec_eqv_s8_b, s390_vnx, 0, 0, BT_OV_V16QI_V16QI_V16QI)
2286 OB_DEF_VAR (s390_vec_eqv_s8_c, s390_vnx, B_DEP, 0, BT_OV_V16QI_V16QI_BV16QI)
2287 OB_DEF_VAR (s390_vec_eqv_u8_a, s390_vnx, B_DEP, 0, BT_OV_UV16QI_BV16QI_UV16QI)
2288 OB_DEF_VAR (s390_vec_eqv_u8_b, s390_vnx, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI)
2289 OB_DEF_VAR (s390_vec_eqv_u8_c, s390_vnx, B_DEP, 0, BT_OV_UV16QI_UV16QI_BV16QI)
2290 OB_DEF_VAR (s390_vec_eqv_b16, s390_vnx, 0, 0, BT_OV_BV8HI_BV8HI_BV8HI)
2291 OB_DEF_VAR (s390_vec_eqv_s16_a, s390_vnx, B_DEP, 0, BT_OV_V8HI_BV8HI_V8HI)
2292 OB_DEF_VAR (s390_vec_eqv_s16_b, s390_vnx, 0, 0, BT_OV_V8HI_V8HI_V8HI)
2293 OB_DEF_VAR (s390_vec_eqv_s16_c, s390_vnx, B_DEP, 0, BT_OV_V8HI_V8HI_BV8HI)
2294 OB_DEF_VAR (s390_vec_eqv_u16_a, s390_vnx, B_DEP, 0, BT_OV_UV8HI_BV8HI_UV8HI)
2295 OB_DEF_VAR (s390_vec_eqv_u16_b, s390_vnx, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI)
2296 OB_DEF_VAR (s390_vec_eqv_u16_c, s390_vnx, B_DEP, 0, BT_OV_UV8HI_UV8HI_BV8HI)
2297 OB_DEF_VAR (s390_vec_eqv_b32, s390_vnx, 0, 0, BT_OV_BV4SI_BV4SI_BV4SI)
2298 OB_DEF_VAR (s390_vec_eqv_s32_a, s390_vnx, B_DEP, 0, BT_OV_V4SI_BV4SI_V4SI)
2299 OB_DEF_VAR (s390_vec_eqv_s32_b, s390_vnx, 0, 0, BT_OV_V4SI_V4SI_V4SI)
2300 OB_DEF_VAR (s390_vec_eqv_s32_c, s390_vnx, B_DEP, 0, BT_OV_V4SI_V4SI_BV4SI)
2301 OB_DEF_VAR (s390_vec_eqv_u32_a, s390_vnx, B_DEP, 0, BT_OV_UV4SI_BV4SI_UV4SI)
2302 OB_DEF_VAR (s390_vec_eqv_u32_b, s390_vnx, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI)
2303 OB_DEF_VAR (s390_vec_eqv_u32_c, s390_vnx, B_DEP, 0, BT_OV_UV4SI_UV4SI_BV4SI)
2304 OB_DEF_VAR (s390_vec_eqv_b64, s390_vnx, 0, 0, BT_OV_BV2DI_BV2DI_BV2DI)
2305 OB_DEF_VAR (s390_vec_eqv_s64_a, s390_vnx, B_DEP, 0, BT_OV_V2DI_BV2DI_V2DI)
2306 OB_DEF_VAR (s390_vec_eqv_s64_b, s390_vnx, 0, 0, BT_OV_V2DI_V2DI_V2DI)
2307 OB_DEF_VAR (s390_vec_eqv_s64_c, s390_vnx, B_DEP, 0, BT_OV_V2DI_V2DI_BV2DI)
2308 OB_DEF_VAR (s390_vec_eqv_u64_a, s390_vnx, B_DEP, 0, BT_OV_UV2DI_BV2DI_UV2DI)
2309 OB_DEF_VAR (s390_vec_eqv_u64_b, s390_vnx, 0, 0, BT_OV_UV2DI_UV2DI_UV2DI)
2310 OB_DEF_VAR (s390_vec_eqv_u64_c, s390_vnx, B_DEP, 0, BT_OV_UV2DI_UV2DI_BV2DI)
2311 OB_DEF_VAR (s390_vec_eqv_flt_a, s390_vnx, B_VXE | B_DEP, 0, BT_OV_V4SF_BV4SI_V4SF)
2312 OB_DEF_VAR (s390_vec_eqv_flt_b, s390_vnx, B_VXE, 0, BT_OV_V4SF_V4SF_V4SF)
2313 OB_DEF_VAR (s390_vec_eqv_flt_c, s390_vnx, B_VXE | B_DEP, 0, BT_OV_V4SF_V4SF_BV4SI)
2314 OB_DEF_VAR (s390_vec_eqv_dbl_a, s390_vnx, B_DEP, 0, BT_OV_V2DF_BV2DI_V2DF)
2315 OB_DEF_VAR (s390_vec_eqv_dbl_b, s390_vnx, 0, 0, BT_OV_V2DF_V2DF_V2DF)
2316 OB_DEF_VAR (s390_vec_eqv_dbl_c, s390_vnx, B_DEP, 0, BT_OV_V2DF_V2DF_BV2DI)
2317
2318 B_DEF (s390_vnx, notxorv16qi3, 0, B_VXE, 0, BT_FN_UV16QI_UV16QI_UV16QI)
2319
2320 OB_DEF (s390_vec_nand, s390_vec_nand_b8, s390_vec_nand_dbl_c,B_VXE, BT_FN_OV4SI_OV4SI_OV4SI)
2321 OB_DEF_VAR (s390_vec_nand_b8, s390_vnn, 0, 0, BT_OV_BV16QI_BV16QI_BV16QI)
2322 OB_DEF_VAR (s390_vec_nand_s8_a, s390_vnn, B_DEP, 0, BT_OV_V16QI_BV16QI_V16QI)
2323 OB_DEF_VAR (s390_vec_nand_s8_b, s390_vnn, 0, 0, BT_OV_V16QI_V16QI_V16QI)
2324 OB_DEF_VAR (s390_vec_nand_s8_c, s390_vnn, B_DEP, 0, BT_OV_V16QI_V16QI_BV16QI)
2325 OB_DEF_VAR (s390_vec_nand_u8_a, s390_vnn, B_DEP, 0, BT_OV_UV16QI_BV16QI_UV16QI)
2326 OB_DEF_VAR (s390_vec_nand_u8_b, s390_vnn, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI)
2327 OB_DEF_VAR (s390_vec_nand_u8_c, s390_vnn, B_DEP, 0, BT_OV_UV16QI_UV16QI_BV16QI)
2328 OB_DEF_VAR (s390_vec_nand_b16, s390_vnn, 0, 0, BT_OV_BV8HI_BV8HI_BV8HI)
2329 OB_DEF_VAR (s390_vec_nand_s16_a, s390_vnn, B_DEP, 0, BT_OV_V8HI_BV8HI_V8HI)
2330 OB_DEF_VAR (s390_vec_nand_s16_b, s390_vnn, 0, 0, BT_OV_V8HI_V8HI_V8HI)
2331 OB_DEF_VAR (s390_vec_nand_s16_c, s390_vnn, B_DEP, 0, BT_OV_V8HI_V8HI_BV8HI)
2332 OB_DEF_VAR (s390_vec_nand_u16_a, s390_vnn, B_DEP, 0, BT_OV_UV8HI_BV8HI_UV8HI)
2333 OB_DEF_VAR (s390_vec_nand_u16_b, s390_vnn, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI)
2334 OB_DEF_VAR (s390_vec_nand_u16_c, s390_vnn, B_DEP, 0, BT_OV_UV8HI_UV8HI_BV8HI)
2335 OB_DEF_VAR (s390_vec_nand_b32, s390_vnn, 0, 0, BT_OV_BV4SI_BV4SI_BV4SI)
2336 OB_DEF_VAR (s390_vec_nand_s32_a, s390_vnn, B_DEP, 0, BT_OV_V4SI_BV4SI_V4SI)
2337 OB_DEF_VAR (s390_vec_nand_s32_b, s390_vnn, 0, 0, BT_OV_V4SI_V4SI_V4SI)
2338 OB_DEF_VAR (s390_vec_nand_s32_c, s390_vnn, B_DEP, 0, BT_OV_V4SI_V4SI_BV4SI)
2339 OB_DEF_VAR (s390_vec_nand_u32_a, s390_vnn, B_DEP, 0, BT_OV_UV4SI_BV4SI_UV4SI)
2340 OB_DEF_VAR (s390_vec_nand_u32_b, s390_vnn, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI)
2341 OB_DEF_VAR (s390_vec_nand_u32_c, s390_vnn, B_DEP, 0, BT_OV_UV4SI_UV4SI_BV4SI)
2342 OB_DEF_VAR (s390_vec_nand_b64, s390_vnn, 0, 0, BT_OV_BV2DI_BV2DI_BV2DI)
2343 OB_DEF_VAR (s390_vec_nand_s64_a, s390_vnn, B_DEP, 0, BT_OV_V2DI_BV2DI_V2DI)
2344 OB_DEF_VAR (s390_vec_nand_s64_b, s390_vnn, 0, 0, BT_OV_V2DI_V2DI_V2DI)
2345 OB_DEF_VAR (s390_vec_nand_s64_c, s390_vnn, B_DEP, 0, BT_OV_V2DI_V2DI_BV2DI)
2346 OB_DEF_VAR (s390_vec_nand_u64_a, s390_vnn, B_DEP, 0, BT_OV_UV2DI_BV2DI_UV2DI)
2347 OB_DEF_VAR (s390_vec_nand_u64_b, s390_vnn, 0, 0, BT_OV_UV2DI_UV2DI_UV2DI)
2348 OB_DEF_VAR (s390_vec_nand_u64_c, s390_vnn, B_DEP, 0, BT_OV_UV2DI_UV2DI_BV2DI)
2349 OB_DEF_VAR (s390_vec_nand_flt_a, s390_vnn, B_DEP, 0, BT_OV_V4SF_BV4SI_V4SF)
2350 OB_DEF_VAR (s390_vec_nand_flt_b, s390_vnn, 0, 0, BT_OV_V4SF_V4SF_V4SF)
2351 OB_DEF_VAR (s390_vec_nand_flt_c, s390_vnn, B_DEP, 0, BT_OV_V4SF_V4SF_BV4SI)
2352 OB_DEF_VAR (s390_vec_nand_dbl_a, s390_vnn, B_DEP, 0, BT_OV_V2DF_BV2DI_V2DF)
2353 OB_DEF_VAR (s390_vec_nand_dbl_b, s390_vnn, 0, 0, BT_OV_V2DF_V2DF_V2DF)
2354 OB_DEF_VAR (s390_vec_nand_dbl_c, s390_vnn, B_DEP, 0, BT_OV_V2DF_V2DF_BV2DI)
2355
2356 B_DEF (s390_vnn, notandv16qi3, 0, B_VXE, 0, BT_FN_UV16QI_UV16QI_UV16QI)
2357
2358 OB_DEF (s390_vec_orc, s390_vec_orc_b8, s390_vec_orc_dbl_c, B_VXE, BT_FN_OV4SI_OV4SI_OV4SI)
2359 OB_DEF_VAR (s390_vec_orc_b8, s390_voc, 0, 0, BT_OV_BV16QI_BV16QI_BV16QI)
2360 OB_DEF_VAR (s390_vec_orc_s8_a, s390_voc, B_DEP, 0, BT_OV_V16QI_BV16QI_V16QI)
2361 OB_DEF_VAR (s390_vec_orc_s8_b, s390_voc, 0, 0, BT_OV_V16QI_V16QI_V16QI)
2362 OB_DEF_VAR (s390_vec_orc_s8_c, s390_voc, B_DEP, 0, BT_OV_V16QI_V16QI_BV16QI)
2363 OB_DEF_VAR (s390_vec_orc_u8_a, s390_voc, B_DEP, 0, BT_OV_UV16QI_BV16QI_UV16QI)
2364 OB_DEF_VAR (s390_vec_orc_u8_b, s390_voc, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI)
2365 OB_DEF_VAR (s390_vec_orc_u8_c, s390_voc, B_DEP, 0, BT_OV_UV16QI_UV16QI_BV16QI)
2366 OB_DEF_VAR (s390_vec_orc_b16, s390_voc, 0, 0, BT_OV_BV8HI_BV8HI_BV8HI)
2367 OB_DEF_VAR (s390_vec_orc_s16_a, s390_voc, B_DEP, 0, BT_OV_V8HI_BV8HI_V8HI)
2368 OB_DEF_VAR (s390_vec_orc_s16_b, s390_voc, 0, 0, BT_OV_V8HI_V8HI_V8HI)
2369 OB_DEF_VAR (s390_vec_orc_s16_c, s390_voc, B_DEP, 0, BT_OV_V8HI_V8HI_BV8HI)
2370 OB_DEF_VAR (s390_vec_orc_u16_a, s390_voc, B_DEP, 0, BT_OV_UV8HI_BV8HI_UV8HI)
2371 OB_DEF_VAR (s390_vec_orc_u16_b, s390_voc, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI)
2372 OB_DEF_VAR (s390_vec_orc_u16_c, s390_voc, B_DEP, 0, BT_OV_UV8HI_UV8HI_BV8HI)
2373 OB_DEF_VAR (s390_vec_orc_b32, s390_voc, 0, 0, BT_OV_BV4SI_BV4SI_BV4SI)
2374 OB_DEF_VAR (s390_vec_orc_s32_a, s390_voc, B_DEP, 0, BT_OV_V4SI_BV4SI_V4SI)
2375 OB_DEF_VAR (s390_vec_orc_s32_b, s390_voc, 0, 0, BT_OV_V4SI_V4SI_V4SI)
2376 OB_DEF_VAR (s390_vec_orc_s32_c, s390_voc, B_DEP, 0, BT_OV_V4SI_V4SI_BV4SI)
2377 OB_DEF_VAR (s390_vec_orc_u32_a, s390_voc, B_DEP, 0, BT_OV_UV4SI_BV4SI_UV4SI)
2378 OB_DEF_VAR (s390_vec_orc_u32_b, s390_voc, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI)
2379 OB_DEF_VAR (s390_vec_orc_u32_c, s390_voc, B_DEP, 0, BT_OV_UV4SI_UV4SI_BV4SI)
2380 OB_DEF_VAR (s390_vec_orc_b64, s390_voc, 0, 0, BT_OV_BV2DI_BV2DI_BV2DI)
2381 OB_DEF_VAR (s390_vec_orc_s64_a, s390_voc, B_DEP, 0, BT_OV_V2DI_BV2DI_V2DI)
2382 OB_DEF_VAR (s390_vec_orc_s64_b, s390_voc, 0, 0, BT_OV_V2DI_V2DI_V2DI)
2383 OB_DEF_VAR (s390_vec_orc_s64_c, s390_voc, B_DEP, 0, BT_OV_V2DI_V2DI_BV2DI)
2384 OB_DEF_VAR (s390_vec_orc_u64_a, s390_voc, B_DEP, 0, BT_OV_UV2DI_BV2DI_UV2DI)
2385 OB_DEF_VAR (s390_vec_orc_u64_b, s390_voc, 0, 0, BT_OV_UV2DI_UV2DI_UV2DI)
2386 OB_DEF_VAR (s390_vec_orc_u64_c, s390_voc, B_DEP, 0, BT_OV_UV2DI_UV2DI_BV2DI)
2387 OB_DEF_VAR (s390_vec_orc_flt_a, s390_voc, B_DEP, 0, BT_OV_V4SF_BV4SI_V4SF)
2388 OB_DEF_VAR (s390_vec_orc_flt_b, s390_voc, 0, 0, BT_OV_V4SF_V4SF_V4SF)
2389 OB_DEF_VAR (s390_vec_orc_flt_c, s390_voc, B_DEP, 0, BT_OV_V4SF_V4SF_BV4SI)
2390 OB_DEF_VAR (s390_vec_orc_dbl_a, s390_voc, B_DEP, 0, BT_OV_V2DF_BV2DI_V2DF)
2391 OB_DEF_VAR (s390_vec_orc_dbl_b, s390_voc, 0, 0, BT_OV_V2DF_V2DF_V2DF)
2392 OB_DEF_VAR (s390_vec_orc_dbl_c, s390_voc, B_DEP, 0, BT_OV_V2DF_V2DF_BV2DI)
2393
2394 B_DEF (s390_voc, ior_notv16qi3, 0, B_VXE, 0, BT_FN_UV16QI_UV16QI_UV16QI)
2395
2396 B_DEF (s390_vfaeb, vfaev16qi, 0, B_VX, O3_U4, BT_FN_UV16QI_UV16QI_UV16QI_INT)
2397 B_DEF (s390_vfaeh, vfaev8hi, 0, B_VX, O3_U4, BT_FN_UV8HI_UV8HI_UV8HI_INT)
2398 B_DEF (s390_vfaef, vfaev4si, 0, B_VX, O3_U4, BT_FN_UV4SI_UV4SI_UV4SI_INT)
2399 B_DEF (s390_vfaezb, vfaezv16qi, 0, B_VX, O3_U4, BT_FN_UV16QI_UV16QI_UV16QI_INT)
2400 B_DEF (s390_vfaezh, vfaezv8hi, 0, B_VX, O3_U4, BT_FN_UV8HI_UV8HI_UV8HI_INT)
2401 B_DEF (s390_vfaezf, vfaezv4si, 0, B_VX, O3_U4, BT_FN_UV4SI_UV4SI_UV4SI_INT)
2402 B_DEF (s390_vfaebs, vfaesv16qi, 0, B_VX, O3_U4, BT_FN_UV16QI_UV16QI_UV16QI_INT_INTPTR)
2403 B_DEF (s390_vfaehs, vfaesv8hi, 0, B_VX, O3_U4, BT_FN_UV8HI_UV8HI_UV8HI_INT_INTPTR)
2404 B_DEF (s390_vfaefs, vfaesv4si, 0, B_VX, O3_U4, BT_FN_UV4SI_UV4SI_UV4SI_INT_INTPTR)
2405 B_DEF (s390_vfaezbs, vfaezsv16qi, 0, B_VX, O3_U4, BT_FN_UV16QI_UV16QI_UV16QI_INT_INTPTR)
2406 B_DEF (s390_vfaezhs, vfaezsv8hi, 0, B_VX, O3_U4, BT_FN_UV8HI_UV8HI_UV8HI_INT_INTPTR)
2407 B_DEF (s390_vfaezfs, vfaezsv4si, 0, B_VX, O3_U4, BT_FN_UV4SI_UV4SI_UV4SI_INT_INTPTR)
2408
2409 OB_DEF (s390_vec_find_any_eq_idx, s390_vfaeb_idx_s8, s390_vfaef_idx_u32b,B_VX, BT_FN_INT_OV4SI_OV4SI)
2410 OB_DEF_VAR (s390_vfaeb_idx_s8, s390_vfaeb, 0, 0, BT_OV_V16QI_V16QI_V16QI)
2411 OB_DEF_VAR (s390_vfaeb_idx_u8a, s390_vfaeb, 0, 0, BT_OV_UV16QI_BV16QI_BV16QI)
2412 OB_DEF_VAR (s390_vfaeb_idx_u8b, s390_vfaeb, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI)
2413 OB_DEF_VAR (s390_vfaeh_idx_s16, s390_vfaeh, 0, 0, BT_OV_V8HI_V8HI_V8HI)
2414 OB_DEF_VAR (s390_vfaeh_idx_u16a, s390_vfaeh, 0, 0, BT_OV_UV8HI_BV8HI_BV8HI)
2415 OB_DEF_VAR (s390_vfaeh_idx_u16b, s390_vfaeh, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI)
2416 OB_DEF_VAR (s390_vfaef_idx_s32, s390_vfaef, 0, 0, BT_OV_V4SI_V4SI_V4SI)
2417 OB_DEF_VAR (s390_vfaef_idx_u32a, s390_vfaef, 0, 0, BT_OV_UV4SI_BV4SI_BV4SI)
2418 OB_DEF_VAR (s390_vfaef_idx_u32b, s390_vfaef, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI)
2419
2420 OB_DEF (s390_vec_find_any_ne_idx, s390_vfaeb_inv_idx_s8,s390_vfaef_inv_idx_u32b,B_VX, BT_FN_INT_OV4SI_OV4SI)
2421 OB_DEF_VAR (s390_vfaeb_inv_idx_s8, s390_vfaeb, 0, 0, BT_OV_V16QI_V16QI_V16QI)
2422 OB_DEF_VAR (s390_vfaeb_inv_idx_u8a, s390_vfaeb, 0, 0, BT_OV_UV16QI_BV16QI_BV16QI)
2423 OB_DEF_VAR (s390_vfaeb_inv_idx_u8b, s390_vfaeb, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI)
2424 OB_DEF_VAR (s390_vfaeh_inv_idx_s16, s390_vfaeh, 0, 0, BT_OV_V8HI_V8HI_V8HI)
2425 OB_DEF_VAR (s390_vfaeh_inv_idx_u16a, s390_vfaeh, 0, 0, BT_OV_UV8HI_BV8HI_BV8HI)
2426 OB_DEF_VAR (s390_vfaeh_inv_idx_u16b, s390_vfaeh, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI)
2427 OB_DEF_VAR (s390_vfaef_inv_idx_s32, s390_vfaef, 0, 0, BT_OV_V4SI_V4SI_V4SI)
2428 OB_DEF_VAR (s390_vfaef_inv_idx_u32a, s390_vfaef, 0, 0, BT_OV_UV4SI_BV4SI_BV4SI)
2429 OB_DEF_VAR (s390_vfaef_inv_idx_u32b, s390_vfaef, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI)
2430
2431 OB_DEF (s390_vec_find_any_eq_or_0_idx,s390_vfaezb_idx_s8,s390_vfaezf_idx_u32b,B_VX, BT_FN_INT_OV4SI_OV4SI)
2432 OB_DEF_VAR (s390_vfaezb_idx_s8, s390_vfaezb, 0, 0, BT_OV_V16QI_V16QI_V16QI)
2433 OB_DEF_VAR (s390_vfaezb_idx_u8a, s390_vfaezb, 0, 0, BT_OV_UV16QI_BV16QI_BV16QI)
2434 OB_DEF_VAR (s390_vfaezb_idx_u8b, s390_vfaezb, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI)
2435 OB_DEF_VAR (s390_vfaezh_idx_s16, s390_vfaezh, 0, 0, BT_OV_V8HI_V8HI_V8HI)
2436 OB_DEF_VAR (s390_vfaezh_idx_u16a, s390_vfaezh, 0, 0, BT_OV_UV8HI_BV8HI_BV8HI)
2437 OB_DEF_VAR (s390_vfaezh_idx_u16b, s390_vfaezh, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI)
2438 OB_DEF_VAR (s390_vfaezf_idx_s32, s390_vfaezf, 0, 0, BT_OV_V4SI_V4SI_V4SI)
2439 OB_DEF_VAR (s390_vfaezf_idx_u32a, s390_vfaezf, 0, 0, BT_OV_UV4SI_BV4SI_BV4SI)
2440 OB_DEF_VAR (s390_vfaezf_idx_u32b, s390_vfaezf, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI)
2441
2442 OB_DEF (s390_vec_find_any_ne_or_0_idx,s390_vfaezb_inv_idx_s8,s390_vfaezf_inv_idx_u32b,B_VX, BT_FN_INT_OV4SI_OV4SI)
2443 OB_DEF_VAR (s390_vfaezb_inv_idx_s8, s390_vfaezb, 0, 0, BT_OV_V16QI_V16QI_V16QI)
2444 OB_DEF_VAR (s390_vfaezb_inv_idx_u8a, s390_vfaezb, 0, 0, BT_OV_UV16QI_BV16QI_BV16QI)
2445 OB_DEF_VAR (s390_vfaezb_inv_idx_u8b, s390_vfaezb, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI)
2446 OB_DEF_VAR (s390_vfaezh_inv_idx_s16, s390_vfaezh, 0, 0, BT_OV_V8HI_V8HI_V8HI)
2447 OB_DEF_VAR (s390_vfaezh_inv_idx_u16a, s390_vfaezh, 0, 0, BT_OV_UV8HI_BV8HI_BV8HI)
2448 OB_DEF_VAR (s390_vfaezh_inv_idx_u16b, s390_vfaezh, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI)
2449 OB_DEF_VAR (s390_vfaezf_inv_idx_s32, s390_vfaezf, 0, 0, BT_OV_V4SI_V4SI_V4SI)
2450 OB_DEF_VAR (s390_vfaezf_inv_idx_u32a, s390_vfaezf, 0, 0, BT_OV_UV4SI_BV4SI_BV4SI)
2451 OB_DEF_VAR (s390_vfaezf_inv_idx_u32b, s390_vfaezf, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI)
2452
2453 OB_DEF (s390_vec_find_any_eq, s390_vfaeb_s8, s390_vfaef_b32, B_VX, BT_FN_OV4SI_OV4SI_OV4SI)
2454 OB_DEF_VAR (s390_vfaeb_s8, s390_vfaeb, 0, 0, BT_OV_BV16QI_V16QI_V16QI)
2455 OB_DEF_VAR (s390_vfaeb_u8, s390_vfaeb, 0, 0, BT_OV_BV16QI_BV16QI_BV16QI)
2456 OB_DEF_VAR (s390_vfaeb_b8, s390_vfaeb, 0, 0, BT_OV_BV16QI_UV16QI_UV16QI)
2457 OB_DEF_VAR (s390_vfaeh_s16, s390_vfaeh, 0, 0, BT_OV_BV8HI_V8HI_V8HI)
2458 OB_DEF_VAR (s390_vfaeh_u16, s390_vfaeh, 0, 0, BT_OV_BV8HI_BV8HI_BV8HI)
2459 OB_DEF_VAR (s390_vfaeh_b16, s390_vfaeh, 0, 0, BT_OV_BV8HI_UV8HI_UV8HI)
2460 OB_DEF_VAR (s390_vfaef_s32, s390_vfaef, 0, 0, BT_OV_BV4SI_V4SI_V4SI)
2461 OB_DEF_VAR (s390_vfaef_u32, s390_vfaef, 0, 0, BT_OV_BV4SI_BV4SI_BV4SI)
2462 OB_DEF_VAR (s390_vfaef_b32, s390_vfaef, 0, 0, BT_OV_BV4SI_UV4SI_UV4SI)
2463
2464 OB_DEF (s390_vec_find_any_ne, s390_vfaeb_inv_s8, s390_vfaef_inv_b32, B_VX, BT_FN_OV4SI_OV4SI_OV4SI)
2465 OB_DEF_VAR (s390_vfaeb_inv_s8, s390_vfaeb, 0, 0, BT_OV_BV16QI_V16QI_V16QI)
2466 OB_DEF_VAR (s390_vfaeb_inv_u8, s390_vfaeb, 0, 0, BT_OV_BV16QI_BV16QI_BV16QI)
2467 OB_DEF_VAR (s390_vfaeb_inv_b8, s390_vfaeb, 0, 0, BT_OV_BV16QI_UV16QI_UV16QI)
2468 OB_DEF_VAR (s390_vfaeh_inv_s16, s390_vfaeh, 0, 0, BT_OV_BV8HI_V8HI_V8HI)
2469 OB_DEF_VAR (s390_vfaeh_inv_u16, s390_vfaeh, 0, 0, BT_OV_BV8HI_BV8HI_BV8HI)
2470 OB_DEF_VAR (s390_vfaeh_inv_b16, s390_vfaeh, 0, 0, BT_OV_BV8HI_UV8HI_UV8HI)
2471 OB_DEF_VAR (s390_vfaef_inv_s32, s390_vfaef, 0, 0, BT_OV_BV4SI_V4SI_V4SI)
2472 OB_DEF_VAR (s390_vfaef_inv_u32, s390_vfaef, 0, 0, BT_OV_BV4SI_BV4SI_BV4SI)
2473 OB_DEF_VAR (s390_vfaef_inv_b32, s390_vfaef, 0, 0, BT_OV_BV4SI_UV4SI_UV4SI)
2474
2475 OB_DEF (s390_vec_find_any_eq_idx_cc,s390_vfaebs_idx_s8, s390_vfaefs_idx_u32b,B_VX, BT_FN_INT_OV4SI_OV4SI_INTPTR)
2476 OB_DEF_VAR (s390_vfaebs_idx_s8, s390_vfaebs, 0, 0, BT_OV_V16QI_V16QI_V16QI_INTPTR)
2477 OB_DEF_VAR (s390_vfaebs_idx_u8a, s390_vfaebs, 0, 0, BT_OV_UV16QI_BV16QI_BV16QI_INTPTR)
2478 OB_DEF_VAR (s390_vfaebs_idx_u8b, s390_vfaebs, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI_INTPTR)
2479 OB_DEF_VAR (s390_vfaehs_idx_s16, s390_vfaehs, 0, 0, BT_OV_V8HI_V8HI_V8HI_INTPTR)
2480 OB_DEF_VAR (s390_vfaehs_idx_u16a, s390_vfaehs, 0, 0, BT_OV_UV8HI_BV8HI_BV8HI_INTPTR)
2481 OB_DEF_VAR (s390_vfaehs_idx_u16b, s390_vfaehs, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI_INTPTR)
2482 OB_DEF_VAR (s390_vfaefs_idx_s32, s390_vfaefs, 0, 0, BT_OV_V4SI_V4SI_V4SI_INTPTR)
2483 OB_DEF_VAR (s390_vfaefs_idx_u32a, s390_vfaefs, 0, 0, BT_OV_UV4SI_BV4SI_BV4SI_INTPTR)
2484 OB_DEF_VAR (s390_vfaefs_idx_u32b, s390_vfaefs, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI_INTPTR)
2485
2486 OB_DEF (s390_vec_find_any_ne_idx_cc,s390_vfaebs_inv_idx_s8,s390_vfaefs_inv_idx_u32b,B_VX, BT_FN_INT_OV4SI_OV4SI_INTPTR)
2487 OB_DEF_VAR (s390_vfaebs_inv_idx_s8, s390_vfaebs, 0, 0, BT_OV_V16QI_V16QI_V16QI_INTPTR)
2488 OB_DEF_VAR (s390_vfaebs_inv_idx_u8a, s390_vfaebs, 0, 0, BT_OV_UV16QI_BV16QI_BV16QI_INTPTR)
2489 OB_DEF_VAR (s390_vfaebs_inv_idx_u8b, s390_vfaebs, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI_INTPTR)
2490 OB_DEF_VAR (s390_vfaehs_inv_idx_s16, s390_vfaehs, 0, 0, BT_OV_V8HI_V8HI_V8HI_INTPTR)
2491 OB_DEF_VAR (s390_vfaehs_inv_idx_u16a, s390_vfaehs, 0, 0, BT_OV_UV8HI_BV8HI_BV8HI_INTPTR)
2492 OB_DEF_VAR (s390_vfaehs_inv_idx_u16b, s390_vfaehs, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI_INTPTR)
2493 OB_DEF_VAR (s390_vfaefs_inv_idx_s32, s390_vfaefs, 0, 0, BT_OV_V4SI_V4SI_V4SI_INTPTR)
2494 OB_DEF_VAR (s390_vfaefs_inv_idx_u32a, s390_vfaefs, 0, 0, BT_OV_UV4SI_BV4SI_BV4SI_INTPTR)
2495 OB_DEF_VAR (s390_vfaefs_inv_idx_u32b, s390_vfaefs, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI_INTPTR)
2496
2497 OB_DEF (s390_vec_find_any_eq_or_0_idx_cc,s390_vfaezbs_idx_s8,s390_vfaezfs_idx_u32b,B_VX, BT_FN_INT_OV4SI_OV4SI_INTPTR)
2498 OB_DEF_VAR (s390_vfaezbs_idx_s8, s390_vfaezbs, 0, 0, BT_OV_V16QI_V16QI_V16QI_INTPTR)
2499 OB_DEF_VAR (s390_vfaezbs_idx_u8a, s390_vfaezbs, 0, 0, BT_OV_UV16QI_BV16QI_BV16QI_INTPTR)
2500 OB_DEF_VAR (s390_vfaezbs_idx_u8b, s390_vfaezbs, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI_INTPTR)
2501 OB_DEF_VAR (s390_vfaezhs_idx_s16, s390_vfaezhs, 0, 0, BT_OV_V8HI_V8HI_V8HI_INTPTR)
2502 OB_DEF_VAR (s390_vfaezhs_idx_u16a, s390_vfaezhs, 0, 0, BT_OV_UV8HI_BV8HI_BV8HI_INTPTR)
2503 OB_DEF_VAR (s390_vfaezhs_idx_u16b, s390_vfaezhs, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI_INTPTR)
2504 OB_DEF_VAR (s390_vfaezfs_idx_s32, s390_vfaezfs, 0, 0, BT_OV_V4SI_V4SI_V4SI_INTPTR)
2505 OB_DEF_VAR (s390_vfaezfs_idx_u32a, s390_vfaezfs, 0, 0, BT_OV_UV4SI_BV4SI_BV4SI_INTPTR)
2506 OB_DEF_VAR (s390_vfaezfs_idx_u32b, s390_vfaezfs, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI_INTPTR)
2507
2508 OB_DEF (s390_vec_find_any_ne_or_0_idx_cc,s390_vfaezbs_inv_idx_s8,s390_vfaezfs_inv_idx_u32b,B_VX,BT_FN_INT_OV4SI_OV4SI_INTPTR)
2509 OB_DEF_VAR (s390_vfaezbs_inv_idx_s8, s390_vfaezbs, 0, 0, BT_OV_V16QI_V16QI_V16QI_INTPTR)
2510 OB_DEF_VAR (s390_vfaezbs_inv_idx_u8a, s390_vfaezbs, 0, 0, BT_OV_UV16QI_BV16QI_BV16QI_INTPTR)
2511 OB_DEF_VAR (s390_vfaezbs_inv_idx_u8b, s390_vfaezbs, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI_INTPTR)
2512 OB_DEF_VAR (s390_vfaezhs_inv_idx_s16, s390_vfaezhs, 0, 0, BT_OV_V8HI_V8HI_V8HI_INTPTR)
2513 OB_DEF_VAR (s390_vfaezhs_inv_idx_u16a, s390_vfaezhs, 0, 0, BT_OV_UV8HI_BV8HI_BV8HI_INTPTR)
2514 OB_DEF_VAR (s390_vfaezhs_inv_idx_u16b, s390_vfaezhs, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI_INTPTR)
2515 OB_DEF_VAR (s390_vfaezfs_inv_idx_s32, s390_vfaezfs, 0, 0, BT_OV_V4SI_V4SI_V4SI_INTPTR)
2516 OB_DEF_VAR (s390_vfaezfs_inv_idx_u32a, s390_vfaezfs, 0, 0, BT_OV_UV4SI_BV4SI_BV4SI_INTPTR)
2517 OB_DEF_VAR (s390_vfaezfs_inv_idx_u32b, s390_vfaezfs, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI_INTPTR)
2518
2519 OB_DEF (s390_vec_find_any_eq_cc, s390_vfaebs_s8, s390_vfaefs_b32, B_VX, BT_FN_OV4SI_OV4SI_OV4SI_INTPTR)
2520 OB_DEF_VAR (s390_vfaebs_s8, s390_vfaebs, 0, 0, BT_OV_BV16QI_V16QI_V16QI_INTPTR)
2521 OB_DEF_VAR (s390_vfaebs_u8, s390_vfaebs, 0, 0, BT_OV_BV16QI_BV16QI_BV16QI_INTPTR)
2522 OB_DEF_VAR (s390_vfaebs_b8, s390_vfaebs, 0, 0, BT_OV_BV16QI_UV16QI_UV16QI_INTPTR)
2523 OB_DEF_VAR (s390_vfaehs_s16, s390_vfaehs, 0, 0, BT_OV_BV8HI_V8HI_V8HI_INTPTR)
2524 OB_DEF_VAR (s390_vfaehs_u16, s390_vfaehs, 0, 0, BT_OV_BV8HI_BV8HI_BV8HI_INTPTR)
2525 OB_DEF_VAR (s390_vfaehs_b16, s390_vfaehs, 0, 0, BT_OV_BV8HI_UV8HI_UV8HI_INTPTR)
2526 OB_DEF_VAR (s390_vfaefs_s32, s390_vfaefs, 0, 0, BT_OV_BV4SI_V4SI_V4SI_INTPTR)
2527 OB_DEF_VAR (s390_vfaefs_u32, s390_vfaefs, 0, 0, BT_OV_BV4SI_BV4SI_BV4SI_INTPTR)
2528 OB_DEF_VAR (s390_vfaefs_b32, s390_vfaefs, 0, 0, BT_OV_BV4SI_UV4SI_UV4SI_INTPTR)
2529
2530 OB_DEF (s390_vec_find_any_ne_cc, s390_vfaebs_inv_s8, s390_vfaefs_inv_b32,B_VX, BT_FN_OV4SI_OV4SI_OV4SI_INTPTR)
2531 OB_DEF_VAR (s390_vfaebs_inv_s8, s390_vfaebs, 0, 0, BT_OV_BV16QI_V16QI_V16QI_INTPTR)
2532 OB_DEF_VAR (s390_vfaebs_inv_u8, s390_vfaebs, 0, 0, BT_OV_BV16QI_BV16QI_BV16QI_INTPTR)
2533 OB_DEF_VAR (s390_vfaebs_inv_b8, s390_vfaebs, 0, 0, BT_OV_BV16QI_UV16QI_UV16QI_INTPTR)
2534 OB_DEF_VAR (s390_vfaehs_inv_s16, s390_vfaehs, 0, 0, BT_OV_BV8HI_V8HI_V8HI_INTPTR)
2535 OB_DEF_VAR (s390_vfaehs_inv_u16, s390_vfaehs, 0, 0, BT_OV_BV8HI_BV8HI_BV8HI_INTPTR)
2536 OB_DEF_VAR (s390_vfaehs_inv_b16, s390_vfaehs, 0, 0, BT_OV_BV8HI_UV8HI_UV8HI_INTPTR)
2537 OB_DEF_VAR (s390_vfaefs_inv_s32, s390_vfaefs, 0, 0, BT_OV_BV4SI_V4SI_V4SI_INTPTR)
2538 OB_DEF_VAR (s390_vfaefs_inv_u32, s390_vfaefs, 0, 0, BT_OV_BV4SI_BV4SI_BV4SI_INTPTR)
2539 OB_DEF_VAR (s390_vfaefs_inv_b32, s390_vfaefs, 0, 0, BT_OV_BV4SI_UV4SI_UV4SI_INTPTR)
2540
2541 B_DEF (s390_vfeeb, vfeev16qi, 0, B_VX, 0, BT_FN_UV16QI_UV16QI_UV16QI)
2542 B_DEF (s390_vfeeh, vfeev8hi, 0, B_VX, 0, BT_FN_UV8HI_UV8HI_UV8HI)
2543 B_DEF (s390_vfeef, vfeev4si, 0, B_VX, 0, BT_FN_UV4SI_UV4SI_UV4SI)
2544 B_DEF (s390_vfeezb, vfeezv16qi, 0, B_VX, 0, BT_FN_UV16QI_UV16QI_UV16QI)
2545 B_DEF (s390_vfeezh, vfeezv8hi, 0, B_VX, 0, BT_FN_UV8HI_UV8HI_UV8HI)
2546 B_DEF (s390_vfeezf, vfeezv4si, 0, B_VX, 0, BT_FN_UV4SI_UV4SI_UV4SI)
2547 B_DEF (s390_vfeebs, vfeesv16qi, 0, B_VX, 0, BT_FN_UV16QI_UV16QI_UV16QI_INTPTR)
2548 B_DEF (s390_vfeehs, vfeesv8hi, 0, B_VX, 0, BT_FN_UV8HI_UV8HI_UV8HI_INTPTR)
2549 B_DEF (s390_vfeefs, vfeesv4si, 0, B_VX, 0, BT_FN_UV4SI_UV4SI_UV4SI_INTPTR)
2550 B_DEF (s390_vfeezbs, vfeezsv16qi, 0, B_VX, 0, BT_FN_UV16QI_UV16QI_UV16QI_INTPTR)
2551 B_DEF (s390_vfeezhs, vfeezsv8hi, 0, B_VX, 0, BT_FN_UV8HI_UV8HI_UV8HI_INTPTR)
2552 B_DEF (s390_vfeezfs, vfeezsv4si, 0, B_VX, 0, BT_FN_UV4SI_UV4SI_UV4SI_INTPTR)
2553
2554 OB_DEF (s390_vec_cmpeq_idx, s390_vfeeb_s8, s390_vfeef_u32b, B_VX, BT_FN_INT_OV4SI_OV4SI)
2555 OB_DEF_VAR (s390_vfeeb_s8, s390_vfeeb, 0, 0, BT_OV_V16QI_V16QI_V16QI)
2556 OB_DEF_VAR (s390_vfeeb_u8a, s390_vfeeb, 0, 0, BT_OV_UV16QI_BV16QI_BV16QI)
2557 OB_DEF_VAR (s390_vfeeb_u8b, s390_vfeeb, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI)
2558 OB_DEF_VAR (s390_vfeeh_s16, s390_vfeeh, 0, 0, BT_OV_V8HI_V8HI_V8HI)
2559 OB_DEF_VAR (s390_vfeeh_u16a, s390_vfeeh, 0, 0, BT_OV_UV8HI_BV8HI_BV8HI)
2560 OB_DEF_VAR (s390_vfeeh_u16b, s390_vfeeh, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI)
2561 OB_DEF_VAR (s390_vfeef_s32, s390_vfeef, 0, 0, BT_OV_V4SI_V4SI_V4SI)
2562 OB_DEF_VAR (s390_vfeef_u32a, s390_vfeef, 0, 0, BT_OV_UV4SI_BV4SI_BV4SI)
2563 OB_DEF_VAR (s390_vfeef_u32b, s390_vfeef, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI)
2564
2565 OB_DEF (s390_vec_cmpeq_or_0_idx, s390_vfeezb_s8, s390_vfeezf_u32b, B_VX, BT_FN_INT_OV4SI_OV4SI)
2566 OB_DEF_VAR (s390_vfeezb_s8, s390_vfeezb, 0, 0, BT_OV_V16QI_V16QI_V16QI)
2567 OB_DEF_VAR (s390_vfeezb_u8a, s390_vfeezb, 0, 0, BT_OV_UV16QI_BV16QI_BV16QI)
2568 OB_DEF_VAR (s390_vfeezb_u8b, s390_vfeezb, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI)
2569 OB_DEF_VAR (s390_vfeezh_s16, s390_vfeezh, 0, 0, BT_OV_V8HI_V8HI_V8HI)
2570 OB_DEF_VAR (s390_vfeezh_u16a, s390_vfeezh, 0, 0, BT_OV_UV8HI_BV8HI_BV8HI)
2571 OB_DEF_VAR (s390_vfeezh_u16b, s390_vfeezh, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI)
2572 OB_DEF_VAR (s390_vfeezf_s32, s390_vfeezf, 0, 0, BT_OV_V4SI_V4SI_V4SI)
2573 OB_DEF_VAR (s390_vfeezf_u32a, s390_vfeezf, 0, 0, BT_OV_UV4SI_BV4SI_BV4SI)
2574 OB_DEF_VAR (s390_vfeezf_u32b, s390_vfeezf, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI)
2575
2576 OB_DEF (s390_vec_cmpeq_idx_cc, s390_vfeebs_s8, s390_vfeefs_u32b, B_VX, BT_FN_INT_OV4SI_OV4SI_INTPTR)
2577 OB_DEF_VAR (s390_vfeebs_s8, s390_vfeebs, 0, 0, BT_OV_V16QI_V16QI_V16QI_INTPTR)
2578 OB_DEF_VAR (s390_vfeebs_u8a, s390_vfeebs, 0, 0, BT_OV_UV16QI_BV16QI_BV16QI_INTPTR)
2579 OB_DEF_VAR (s390_vfeebs_u8b, s390_vfeebs, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI_INTPTR)
2580 OB_DEF_VAR (s390_vfeehs_s16, s390_vfeehs, 0, 0, BT_OV_V8HI_V8HI_V8HI_INTPTR)
2581 OB_DEF_VAR (s390_vfeehs_u16a, s390_vfeehs, 0, 0, BT_OV_UV8HI_BV8HI_BV8HI_INTPTR)
2582 OB_DEF_VAR (s390_vfeehs_u16b, s390_vfeehs, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI_INTPTR)
2583 OB_DEF_VAR (s390_vfeefs_s32, s390_vfeefs, 0, 0, BT_OV_V4SI_V4SI_V4SI_INTPTR)
2584 OB_DEF_VAR (s390_vfeefs_u32a, s390_vfeefs, 0, 0, BT_OV_UV4SI_BV4SI_BV4SI_INTPTR)
2585 OB_DEF_VAR (s390_vfeefs_u32b, s390_vfeefs, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI_INTPTR)
2586
2587 OB_DEF (s390_vec_cmpeq_or_0_idx_cc, s390_vfeezbs_s8, s390_vfeezfs_u32b, B_VX, BT_FN_INT_OV4SI_OV4SI_INTPTR)
2588 OB_DEF_VAR (s390_vfeezbs_s8, s390_vfeezbs, 0, 0, BT_OV_V16QI_V16QI_V16QI_INTPTR)
2589 OB_DEF_VAR (s390_vfeezbs_u8a, s390_vfeezbs, 0, 0, BT_OV_UV16QI_BV16QI_BV16QI_INTPTR)
2590 OB_DEF_VAR (s390_vfeezbs_u8b, s390_vfeezbs, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI_INTPTR)
2591 OB_DEF_VAR (s390_vfeezhs_s16, s390_vfeezhs, 0, 0, BT_OV_V8HI_V8HI_V8HI_INTPTR)
2592 OB_DEF_VAR (s390_vfeezhs_u16a, s390_vfeezhs, 0, 0, BT_OV_UV8HI_BV8HI_BV8HI_INTPTR)
2593 OB_DEF_VAR (s390_vfeezhs_u16b, s390_vfeezhs, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI_INTPTR)
2594 OB_DEF_VAR (s390_vfeezfs_s32, s390_vfeezfs, 0, 0, BT_OV_V4SI_V4SI_V4SI_INTPTR)
2595 OB_DEF_VAR (s390_vfeezfs_u32a, s390_vfeezfs, 0, 0, BT_OV_UV4SI_BV4SI_BV4SI_INTPTR)
2596 OB_DEF_VAR (s390_vfeezfs_u32b, s390_vfeezfs, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI_INTPTR)
2597
2598 B_DEF (s390_vfeneb, vfenev16qi, 0, B_VX, 0, BT_FN_UV16QI_UV16QI_UV16QI)
2599 B_DEF (s390_vfeneh, vfenev8hi, 0, B_VX, 0, BT_FN_UV8HI_UV8HI_UV8HI)
2600 B_DEF (s390_vfenef, vfenev4si, 0, B_VX, 0, BT_FN_UV4SI_UV4SI_UV4SI)
2601 B_DEF (s390_vfenezb, vfenezv16qi, 0, B_VX, 0, BT_FN_UV16QI_UV16QI_UV16QI)
2602 B_DEF (s390_vfenezh, vfenezv8hi, 0, B_VX, 0, BT_FN_UV8HI_UV8HI_UV8HI)
2603 B_DEF (s390_vfenezf, vfenezv4si, 0, B_VX, 0, BT_FN_UV4SI_UV4SI_UV4SI)
2604 B_DEF (s390_vfenebs, vfenesv16qi, 0, B_VX, 0, BT_FN_UV16QI_UV16QI_UV16QI_INTPTR)
2605 B_DEF (s390_vfenehs, vfenesv8hi, 0, B_VX, 0, BT_FN_UV8HI_UV8HI_UV8HI_INTPTR)
2606 B_DEF (s390_vfenefs, vfenesv4si, 0, B_VX, 0, BT_FN_UV4SI_UV4SI_UV4SI_INTPTR)
2607 B_DEF (s390_vfenezbs, vfenezsv16qi, 0, B_VX, 0, BT_FN_UV16QI_UV16QI_UV16QI_INTPTR)
2608 B_DEF (s390_vfenezhs, vfenezsv8hi, 0, B_VX, 0, BT_FN_UV8HI_UV8HI_UV8HI_INTPTR)
2609 B_DEF (s390_vfenezfs, vfenezsv4si, 0, B_VX, 0, BT_FN_UV4SI_UV4SI_UV4SI_INTPTR)
2610
2611 OB_DEF (s390_vec_cmpne_idx, s390_vfeneb_s8, s390_vfenef_u32b, B_VX, BT_FN_INT_OV4SI_OV4SI)
2612 OB_DEF_VAR (s390_vfeneb_s8, s390_vfeneb, 0, 0, BT_OV_V16QI_V16QI_V16QI)
2613 OB_DEF_VAR (s390_vfeneb_u8a, s390_vfeneb, 0, 0, BT_OV_UV16QI_BV16QI_BV16QI)
2614 OB_DEF_VAR (s390_vfeneb_u8b, s390_vfeneb, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI)
2615 OB_DEF_VAR (s390_vfeneh_s16, s390_vfeneh, 0, 0, BT_OV_V8HI_V8HI_V8HI)
2616 OB_DEF_VAR (s390_vfeneh_u16a, s390_vfeneh, 0, 0, BT_OV_UV8HI_BV8HI_BV8HI)
2617 OB_DEF_VAR (s390_vfeneh_u16b, s390_vfeneh, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI)
2618 OB_DEF_VAR (s390_vfenef_s32, s390_vfenef, 0, 0, BT_OV_V4SI_V4SI_V4SI)
2619 OB_DEF_VAR (s390_vfenef_u32a, s390_vfenef, 0, 0, BT_OV_UV4SI_BV4SI_BV4SI)
2620 OB_DEF_VAR (s390_vfenef_u32b, s390_vfenef, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI)
2621
2622 OB_DEF (s390_vec_cmpne_or_0_idx, s390_vfenezb_s8, s390_vfenezf_u32b, B_VX, BT_FN_INT_OV4SI_OV4SI)
2623 OB_DEF_VAR (s390_vfenezb_s8, s390_vfenezb, 0, 0, BT_OV_V16QI_V16QI_V16QI)
2624 OB_DEF_VAR (s390_vfenezb_u8a, s390_vfenezb, 0, 0, BT_OV_UV16QI_BV16QI_BV16QI)
2625 OB_DEF_VAR (s390_vfenezb_u8b, s390_vfenezb, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI)
2626 OB_DEF_VAR (s390_vfenezh_s16, s390_vfenezh, 0, 0, BT_OV_V8HI_V8HI_V8HI)
2627 OB_DEF_VAR (s390_vfenezh_u16a, s390_vfenezh, 0, 0, BT_OV_UV8HI_BV8HI_BV8HI)
2628 OB_DEF_VAR (s390_vfenezh_u16b, s390_vfenezh, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI)
2629 OB_DEF_VAR (s390_vfenezf_s32, s390_vfenezf, 0, 0, BT_OV_V4SI_V4SI_V4SI)
2630 OB_DEF_VAR (s390_vfenezf_u32a, s390_vfenezf, 0, 0, BT_OV_UV4SI_BV4SI_BV4SI)
2631 OB_DEF_VAR (s390_vfenezf_u32b, s390_vfenezf, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI)
2632
2633 OB_DEF (s390_vec_cmpne_idx_cc, s390_vfenebs_s8, s390_vfenefs_u32b, B_VX, BT_FN_INT_OV4SI_OV4SI_INTPTR)
2634 OB_DEF_VAR (s390_vfenebs_s8, s390_vfenebs, 0, 0, BT_OV_V16QI_V16QI_V16QI_INTPTR)
2635 OB_DEF_VAR (s390_vfenebs_u8a, s390_vfenebs, 0, 0, BT_OV_UV16QI_BV16QI_BV16QI_INTPTR)
2636 OB_DEF_VAR (s390_vfenebs_u8b, s390_vfenebs, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI_INTPTR)
2637 OB_DEF_VAR (s390_vfenehs_s16, s390_vfenehs, 0, 0, BT_OV_V8HI_V8HI_V8HI_INTPTR)
2638 OB_DEF_VAR (s390_vfenehs_u16a, s390_vfenehs, 0, 0, BT_OV_UV8HI_BV8HI_BV8HI_INTPTR)
2639 OB_DEF_VAR (s390_vfenehs_u16b, s390_vfenehs, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI_INTPTR)
2640 OB_DEF_VAR (s390_vfenefs_s32, s390_vfenefs, 0, 0, BT_OV_V4SI_V4SI_V4SI_INTPTR)
2641 OB_DEF_VAR (s390_vfenefs_u32a, s390_vfenefs, 0, 0, BT_OV_UV4SI_BV4SI_BV4SI_INTPTR)
2642 OB_DEF_VAR (s390_vfenefs_u32b, s390_vfenefs, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI_INTPTR)
2643
2644 OB_DEF (s390_vec_cmpne_or_0_idx_cc, s390_vfenezbs_s8, s390_vfenezfs_u32b, B_VX, BT_FN_INT_OV4SI_OV4SI_INTPTR)
2645 OB_DEF_VAR (s390_vfenezbs_s8, s390_vfenezbs, 0, 0, BT_OV_V16QI_V16QI_V16QI_INTPTR)
2646 OB_DEF_VAR (s390_vfenezbs_u8a, s390_vfenezbs, 0, 0, BT_OV_UV16QI_BV16QI_BV16QI_INTPTR)
2647 OB_DEF_VAR (s390_vfenezbs_u8b, s390_vfenezbs, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI_INTPTR)
2648 OB_DEF_VAR (s390_vfenezhs_s16, s390_vfenezhs, 0, 0, BT_OV_V8HI_V8HI_V8HI_INTPTR)
2649 OB_DEF_VAR (s390_vfenezhs_u16a, s390_vfenezhs, 0, 0, BT_OV_UV8HI_BV8HI_BV8HI_INTPTR)
2650 OB_DEF_VAR (s390_vfenezhs_u16b, s390_vfenezhs, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI_INTPTR)
2651 OB_DEF_VAR (s390_vfenezfs_s32, s390_vfenezfs, 0, 0, BT_OV_V4SI_V4SI_V4SI_INTPTR)
2652 OB_DEF_VAR (s390_vfenezfs_u32a, s390_vfenezfs, 0, 0, BT_OV_UV4SI_BV4SI_BV4SI_INTPTR)
2653 OB_DEF_VAR (s390_vfenezfs_u32b, s390_vfenezfs, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI_INTPTR)
2654
2655 B_DEF (s390_vistrb, vistrv16qi, 0, B_VX, 0, BT_FN_UV16QI_UV16QI)
2656 B_DEF (s390_vistrh, vistrv8hi, 0, B_VX, 0, BT_FN_UV8HI_UV8HI)
2657 B_DEF (s390_vistrf, vistrv4si, 0, B_VX, 0, BT_FN_UV4SI_UV4SI)
2658 B_DEF (s390_vistrbs, vistrsv16qi, 0, B_VX, 0, BT_FN_UV16QI_UV16QI_INTPTR)
2659 B_DEF (s390_vistrhs, vistrsv8hi, 0, B_VX, 0, BT_FN_UV8HI_UV8HI_INTPTR)
2660 B_DEF (s390_vistrfs, vistrsv4si, 0, B_VX, 0, BT_FN_UV4SI_UV4SI_INTPTR)
2661
2662 OB_DEF (s390_vec_cp_until_zero, s390_vistrb_s8, s390_vistrf_u32, B_VX, BT_FN_OV4SI_OV4SI)
2663 OB_DEF_VAR (s390_vistrb_s8, s390_vistrb, 0, 0, BT_OV_V16QI_V16QI)
2664 OB_DEF_VAR (s390_vistrb_b8, s390_vistrb, 0, 0, BT_OV_BV16QI_BV16QI)
2665 OB_DEF_VAR (s390_vistrb_u8, s390_vistrb, 0, 0, BT_OV_UV16QI_UV16QI)
2666 OB_DEF_VAR (s390_vistrh_s16, s390_vistrh, 0, 0, BT_OV_V8HI_V8HI)
2667 OB_DEF_VAR (s390_vistrh_b16, s390_vistrh, 0, 0, BT_OV_BV8HI_BV8HI)
2668 OB_DEF_VAR (s390_vistrh_u16, s390_vistrh, 0, 0, BT_OV_UV8HI_UV8HI)
2669 OB_DEF_VAR (s390_vistrf_s32, s390_vistrf, 0, 0, BT_OV_V4SI_V4SI)
2670 OB_DEF_VAR (s390_vistrf_b32, s390_vistrf, 0, 0, BT_OV_BV4SI_BV4SI)
2671 OB_DEF_VAR (s390_vistrf_u32, s390_vistrf, 0, 0, BT_OV_UV4SI_UV4SI)
2672
2673 OB_DEF (s390_vec_cp_until_zero_cc, s390_vistrbs_s8, s390_vistrfs_u32, B_VX, BT_FN_OV4SI_OV4SI_INTPTR)
2674 OB_DEF_VAR (s390_vistrbs_s8, s390_vistrbs, 0, 0, BT_OV_V16QI_V16QI_INTPTR)
2675 OB_DEF_VAR (s390_vistrbs_b8, s390_vistrbs, 0, 0, BT_OV_BV16QI_BV16QI_INTPTR)
2676 OB_DEF_VAR (s390_vistrbs_u8, s390_vistrbs, 0, 0, BT_OV_UV16QI_UV16QI_INTPTR)
2677 OB_DEF_VAR (s390_vistrhs_s16, s390_vistrhs, 0, 0, BT_OV_V8HI_V8HI_INTPTR)
2678 OB_DEF_VAR (s390_vistrhs_b16, s390_vistrhs, 0, 0, BT_OV_BV8HI_BV8HI_INTPTR)
2679 OB_DEF_VAR (s390_vistrhs_u16, s390_vistrhs, 0, 0, BT_OV_UV8HI_UV8HI_INTPTR)
2680 OB_DEF_VAR (s390_vistrfs_s32, s390_vistrfs, 0, 0, BT_OV_V4SI_V4SI_INTPTR)
2681 OB_DEF_VAR (s390_vistrfs_b32, s390_vistrfs, 0, 0, BT_OV_BV4SI_BV4SI_INTPTR)
2682 OB_DEF_VAR (s390_vistrfs_u32, s390_vistrfs, 0, 0, BT_OV_UV4SI_UV4SI_INTPTR)
2683
2684 B_DEF (s390_vstrcb, vstrcv16qi, 0, B_VX, O4_U4, BT_FN_UV16QI_UV16QI_UV16QI_UV16QI_INT)
2685 B_DEF (s390_vstrch, vstrcv8hi, 0, B_VX, O4_U4, BT_FN_UV8HI_UV8HI_UV8HI_UV8HI_INT)
2686 B_DEF (s390_vstrcf, vstrcv4si, 0, B_VX, O4_U4, BT_FN_UV4SI_UV4SI_UV4SI_UV4SI_INT)
2687 B_DEF (s390_vstrczb, vstrczv16qi, 0, B_VX, O4_U4, BT_FN_UV16QI_UV16QI_UV16QI_UV16QI_INT)
2688 B_DEF (s390_vstrczh, vstrczv8hi, 0, B_VX, O4_U4, BT_FN_UV8HI_UV8HI_UV8HI_UV8HI_INT)
2689 B_DEF (s390_vstrczf, vstrczv4si, 0, B_VX, O4_U4, BT_FN_UV4SI_UV4SI_UV4SI_UV4SI_INT)
2690 B_DEF (s390_vstrcbs, vstrcsv16qi, 0, B_VX, O4_U4, BT_FN_UV16QI_UV16QI_UV16QI_UV16QI_INT_INTPTR)
2691 B_DEF (s390_vstrchs, vstrcsv8hi, 0, B_VX, O4_U4, BT_FN_UV8HI_UV8HI_UV8HI_UV8HI_INT_INTPTR)
2692 B_DEF (s390_vstrcfs, vstrcsv4si, 0, B_VX, O4_U4, BT_FN_UV4SI_UV4SI_UV4SI_UV4SI_INT_INTPTR)
2693 B_DEF (s390_vstrczbs, vstrczsv16qi, 0, B_VX, O4_U4, BT_FN_UV16QI_UV16QI_UV16QI_UV16QI_INT_INTPTR)
2694 B_DEF (s390_vstrczhs, vstrczsv8hi, 0, B_VX, O4_U4, BT_FN_UV8HI_UV8HI_UV8HI_UV8HI_INT_INTPTR)
2695 B_DEF (s390_vstrczfs, vstrczsv4si, 0, B_VX, O4_U4, BT_FN_UV4SI_UV4SI_UV4SI_UV4SI_INT_INTPTR)
2696
2697 OB_DEF (s390_vec_cmprg_idx, s390_vstrcb_idx_u8, s390_vstrcf_idx_u32,B_VX, BT_FN_OV4SI_OV4SI_OV4SI_OV4SI)
2698 OB_DEF_VAR (s390_vstrcb_idx_u8, s390_vstrcb, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI_UV16QI)
2699 OB_DEF_VAR (s390_vstrch_idx_u16, s390_vstrch, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI_UV8HI)
2700 OB_DEF_VAR (s390_vstrcf_idx_u32, s390_vstrcf, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI_UV4SI)
2701
2702 OB_DEF (s390_vec_cmpnrg_idx, s390_vstrcb_inv_idx_u8,s390_vstrcf_inv_idx_u32,B_VX, BT_FN_OV4SI_OV4SI_OV4SI_OV4SI)
2703 OB_DEF_VAR (s390_vstrcb_inv_idx_u8, s390_vstrcb, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI_UV16QI)
2704 OB_DEF_VAR (s390_vstrch_inv_idx_u16, s390_vstrch, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI_UV8HI)
2705 OB_DEF_VAR (s390_vstrcf_inv_idx_u32, s390_vstrcf, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI_UV4SI)
2706
2707 OB_DEF (s390_vec_cmprg_or_0_idx, s390_vstrczb_idx_u8,s390_vstrczf_idx_u32,B_VX, BT_FN_OV4SI_OV4SI_OV4SI_OV4SI)
2708 OB_DEF_VAR (s390_vstrczb_idx_u8, s390_vstrczb, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI_UV16QI)
2709 OB_DEF_VAR (s390_vstrczh_idx_u16, s390_vstrczh, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI_UV8HI)
2710 OB_DEF_VAR (s390_vstrczf_idx_u32, s390_vstrczf, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI_UV4SI)
2711
2712 OB_DEF (s390_vec_cmpnrg_or_0_idx, s390_vstrczb_inv_idx_u8,s390_vstrczf_inv_idx_u32,B_VX, BT_FN_OV4SI_OV4SI_OV4SI_OV4SI)
2713 OB_DEF_VAR (s390_vstrczb_inv_idx_u8, s390_vstrczb, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI_UV16QI)
2714 OB_DEF_VAR (s390_vstrczh_inv_idx_u16, s390_vstrczh, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI_UV8HI)
2715 OB_DEF_VAR (s390_vstrczf_inv_idx_u32, s390_vstrczf, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI_UV4SI)
2716
2717 OB_DEF (s390_vec_cmprg, s390_vstrcb_u8, s390_vstrcf_u32, B_VX, BT_FN_OV4SI_OV4SI_OV4SI_OV4SI)
2718 OB_DEF_VAR (s390_vstrcb_u8, s390_vstrcb, 0, 0, BT_OV_BV16QI_UV16QI_UV16QI_UV16QI)
2719 OB_DEF_VAR (s390_vstrch_u16, s390_vstrch, 0, 0, BT_OV_BV8HI_UV8HI_UV8HI_UV8HI)
2720 OB_DEF_VAR (s390_vstrcf_u32, s390_vstrcf, 0, 0, BT_OV_BV4SI_UV4SI_UV4SI_UV4SI)
2721
2722 OB_DEF (s390_vec_cmpnrg, s390_vstrcb_inv_u8, s390_vstrcf_inv_u32,B_VX, BT_FN_OV4SI_OV4SI_OV4SI_OV4SI)
2723 OB_DEF_VAR (s390_vstrcb_inv_u8, s390_vstrcb, 0, 0, BT_OV_BV16QI_UV16QI_UV16QI_UV16QI)
2724 OB_DEF_VAR (s390_vstrch_inv_u16, s390_vstrch, 0, 0, BT_OV_BV8HI_UV8HI_UV8HI_UV8HI)
2725 OB_DEF_VAR (s390_vstrcf_inv_u32, s390_vstrcf, 0, 0, BT_OV_BV4SI_UV4SI_UV4SI_UV4SI)
2726
2727 OB_DEF (s390_vec_cmprg_idx_cc, s390_vstrcbs_idx_u8,s390_vstrcfs_idx_u32,B_VX, BT_FN_OV4SI_OV4SI_OV4SI_OV4SI_INTPTR)
2728 OB_DEF_VAR (s390_vstrcbs_idx_u8, s390_vstrcbs, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI_UV16QI_INTPTR)
2729 OB_DEF_VAR (s390_vstrchs_idx_u16, s390_vstrchs, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI_UV8HI_INTPTR)
2730 OB_DEF_VAR (s390_vstrcfs_idx_u32, s390_vstrcfs, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI_UV4SI_INTPTR)
2731
2732 OB_DEF (s390_vec_cmpnrg_idx_cc, s390_vstrcbs_inv_idx_u8,s390_vstrcfs_inv_idx_u32,B_VX, BT_FN_OV4SI_OV4SI_OV4SI_OV4SI_INTPTR)
2733 OB_DEF_VAR (s390_vstrcbs_inv_idx_u8, s390_vstrcbs, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI_UV16QI_INTPTR) /* vstrcb */
2734 OB_DEF_VAR (s390_vstrchs_inv_idx_u16, s390_vstrchs, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI_UV8HI_INTPTR) /* vstrch */
2735 OB_DEF_VAR (s390_vstrcfs_inv_idx_u32, s390_vstrcfs, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI_UV4SI_INTPTR) /* vstrcf */
2736
2737 OB_DEF (s390_vec_cmprg_or_0_idx_cc, s390_vstrczbs_idx_u8,s390_vstrczfs_idx_u32,B_VX, BT_FN_OV4SI_OV4SI_OV4SI_OV4SI_INTPTR)
2738 OB_DEF_VAR (s390_vstrczbs_idx_u8, s390_vstrczbs, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI_UV16QI_INTPTR)
2739 OB_DEF_VAR (s390_vstrczhs_idx_u16, s390_vstrczhs, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI_UV8HI_INTPTR)
2740 OB_DEF_VAR (s390_vstrczfs_idx_u32, s390_vstrczfs, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI_UV4SI_INTPTR)
2741
2742 OB_DEF (s390_vec_cmpnrg_or_0_idx_cc,s390_vstrczbs_inv_idx_u8,s390_vstrczfs_inv_idx_u32,B_VX, BT_FN_OV4SI_OV4SI_OV4SI_OV4SI_INTPTR)
2743 OB_DEF_VAR (s390_vstrczbs_inv_idx_u8, s390_vstrczbs, 0, 0, BT_OV_UV16QI_UV16QI_UV16QI_UV16QI_INTPTR)
2744 OB_DEF_VAR (s390_vstrczhs_inv_idx_u16, s390_vstrczhs, 0, 0, BT_OV_UV8HI_UV8HI_UV8HI_UV8HI_INTPTR)
2745 OB_DEF_VAR (s390_vstrczfs_inv_idx_u32, s390_vstrczfs, 0, 0, BT_OV_UV4SI_UV4SI_UV4SI_UV4SI_INTPTR)
2746
2747 OB_DEF (s390_vec_cmprg_cc, s390_vstrcbs_u8, s390_vstrcfs_u32, B_VX, BT_FN_OV4SI_OV4SI_OV4SI_OV4SI_INTPTR)
2748 OB_DEF_VAR (s390_vstrcbs_u8, s390_vstrcbs, 0, 0, BT_OV_BV16QI_UV16QI_UV16QI_UV16QI_INTPTR)
2749 OB_DEF_VAR (s390_vstrchs_u16, s390_vstrchs, 0, 0, BT_OV_BV8HI_UV8HI_UV8HI_UV8HI_INTPTR)
2750 OB_DEF_VAR (s390_vstrcfs_u32, s390_vstrcfs, 0, 0, BT_OV_BV4SI_UV4SI_UV4SI_UV4SI_INTPTR)
2751
2752 OB_DEF (s390_vec_cmpnrg_cc, s390_vstrcbs_inv_u8,s390_vstrcfs_inv_u32,B_VX, BT_FN_OV4SI_OV4SI_OV4SI_OV4SI_INTPTR)
2753 OB_DEF_VAR (s390_vstrcbs_inv_u8, s390_vstrcbs, 0, 0, BT_OV_BV16QI_UV16QI_UV16QI_UV16QI_INTPTR)
2754 OB_DEF_VAR (s390_vstrchs_inv_u16, s390_vstrchs, 0, 0, BT_OV_BV8HI_UV8HI_UV8HI_UV8HI_INTPTR)
2755 OB_DEF_VAR (s390_vstrcfs_inv_u32, s390_vstrcfs, 0, 0, BT_OV_BV4SI_UV4SI_UV4SI_UV4SI_INTPTR)
2756
2757 B_DEF (vec_all_unltv4sf, vec_all_unltv4sf, 0, B_INT | B_VXE, 0, BT_FN_INT_V4SF_V4SF)
2758 B_DEF (vec_all_unltv2df, vec_all_unltv2df, 0, B_INT | B_VX, 0, BT_FN_INT_V2DF_V2DF)
2759 B_DEF (vec_all_unlev4sf, vec_all_unlev4sf, 0, B_INT | B_VXE, 0, BT_FN_INT_V4SF_V4SF)
2760 B_DEF (vec_all_unlev2df, vec_all_unlev2df, 0, B_INT | B_VX, 0, BT_FN_INT_V2DF_V2DF)
2761
2762 B_DEF (vec_any_unltv4sf, vec_any_unltv4sf, 0, B_INT | B_VXE, 0, BT_FN_INT_V4SF_V4SF)
2763 B_DEF (vec_any_unltv2df, vec_any_unltv2df, 0, B_INT | B_VX, 0, BT_FN_INT_V2DF_V2DF)
2764 B_DEF (vec_any_unlev4sf, vec_any_unlev4sf, 0, B_INT | B_VXE, 0, BT_FN_INT_V4SF_V4SF)
2765 B_DEF (vec_any_unlev2df, vec_any_unlev2df, 0, B_INT | B_VX, 0, BT_FN_INT_V2DF_V2DF)
2766
2767 OB_DEF (s390_vec_all_nge, s390_vec_all_nge_flt,s390_vec_all_nge_dbl,B_VX, BT_FN_INT_OV4SI_OV4SI)
2768 OB_DEF_VAR (s390_vec_all_nge_flt, vec_all_unltv4sf, B_VXE, 0, BT_OV_INT_V4SF_V4SF) /* vfchesbs */
2769 OB_DEF_VAR (s390_vec_all_nge_dbl, vec_all_unltv2df, 0, 0, BT_OV_INT_V2DF_V2DF) /* vfchedbs */
2770
2771 OB_DEF (s390_vec_all_ngt, s390_vec_all_ngt_flt,s390_vec_all_ngt_dbl,B_VX, BT_FN_INT_OV4SI_OV4SI)
2772 OB_DEF_VAR (s390_vec_all_ngt_flt, vec_all_unlev4sf, B_VXE, 0, BT_OV_INT_V4SF_V4SF) /* vfchsbs */
2773 OB_DEF_VAR (s390_vec_all_ngt_dbl, vec_all_unlev2df, 0, 0, BT_OV_INT_V2DF_V2DF) /* vfchdbs */
2774
2775 OB_DEF (s390_vec_any_nge, s390_vec_any_nge_flt,s390_vec_any_nge_dbl,B_VX, BT_FN_INT_OV4SI_OV4SI)
2776 OB_DEF_VAR (s390_vec_any_nge_flt, vec_any_unltv4sf, B_VXE, 0, BT_OV_INT_V4SF_V4SF)
2777 OB_DEF_VAR (s390_vec_any_nge_dbl, vec_any_unltv2df, 0, 0, BT_OV_INT_V2DF_V2DF)
2778
2779 OB_DEF (s390_vec_any_ngt, s390_vec_any_ngt_flt,s390_vec_any_ngt_dbl,B_VX, BT_FN_INT_OV4SI_OV4SI)
2780 OB_DEF_VAR (s390_vec_any_ngt_flt, vec_any_unlev4sf, B_VXE, 0, BT_OV_INT_V4SF_V4SF)
2781 OB_DEF_VAR (s390_vec_any_ngt_dbl, vec_any_unlev2df, 0, 0, BT_OV_INT_V2DF_V2DF)
2782
2783 OB_DEF (s390_vec_ctd, s390_vec_ctd_s64, s390_vec_ctd_u64, B_VX, BT_FN_V2DF_UV4SI_INT)
2784 OB_DEF_VAR (s390_vec_ctd_s64, s390_vec_ctd_s64, 0, O2_U5, BT_OV_V2DF_V2DI_INT) /* vcdgb */
2785 OB_DEF_VAR (s390_vec_ctd_u64, s390_vec_ctd_u64, 0, O2_U5, BT_OV_V2DF_UV2DI_INT) /* vcdlgb */
2786
2787 OB_DEF (s390_vfi, s390_vfi_flt, s390_vfi_dbl, B_VX, BT_FN_V2DF_V2DF_UINT_UINT)
2788 OB_DEF_VAR (s390_vfi_flt, s390_vfisb, B_VXE, O2_U4 | O3_U3, BT_OV_V4SF_V4SF_UCHAR_UCHAR) /* vfisb */
2789 OB_DEF_VAR (s390_vfi_dbl, s390_vfidb, 0, O2_U4 | O3_U3, BT_OV_V2DF_V2DF_UCHAR_UCHAR) /* vfidb */
2790
2791 B_DEF (s390_vec_ctd_s64, vec_ctd_s64, 0, B_VX, O2_U3, BT_FN_V2DF_V2DI_INT) /* vcdgb */
2792 B_DEF (s390_vec_ctd_u64, vec_ctd_u64, 0, B_VX, O2_U3, BT_FN_V2DF_UV2DI_INT) /* vcdlgb */
2793 B_DEF (s390_vcdgb, vcdgb, 0, B_VX, O2_U4 | O3_U3, BT_FN_V2DF_V2DI_INT_INT)
2794 B_DEF (s390_vcdlgb, vcdlgb, 0, B_VX, O2_U4 | O3_U3, BT_FN_V2DF_UV2DI_INT_INT)
2795 B_DEF (s390_vec_ctsl, vec_ctsl, 0, B_VX, O2_U3, BT_FN_V2DI_V2DF_INT) /* vcgdb */
2796 B_DEF (s390_vec_ctul, vec_ctul, 0, B_VX, O2_U3, BT_FN_UV2DI_V2DF_INT) /* vclgdb */
2797 B_DEF (s390_vcgdb, vcgdb, 0, B_VX, O2_U4 | O3_U3, BT_FN_V2DI_V2DF_INT_INT)
2798 B_DEF (s390_vclgdb, vclgdb, 0, B_VX, O2_U4 | O3_U3, BT_FN_UV2DI_V2DF_INT_INT)
2799 B_DEF (s390_vfisb, vec_fpintv4sf, 0, B_VXE, O2_U4 | O3_U3, BT_FN_V4SF_V4SF_UCHAR_UCHAR)
2800 B_DEF (s390_vfidb, vec_fpintv2df, 0, B_VX, O2_U4 | O3_U3, BT_FN_V2DF_V2DF_UCHAR_UCHAR)
2801 B_DEF (s390_vec_ld2f, vec_ld2f, 0, B_VX, 0, BT_FN_V2DF_FLTCONSTPTR) /* vldeb */
2802 B_DEF (s390_vec_st2f, vec_st2f, 0, B_VX, 0, BT_FN_VOID_V2DF_FLTPTR) /* vledb */
2803
2804 B_DEF (s390_vfmasb, fmav4sf4, 0, B_VXE, 0, BT_FN_V4SF_V4SF_V4SF_V4SF)
2805 B_DEF (s390_vfmadb, fmav2df4, 0, B_VX, 0, BT_FN_V2DF_V2DF_V2DF_V2DF)
2806 B_DEF (s390_vfmssb, fmsv4sf4, 0, B_VXE, 0, BT_FN_V4SF_V4SF_V4SF_V4SF)
2807 B_DEF (s390_vfmsdb, fmsv2df4, 0, B_VX, 0, BT_FN_V2DF_V2DF_V2DF_V2DF)
2808 B_DEF (s390_vfnmasb, neg_fmav4sf4, 0, B_VXE, 0, BT_FN_V4SF_V4SF_V4SF_V4SF)
2809 B_DEF (s390_vfnmadb, neg_fmav2df4, 0, B_VXE, 0, BT_FN_V2DF_V2DF_V2DF_V2DF)
2810 B_DEF (s390_vfnmssb, neg_fmsv4sf4, 0, B_VXE, 0, BT_FN_V4SF_V4SF_V4SF_V4SF)
2811 B_DEF (s390_vfnmsdb, neg_fmsv2df4, 0, B_VXE, 0, BT_FN_V2DF_V2DF_V2DF_V2DF)
2812
2813 B_DEF (s390_vfsqsb, sqrtv4sf2, 0, B_VXE, 0, BT_FN_V4SF_V4SF)
2814 B_DEF (s390_vfsqdb, sqrtv2df2, 0, B_VX, 0, BT_FN_V2DF_V2DF)
2815
2816 OB_DEF (s390_vec_double, s390_vec_double_s64,s390_vec_double_u64,B_VX, BT_FN_OV4SI_OV4SI)
2817 OB_DEF_VAR (s390_vec_double_s64, s390_vec_double_s64,0, 0, BT_OV_V2DF_V2DI)
2818 OB_DEF_VAR (s390_vec_double_u64, s390_vec_double_u64,0, 0, BT_OV_V2DF_UV2DI)
2819
2820 B_DEF (s390_vec_double_s64, vec_double_s64, 0, B_INT | B_VX, 0, BT_FN_V2DF_V2DI) /* vcdgb */
2821 B_DEF (s390_vec_double_u64, vec_double_u64, 0, B_INT | B_VX, 0, BT_FN_V2DF_UV2DI) /* vcdlgb */
2822
2823 B_DEF (s390_vflls, vflls, 0, B_VX, 0, BT_FN_V2DF_V4SF) /* vldeb */
2824 B_DEF (s390_vflrd, vflrd, 0, B_VX, O2_U4 | O3_U4, BT_FN_V4SF_V2DF_INT_INT) /* vledb */
2825
2826 OB_DEF (s390_vec_madd, s390_vec_madd_flt, s390_vec_madd_dbl, B_VX, BT_FN_OV4SI_OV4SI_OV4SI_OV4SI)
2827 OB_DEF_VAR (s390_vec_madd_flt, s390_vfmasb, B_VXE, 0, BT_OV_V4SF_V4SF_V4SF_V4SF)
2828 OB_DEF_VAR (s390_vec_madd_dbl, s390_vfmadb, 0, 0, BT_OV_V2DF_V2DF_V2DF_V2DF)
2829
2830 OB_DEF (s390_vec_msub, s390_vec_msub_flt, s390_vec_msub_dbl, B_VX, BT_FN_OV4SI_OV4SI_OV4SI_OV4SI)
2831 OB_DEF_VAR (s390_vec_msub_flt, s390_vfmssb, B_VXE, 0, BT_OV_V4SF_V4SF_V4SF_V4SF)
2832 OB_DEF_VAR (s390_vec_msub_dbl, s390_vfmsdb, 0, 0, BT_OV_V2DF_V2DF_V2DF_V2DF)
2833
2834 OB_DEF (s390_vec_nmadd, s390_vec_nmadd_flt, s390_vec_nmadd_dbl, B_VXE, BT_FN_OV4SI_OV4SI_OV4SI_OV4SI)
2835 OB_DEF_VAR (s390_vec_nmadd_flt, s390_vfnmasb, 0, 0, BT_OV_V4SF_V4SF_V4SF_V4SF)
2836 OB_DEF_VAR (s390_vec_nmadd_dbl, s390_vfnmadb, 0, 0, BT_OV_V2DF_V2DF_V2DF_V2DF)
2837
2838 OB_DEF (s390_vec_nmsub, s390_vec_nmsub_flt, s390_vec_nmsub_dbl, B_VXE, BT_FN_OV4SI_OV4SI_OV4SI_OV4SI)
2839 OB_DEF_VAR (s390_vec_nmsub_flt, s390_vfnmssb, 0, 0, BT_OV_V4SF_V4SF_V4SF_V4SF)
2840 OB_DEF_VAR (s390_vec_nmsub_dbl, s390_vfnmsdb, 0, 0, BT_OV_V2DF_V2DF_V2DF_V2DF)
2841
2842 B_DEF (s390_vflnsb, negabsv4sf2, 0, B_VXE, 0, BT_FN_V4SF_V4SF)
2843 B_DEF (s390_vflndb, negabsv2df2, 0, B_VX, 0, BT_FN_V2DF_V2DF)
2844
2845 OB_DEF (s390_vec_nabs, s390_vec_nabs_flt, s390_vec_nabs_dbl, B_VX, BT_FN_OV4SI_OV4SI)
2846 OB_DEF_VAR (s390_vec_nabs_flt, s390_vflnsb, B_VXE, 0, BT_OV_V4SF_V4SF)
2847 OB_DEF_VAR (s390_vec_nabs_dbl, s390_vflndb, 0, 0, BT_OV_V2DF_V2DF)
2848
2849 OB_DEF (s390_vec_sqrt, s390_vec_sqrt_flt, s390_vec_sqrt_dbl, B_VX, BT_FN_OV4SI_OV4SI)
2850 OB_DEF_VAR (s390_vec_sqrt_flt, s390_vfsqsb, B_VXE, 0, BT_OV_V4SF_V4SF)
2851 OB_DEF_VAR (s390_vec_sqrt_dbl, s390_vfsqdb, 0, 0, BT_OV_V2DF_V2DF)
2852
2853 /* Test data class with boolean result *AND* cc mode. */
2854
2855 B_DEF (s390_vftcisb, vftciv4sf_intcc, 0, B_VXE, O2_U12, BT_FN_V4SI_V4SF_INT_INTPTR)
2856 B_DEF (s390_vftcidb, vftciv2df_intcc, 0, B_VX, O2_U12, BT_FN_V2DI_V2DF_INT_INTPTR)
2857
2858 /* Test data class with boolean result *AND* cc mode. */
2859
2860 B_DEF (s390_vftcisbcc, vftciv4sf_intcc, 0, B_INT | B_VXE, O2_U12, BT_FN_BV4SI_V4SF_USHORT_INTPTR) /* vftcisb */
2861 B_DEF (s390_vftcidbcc, vftciv2df_intcc, 0, B_INT | B_VX, O2_U12, BT_FN_BV2DI_V2DF_USHORT_INTPTR) /* vftcidb */
2862
2863 OB_DEF (s390_vec_fp_test_data_class,s390_vec_fp_test_data_class_flt,s390_vec_fp_test_data_class_dbl,B_VX,BT_FN_OV4SI_OV4SI_INT_INTPTR)
2864 OB_DEF_VAR (s390_vec_fp_test_data_class_flt,s390_vftcisbcc, B_VXE, O2_U12, BT_OV_BV4SI_V4SF_USHORT_INTPTR) /* vftcisb */
2865 OB_DEF_VAR (s390_vec_fp_test_data_class_dbl,s390_vftcidbcc, 0, O2_U12, BT_OV_BV2DI_V2DF_USHORT_INTPTR) /* vftcidb */