]> rtime.felk.cvut.cz Git - l4.git/blob - l4/pkg/valgrind/src/valgrind-3.6.0-svn/none/tests/s390x/test.h
update
[l4.git] / l4 / pkg / valgrind / src / valgrind-3.6.0-svn / none / tests / s390x / test.h
1 #include <stdio.h>
2 #define get_cc() \
3 ({ \
4         char __cc; \
5         /* dont use IPM to better test spechelpers */ \
6         asm volatile(   "       brc 8,1f\n\t" \
7                         "       brc 4,2f\n\t" \
8                         "       brc 2,3f\n\t" \
9                         "       brc 1,4f\n\t" \
10                         "       mvi %0,4\n\t" \
11                         "       j 0f\n\t" \
12                         "1:     mvi %0,0\n\t" \
13                         "       j 0f\n\t" \
14                         "2:     mvi %0,1\n\t" \
15                         "       j 0f\n\t" \
16                         "3:     mvi %0,2\n\t" \
17                         "       j 0f\n\t" \
18                         "4:     mvi %0,3\n\t" \
19                         "       j 0f\n\t" \
20                         "0:     bcr 0,0 /*nop*/\n\t" \
21                         :"=m" (__cc)::"memory"); \
22         __cc; \
23 })
24
25 static inline void dump_field(void *field, int size)
26 {
27         int i;
28         for (i=0; i < size; i++)
29                 printf("%2.2X ", ((char *) field)[i]);
30 }