> Source-level asms can use registers. E.g.
>
> register int r1 __asm__("r1");
> asm ("" : "=r"(r1));
>
> That's guaranteed to not replace the hard register in the asm.
> Glibc and the linux kernel relies on this for a number of ports,
> so it's unlikely to ever break.
>
> Is there any other reason to add these?
Does that work for register pairs?