xref: /openbmc/qemu/tests/tcg/s390x/ipm.c (revision 2e1cacfb)
1 #include <stdint.h>
2 #include <unistd.h>
3 
4 int main(void)
5 {
6     uint32_t op1 = 0x55555555;
7     uint32_t op2 = 0x44444444;
8     uint64_t cc = 0xffffffffffffffffull;
9 
10     asm volatile(
11         "    clc 0(4,%[op1]),0(%[op2])\n"
12         "    ipm %[cc]\n"
13         : [cc] "+r" (cc)
14         : [op1] "r" (&op1),
15           [op2] "r" (&op2)
16         : "cc");
17     if (cc != 0xffffffff20ffffffull) {
18         write(1, "bad cc\n", 7);
19         return 1;
20     }
21     return 0;
22 }
23