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