#include #include static inline void mvcrl_8(const char *dst, const char *src) { asm volatile ( "llill %%r0, 8\n" ".insn sse, 0xE50A00000000, 0(%[dst]), 0(%[src])" : : [dst] "d" (dst), [src] "d" (src) : "memory"); } int main(int argc, char *argv[]) { const char *alpha = "abcdefghijklmnop"; /* array missing 'i' */ char tstr[17] = "abcdefghjklmnop\0" ; /* mvcrl reference use: 'open a hole in an array' */ mvcrl_8(tstr + 9, tstr + 8); /* place missing 'i' */ tstr[8] = 'i'; return strncmp(alpha, tstr, 16ul); }