9 rbx = 0x6464646464646464...
22 arguments on stack in C order (first argument is TOS)
23 arguments are also 32 bit
25 #define HCALL64(rc,id,a,b,c,d,e,f,g,h) \
26 asm volatile ("movq %1, %%rax; " \
28 "movq $0x6464646464646464, %%rbx; " \
42 "m"(a), "m"(b), "m"(c), "m"(d), \
43 "m"(e), "m"(f), "m"(g), "m"(h) \
44 : "%rax","%rcx","%rdx","%rsi","%rdi", \
45 "%r8","%r9","%r10","%r11" \
48 #define HCALL32(rc,id,a,b,c,d,e,f,g,h) \
49 asm volatile ("movl %1, %%eax; " \
51 "movl $0x32323232, %%ebx; " \
66 "m"(a), "m"(b), "m"(c), "m"(d), \
67 "m"(e), "m"(f), "m"(g), "m"(h) \
72 #define HCALL(rc,id,a,b,c,d,e,f,g,h) HCALL64(rc,id,a,b,c,d,e,f,g,h)
74 #define HCALL(rc,id,a,b,c,d,e,f,g,h) HCALL32(rc,id,a,b,c,d,e,f,g,h)