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~

Reply via email to