@@ -96,42 +96,42 @@ def SVSTR_ZA : MInst<"svstr_za", "vm%", "",
96
96
97
97
multiclass ZARead<string n_suffix, string t, string i_prefix, list<ImmCheck> ch> {
98
98
let TargetGuard = "sme" in {
99
- def NAME # _H : SInst<"svread_hor_" # n_suffix # "[_{d}]", "ddPimi ", t,
99
+ def NAME # _H : SInst<"svread_hor_" # n_suffix # "[_{d}]", "ddPim ", t,
100
100
MergeOp1, i_prefix # "_horiz",
101
101
[IsReadZA, IsStreaming, IsSharedZA, IsPreservesZA], ch>;
102
102
103
- def NAME # _V : SInst<"svread_ver_" # n_suffix # "[_{d}]", "ddPimi ", t,
103
+ def NAME # _V : SInst<"svread_ver_" # n_suffix # "[_{d}]", "ddPim ", t,
104
104
MergeOp1, i_prefix # "_vert",
105
105
[IsReadZA, IsStreaming, IsSharedZA, IsPreservesZA], ch>;
106
106
}
107
107
}
108
108
109
- defm SVREAD_ZA8 : ZARead<"za8", "cUc", "aarch64_sme_read", [ImmCheck<2, ImmCheck0_0>, ImmCheck<4, ImmCheck0_15> ]>;
110
- defm SVREAD_ZA16 : ZARead<"za16", "sUshb", "aarch64_sme_read", [ImmCheck<2, ImmCheck0_1>, ImmCheck<4, ImmCheck0_7> ]>;
111
- defm SVREAD_ZA32 : ZARead<"za32", "iUif", "aarch64_sme_read", [ImmCheck<2, ImmCheck0_3>, ImmCheck<4, ImmCheck0_3> ]>;
112
- defm SVREAD_ZA64 : ZARead<"za64", "lUld", "aarch64_sme_read", [ImmCheck<2, ImmCheck0_7>, ImmCheck<4, ImmCheck0_1> ]>;
113
- defm SVREAD_ZA128 : ZARead<"za128", "csilUcUsUiUlhbfd", "aarch64_sme_readq", [ImmCheck<2, ImmCheck0_15>, ImmCheck<4, ImmCheck0_0> ]>;
109
+ defm SVREAD_ZA8 : ZARead<"za8", "cUc", "aarch64_sme_read", [ImmCheck<2, ImmCheck0_0>]>;
110
+ defm SVREAD_ZA16 : ZARead<"za16", "sUshb", "aarch64_sme_read", [ImmCheck<2, ImmCheck0_1>]>;
111
+ defm SVREAD_ZA32 : ZARead<"za32", "iUif", "aarch64_sme_read", [ImmCheck<2, ImmCheck0_3>]>;
112
+ defm SVREAD_ZA64 : ZARead<"za64", "lUld", "aarch64_sme_read", [ImmCheck<2, ImmCheck0_7>]>;
113
+ defm SVREAD_ZA128 : ZARead<"za128", "csilUcUsUiUlhbfd", "aarch64_sme_readq", [ImmCheck<2, ImmCheck0_15>]>;
114
114
115
115
////////////////////////////////////////////////////////////////////////////////
116
116
// Write horizontal/vertical ZA slices
117
117
118
118
multiclass ZAWrite<string n_suffix, string t, string i_prefix, list<ImmCheck> ch> {
119
119
let TargetGuard = "sme" in {
120
- def NAME # _H : SInst<"svwrite_hor_" # n_suffix # "[_{d}]", "vimiPd ", t,
120
+ def NAME # _H : SInst<"svwrite_hor_" # n_suffix # "[_{d}]", "vimPd ", t,
121
121
MergeOp1, i_prefix # "_horiz",
122
122
[IsWriteZA, IsStreaming, IsSharedZA], ch>;
123
123
124
- def NAME # _V : SInst<"svwrite_ver_" # n_suffix # "[_{d}]", "vimiPd ", t,
124
+ def NAME # _V : SInst<"svwrite_ver_" # n_suffix # "[_{d}]", "vimPd ", t,
125
125
MergeOp1, i_prefix # "_vert",
126
126
[IsWriteZA, IsStreaming, IsSharedZA], ch>;
127
127
}
128
128
}
129
129
130
- defm SVWRITE_ZA8 : ZAWrite<"za8", "cUc", "aarch64_sme_write", [ImmCheck<0, ImmCheck0_0>, ImmCheck<2, ImmCheck0_15> ]>;
131
- defm SVWRITE_ZA16 : ZAWrite<"za16", "sUshb", "aarch64_sme_write", [ImmCheck<0, ImmCheck0_1>, ImmCheck<2, ImmCheck0_7> ]>;
132
- defm SVWRITE_ZA32 : ZAWrite<"za32", "iUif", "aarch64_sme_write", [ImmCheck<0, ImmCheck0_3>, ImmCheck<2, ImmCheck0_3> ]>;
133
- defm SVWRITE_ZA64 : ZAWrite<"za64", "lUld", "aarch64_sme_write", [ImmCheck<0, ImmCheck0_7>, ImmCheck<2, ImmCheck0_1> ]>;
134
- defm SVWRITE_ZA128 : ZAWrite<"za128", "csilUcUsUiUlhbfd", "aarch64_sme_writeq", [ImmCheck<0, ImmCheck0_15>, ImmCheck<2, ImmCheck0_0> ]>;
130
+ defm SVWRITE_ZA8 : ZAWrite<"za8", "cUc", "aarch64_sme_write", [ImmCheck<0, ImmCheck0_0>]>;
131
+ defm SVWRITE_ZA16 : ZAWrite<"za16", "sUshb", "aarch64_sme_write", [ImmCheck<0, ImmCheck0_1>]>;
132
+ defm SVWRITE_ZA32 : ZAWrite<"za32", "iUif", "aarch64_sme_write", [ImmCheck<0, ImmCheck0_3>]>;
133
+ defm SVWRITE_ZA64 : ZAWrite<"za64", "lUld", "aarch64_sme_write", [ImmCheck<0, ImmCheck0_7>]>;
134
+ defm SVWRITE_ZA128 : ZAWrite<"za128", "csilUcUsUiUlhbfd", "aarch64_sme_writeq", [ImmCheck<0, ImmCheck0_15>]>;
135
135
136
136
////////////////////////////////////////////////////////////////////////////////
137
137
// SME - Zero
0 commit comments