"stlxp %w[tmp], %[tmpl], %[tmph], %[mem]\n\t"
"cbnz %w[tmp], 0b"
: [mem] "+m"(*ptr), [tmp] "=&r"(tmp),
- [oldl] "=&r"(oldl), [oldh] "=&r"(oldh)
- : [newl] "r"(newl), [newh] "r"(newh),
- [tmpl] "r"(tmpl), [tmph] "r"(tmph)
+ [oldl] "=&r"(oldl), [oldh] "=&r"(oldh),
+ [tmpl] "=&r"(tmpl), [tmph] "=&r"(tmph)
+ : [newl] "r"(newl), [newh] "r"(newh)
: "memory");
return int128_make128(oldl, oldh);
"stlxp %w[tmp], %[tmpl], %[tmph], %[mem]\n\t"
"cbnz %w[tmp], 0b"
: [mem] "+m"(*ptr), [tmp] "=&r"(tmp),
- [oldl] "=&r"(oldl), [oldh] "=&r"(oldh)
- : [newl] "r"(newl), [newh] "r"(newh),
- [tmpl] "r"(tmpl), [tmph] "r"(tmph)
+ [oldl] "=&r"(oldl), [oldh] "=&r"(oldh),
+ [tmpl] "=&r"(tmpl), [tmph] "=&r"(tmph)
+ : [newl] "r"(newl), [newh] "r"(newh)
: "memory");
return int128_make128(oldl, oldh);