Home | History | Annotate | Download | only in s390x
      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 }
     31