#include <stdint.h>
#include <unistd.h>

int main(void)
{
    uint64_t parmlist[] __attribute__((aligned(16))) = {
        0xfedcba9876543210ull,
        0,
        0x7777777777777777ull,
        0,
    };
    uint64_t op1 = 0x0123456789abcdefull;
    uint64_t op2 = 0;
    uint64_t op3 = op1;
    uint64_t cc;

    asm volatile(
        "    lghi %%r0,%[flags]\n"
        "    la %%r1,%[parmlist]\n"
        "    csst %[op1],%[op2],%[op3]\n"
        "    ipm %[cc]\n"
        : [op1] "+m" (op1),
          [op2] "+m" (op2),
          [op3] "+r" (op3),
          [cc] "=r" (cc)
        : [flags] "K" (0x0301),
          [parmlist] "m" (parmlist)
        : "r0", "r1", "cc", "memory");
    cc = (cc >> 28) & 3;
    if (cc) {
        write(1, "bad cc\n", 7);
        return 1;
    }
    if (op1 != parmlist[0]) {
        write(1, "bad op1\n", 8);
        return 1;
    }
    if (op2 != parmlist[2]) {
        write(1, "bad op2\n", 8);
        return 1;
    }
    return 0;
}
