2 * Test the VECTOR ISOLATE STRING (vistr) instruction
8 static inline void vistr(S390Vector
*v1
, S390Vector
*v2
,
9 const uint8_t m3
, const uint8_t m5
)
11 asm volatile("vistr %[v1], %[v2], %[m3], %[m5]\n"
19 int main(int argc
, char *argv
[])
23 .h
[0] = 0x1234, .h
[1] = 0x0056, .h
[2] = 0x7800, .h
[3] = 0x0000,
24 .h
[4] = 0x0078, .h
[5] = 0x0000, .h
[6] = 0x6543, .h
[7] = 0x2100
27 .w
[0] = 0x12340000, .w
[1] = 0x78654300,
28 .w
[2] = 0x0, .w
[3] = 0x12,
31 vistr(&vd
, &vs16
, 1, 0);
32 if (vd
.h
[0] != 0x1234 || vd
.h
[1] != 0x0056 || vd
.h
[2] != 0x7800 ||
33 vd
.h
[3] || vd
.h
[4] || vd
.h
[5] || vd
.h
[6] || vd
.h
[7]) {
34 puts("ERROR: vitrh failed!");
38 vistr(&vd
, &vs32
, 2, 0);
39 if (vd
.w
[0] != 0x12340000 || vd
.w
[1] != 0x78654300 || vd
.w
[2] || vd
.w
[3]) {
40 puts("ERROR: vitrf failed!");