On 12/16/21 6:09 AM, matheus.fe...@eldorado.org.br wrote:
+ asm("mtvsrd 0, %3\n\t" \ + "xxswapd 0, 0\n\t" \ + "mtvsrd 0, %2\n\t" \
This doesn't work. The lower half of vs0 is undefined after mtvsrd. You actually want mtvsrdd 0, %2, %3, with "b" as the constraint for bh.
+ "mfvsrd %0, 0\n\t" \ + "xxswapd 0, 0\n\t" \ + "mfvsrd %1, 0\n\t" \
Drop the xxswapd and use mfvsrld. Otherwise it looks ok. r~