mirror of https://github.com/xemu-project/xemu.git
tests/tcg: target/s390x: Test MVO
Let's add the simple test based on the example from the PoP. Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: David Hildenbrand <david@redhat.com>
This commit is contained in:
parent
ab89acd0b7
commit
d9e13c3419
|
@ -6,3 +6,4 @@ TESTS+=ipm
|
|||
TESTS+=exrl-trt
|
||||
TESTS+=exrl-trtr
|
||||
TESTS+=pack
|
||||
TESTS+=mvo
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
uint8_t dest[6] = {0xff, 0x77, 0x88, 0x99, 0x0c, 0xff};
|
||||
uint8_t src[5] = {0xee, 0x12, 0x34, 0x56, 0xee};
|
||||
uint8_t expected[6] = {0xff, 0x01, 0x23, 0x45, 0x6c, 0xff};
|
||||
int i;
|
||||
|
||||
asm volatile (
|
||||
" mvo 0(4,%[dest]),0(3,%[src])\n"
|
||||
:
|
||||
: [dest] "d" (dest + 1),
|
||||
[src] "d" (src + 1)
|
||||
: "memory");
|
||||
|
||||
for (i = 0; i < sizeof(expected); i++) {
|
||||
if (dest[i] != expected[i]) {
|
||||
fprintf(stderr, "bad data\n");
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue