Path: blob/master/tools/testing/selftests/arm64/fp/sme-inst.h
26289 views
// SPDX-License-Identifier: GPL-2.0-only1// Copyright (C) 2021-2 ARM Limited.2// Original author: Mark Brown <[email protected]>34#ifndef SME_INST_H5#define SME_INST_H67#define REG_FPMR S3_3_C4_C4_289/*10* RDSVL X\nx, #\imm11*/12.macro rdsvl nx, imm13.inst 0x4bf5800 \14| (\imm << 5) \15| (\nx)16.endm1718.macro smstop19msr S0_3_C4_C6_3, xzr20.endm2122.macro smstart_za23msr S0_3_C4_C5_3, xzr24.endm2526.macro smstart_sm27msr S0_3_C4_C3_3, xzr28.endm2930/*31* LDR (vector to ZA array):32* LDR ZA[\nw, #\offset], [X\nxbase, #\offset, MUL VL]33*/34.macro _ldr_za nw, nxbase, offset=035.inst 0xe1000000 \36| (((\nw) & 3) << 13) \37| ((\nxbase) << 5) \38| ((\offset) & 7)39.endm4041/*42* STR (vector from ZA array):43* STR ZA[\nw, #\offset], [X\nxbase, #\offset, MUL VL]44*/45.macro _str_za nw, nxbase, offset=046.inst 0xe1200000 \47| (((\nw) & 3) << 13) \48| ((\nxbase) << 5) \49| ((\offset) & 7)50.endm5152/*53* LDR (ZT0)54*55* LDR ZT0, nx56*/57.macro _ldr_zt nx58.inst 0xe11f8000 \59| (((\nx) & 0x1f) << 5)60.endm6162/*63* STR (ZT0)64*65* STR ZT0, nx66*/67.macro _str_zt nx68.inst 0xe13f8000 \69| (((\nx) & 0x1f) << 5)70.endm7172#endif737475