selftests/powerpc: Fix matrix multiply assist test
authorRashmica Gupta <rashmica@linux.ibm.com>
Fri, 17 Jun 2022 04:39:35 +0000 (14:39 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 28 Jul 2022 06:22:15 +0000 (16:22 +1000)
The ISA states: "when ACC[i] contains defined data, the contents of VSRs
4×i to 4×i+3 are undefined until either a VSX Move From ACC instruction
is used to copy the contents of ACC[i] to VSRs 4×i to 4×i+3 or some other
instruction directly writes to one of these VSRs." We aren't doing this.

This test only works on Power10 because the hardware implementation
happens to map ACC0 to VSRs 0-3, but will fail on any other implementation
that doesn't do this. So add xxmfacc between writing to the accumulator
and accessing the VSRs.

Fixes: 3527e1ab9a79 ("selftests/powerpc: Add matrix multiply assist (MMA) test")
Signed-off-by: Rashmica Gupta <rashmica@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20220617043935.428083-1-rashmica@linux.ibm.com
tools/testing/selftests/powerpc/math/mma.S

index 8528c98495659404addd841478a2bd9b22cb0df2..61cc88b1b26bc26be377a7dd573a3d3a3b10dd8d 100644 (file)
@@ -20,6 +20,9 @@ test_mma:
        /* xvi16ger2s */
        .long   0xec042958
 
+       /* Deprime the accumulator - xxmfacc 0 */
+       .long 0x7c000162
+
        /* Store result in image passed in r5 */
        stxvw4x 0,0,5
        addi    5,5,16