1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Test basic matrix multiply assist (MMA) functionality if available.
5 * Copyright 2020, Alistair Popple, IBM Corp.
12 extern void test_mma(uint16_t (*)[8], uint16_t (*)[8], uint32_t (*)[4*4]);
18 uint16_t x[] = {1, 0, 2, 0, 3, 0, 4, 0};
19 uint16_t y[] = {1, 0, 2, 0, 3, 0, 4, 0};
21 uint32_t exp[4*4] = {1, 2, 3, 4,
26 SKIP_IF_MSG(!have_hwcap2(PPC_FEATURE2_ARCH_3_1), "Need ISAv3.1");
27 SKIP_IF_MSG(!have_hwcap2(PPC_FEATURE2_MMA), "Need MMA");
31 for (i = 0; i < 16; i++) {
32 printf("MMA[%d] = %d ", i, z[i]);
35 printf(" (Correct)\n");
37 printf(" (Incorrect)\n");
45 int main(int argc, char *argv[])
47 return test_harness(mma, "mma");