Link: https://lore.kernel.org/r/20260217200002.683975158@linuxfoundation.org Tested-by: Florian Fainelli <florian.fainelli@broadcom.com> Tested-by: Takeshi Ogasawara <takeshi.ogasawara@futuring-girl.com> Tested-by: Peter Schneider <pschneider1968@googlemail.com> Tested-by: Jon Hunter <jonathanh@nvidia.com> Tested-by: Salvatore Bonaccorso <carnil@debian.org> Tested-by: Brett A C Sheffield <bacs@librecast.net> Tested-by: Mark Brown <broonie@kernel.org> Tested-by: Luna Jernberg <droidbittin@gmail.com> Tested-by: Ronald Warsow <rwarsow@gmx.de> Tested-by: Justin M. Forbes <jforbes@fedoraproject.org> Tested-by: Ron Economos <re@w6rz.net> Tested-by: Miguel Ojeda <ojeda@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
37 lines
761 B
ArmAsm
37 lines
761 B
ArmAsm
/* SPDX-License-Identifier: GPL-2.0-or-later
|
|
*
|
|
* Test basic matrix multiply assist (MMA) functionality if available.
|
|
*
|
|
* Copyright 2020, Alistair Popple, IBM Corp.
|
|
*/
|
|
.global test_mma
|
|
test_mma:
|
|
/* Load accumulator via VSX registers from image passed in r3 */
|
|
lxvh8x 4,0,3
|
|
lxvh8x 5,0,4
|
|
|
|
/* Clear and prime the accumulator (xxsetaccz) */
|
|
.long 0x7c030162
|
|
|
|
/* Prime the accumulator with MMA VSX move to accumulator
|
|
* X-form (xxmtacc) (not needed due to above zeroing) */
|
|
//.long 0x7c010162
|
|
|
|
/* 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
|
|
stxvw4x 1,0,5
|
|
addi 5,5,16
|
|
stxvw4x 2,0,5
|
|
addi 5,5,16
|
|
stxvw4x 3,0,5
|
|
addi 5,5,16
|
|
|
|
blr
|