I used

#define Fi3(S, ASM) uint64_t S(uint64_t a, uint64_t b, uint64_t c) \
{                       \
    uint64_t res = 0;   \
asm volatile (          \
    "ltgr %[c], %[c]\n" \
    ASM                 \
    "stg %[c], %[res] " \
    : [res] "=&r" (res) \
    : [a] "r" (a),      \
      [b] "r" (b),      \
      [c] "r" (c)       \
);                      \
    return res;         \
}

Reply via email to