On 12/20/21 4:18 AM, Matheus K. Ferst wrote:
I'd like to avoid mtvsrdd/mfvsrld because they were introduced in PowerISA v3.0, and xscvspdpn/xscvdpspn are from v2.07.
Fair enough, I suppose.
How about asm("mtvsrd 0, %2\n\t" "mtvsrd 1, %3\n\t" "xxmrghd 0, 0, 1\n\t" INSN " 0, 0\n\t" "mfvsrd %0, 0\n\t" "xxswapd 0, 0\n\t" "mfvsrd %1, 0\n\t" : "=r" (th), "=r" (tl) : "r" (bh), "r" (bl) : "vs0", "vs1"); ?
Looks good. r~