@@ -110,11 +110,11 @@ multiclass ZARead<string n_suffix, string t, string i_prefix, list<ImmCheck> ch>
110110 }
111111}
112112
113- defm SVREAD_ZA8 : ZARead<"za8", "cUc ", "aarch64_sme_read", [ImmCheck<2, ImmCheck0_0>]>;
113+ defm SVREAD_ZA8 : ZARead<"za8", "cUcm ", "aarch64_sme_read", [ImmCheck<2, ImmCheck0_0>]>;
114114defm SVREAD_ZA16 : ZARead<"za16", "sUshb", "aarch64_sme_read", [ImmCheck<2, ImmCheck0_1>]>;
115115defm SVREAD_ZA32 : ZARead<"za32", "iUif", "aarch64_sme_read", [ImmCheck<2, ImmCheck0_3>]>;
116116defm SVREAD_ZA64 : ZARead<"za64", "lUld", "aarch64_sme_read", [ImmCheck<2, ImmCheck0_7>]>;
117- defm SVREAD_ZA128 : ZARead<"za128", "csilUcUsUiUlhbfd ", "aarch64_sme_readq", [ImmCheck<2, ImmCheck0_15>]>;
117+ defm SVREAD_ZA128 : ZARead<"za128", "csilUcUsUiUlmhbfd ", "aarch64_sme_readq", [ImmCheck<2, ImmCheck0_15>]>;
118118
119119////////////////////////////////////////////////////////////////////////////////
120120// Write horizontal/vertical ZA slices
@@ -131,11 +131,11 @@ multiclass ZAWrite<string n_suffix, string t, string i_prefix, list<ImmCheck> ch
131131 }
132132}
133133
134- defm SVWRITE_ZA8 : ZAWrite<"za8", "cUc ", "aarch64_sme_write", [ImmCheck<0, ImmCheck0_0>]>;
134+ defm SVWRITE_ZA8 : ZAWrite<"za8", "cUcm ", "aarch64_sme_write", [ImmCheck<0, ImmCheck0_0>]>;
135135defm SVWRITE_ZA16 : ZAWrite<"za16", "sUshb", "aarch64_sme_write", [ImmCheck<0, ImmCheck0_1>]>;
136136defm SVWRITE_ZA32 : ZAWrite<"za32", "iUif", "aarch64_sme_write", [ImmCheck<0, ImmCheck0_3>]>;
137137defm SVWRITE_ZA64 : ZAWrite<"za64", "lUld", "aarch64_sme_write", [ImmCheck<0, ImmCheck0_7>]>;
138- defm SVWRITE_ZA128 : ZAWrite<"za128", "csilUcUsUiUlhbfd ", "aarch64_sme_writeq", [ImmCheck<0, ImmCheck0_15>]>;
138+ defm SVWRITE_ZA128 : ZAWrite<"za128", "csilUcUsUiUlmhbfd ", "aarch64_sme_writeq", [ImmCheck<0, ImmCheck0_15>]>;
139139
140140////////////////////////////////////////////////////////////////////////////////
141141// SME - Zero
@@ -350,7 +350,7 @@ multiclass ZAWrite_VG<string n, string t, string i, list<ImmCheck> checks> {
350350}
351351
352352let SMETargetGuard = "sme2" in {
353- defm SVWRITE_ZA8 : ZAWrite_VG<"za8", "cUc ", "aarch64_sme_write", [ImmCheck<0, ImmCheck0_0>]>;
353+ defm SVWRITE_ZA8 : ZAWrite_VG<"za8", "cUcm ", "aarch64_sme_write", [ImmCheck<0, ImmCheck0_0>]>;
354354 defm SVWRITE_ZA16 : ZAWrite_VG<"za16", "sUshb", "aarch64_sme_write", [ImmCheck<0, ImmCheck0_1>]>;
355355 defm SVWRITE_ZA32 : ZAWrite_VG<"za32", "iUif", "aarch64_sme_write", [ImmCheck<0, ImmCheck0_3>]>;
356356 defm SVWRITE_ZA64 : ZAWrite_VG<"za64", "lUld", "aarch64_sme_write", [ImmCheck<0, ImmCheck0_7>]>;
@@ -366,7 +366,7 @@ multiclass ZARead_VG<string n, string t, string i, list<ImmCheck> checks> {
366366}
367367
368368let SMETargetGuard = "sme2" in {
369- defm SVREAD_ZA8 : ZARead_VG<"za8", "cUc ", "aarch64_sme_read", [ImmCheck<0, ImmCheck0_0>]>;
369+ defm SVREAD_ZA8 : ZARead_VG<"za8", "cUcm ", "aarch64_sme_read", [ImmCheck<0, ImmCheck0_0>]>;
370370 defm SVREAD_ZA16 : ZARead_VG<"za16", "sUshb", "aarch64_sme_read", [ImmCheck<0, ImmCheck0_1>]>;
371371 defm SVREAD_ZA32 : ZARead_VG<"za32", "iUif", "aarch64_sme_read", [ImmCheck<0, ImmCheck0_3>]>;
372372 defm SVREAD_ZA64 : ZARead_VG<"za64", "lUld", "aarch64_sme_read", [ImmCheck<0, ImmCheck0_7>]>;
@@ -722,24 +722,24 @@ def IN_STREAMING_MODE : Inst<"__arm_in_streaming_mode", "sv", "Pc", MergeNone,
722722// lookup table expand four contiguous registers
723723//
724724let SMETargetGuard = "sme2" in {
725- def SVLUTI2_LANE_ZT_X4 : Inst<"svluti2_lane_zt_{d}_x4", "4.di[i", "cUcsUsiUibhf ", MergeNone, "aarch64_sme_luti2_lane_zt_x4", [IsStreaming, IsInZT0], [ImmCheck<0, ImmCheck0_0>, ImmCheck<2, ImmCheck0_3>]>;
725+ def SVLUTI2_LANE_ZT_X4 : Inst<"svluti2_lane_zt_{d}_x4", "4.di[i", "cUcsUsiUimbhf ", MergeNone, "aarch64_sme_luti2_lane_zt_x4", [IsStreaming, IsInZT0], [ImmCheck<0, ImmCheck0_0>, ImmCheck<2, ImmCheck0_3>]>;
726726 def SVLUTI4_LANE_ZT_X4 : Inst<"svluti4_lane_zt_{d}_x4", "4.di[i", "sUsiUibhf", MergeNone, "aarch64_sme_luti4_lane_zt_x4", [IsStreaming, IsInZT0], [ImmCheck<0, ImmCheck0_0>, ImmCheck<2, ImmCheck0_1>]>;
727727}
728728
729729//
730730// lookup table expand one register
731731//
732732let SMETargetGuard = "sme2" in {
733- def SVLUTI2_LANE_ZT : Inst<"svluti2_lane_zt_{d}", "di[i", "cUcsUsiUibhf ", MergeNone, "aarch64_sme_luti2_lane_zt", [IsStreaming, IsInZT0], [ImmCheck<0, ImmCheck0_0>, ImmCheck<2, ImmCheck0_15>]>;
734- def SVLUTI4_LANE_ZT : Inst<"svluti4_lane_zt_{d}", "di[i", "cUcsUsiUibhf ", MergeNone, "aarch64_sme_luti4_lane_zt", [IsStreaming, IsInZT0], [ImmCheck<0, ImmCheck0_0>, ImmCheck<2, ImmCheck0_7>]>;
733+ def SVLUTI2_LANE_ZT : Inst<"svluti2_lane_zt_{d}", "di[i", "cUcsUsiUimbhf ", MergeNone, "aarch64_sme_luti2_lane_zt", [IsStreaming, IsInZT0], [ImmCheck<0, ImmCheck0_0>, ImmCheck<2, ImmCheck0_15>]>;
734+ def SVLUTI4_LANE_ZT : Inst<"svluti4_lane_zt_{d}", "di[i", "cUcsUsiUimbhf ", MergeNone, "aarch64_sme_luti4_lane_zt", [IsStreaming, IsInZT0], [ImmCheck<0, ImmCheck0_0>, ImmCheck<2, ImmCheck0_7>]>;
735735}
736736
737737//
738738// lookup table expand two contiguous registers
739739//
740740let SMETargetGuard = "sme2" in {
741- def SVLUTI2_LANE_ZT_X2 : Inst<"svluti2_lane_zt_{d}_x2", "2.di[i", "cUcsUsiUibhf ", MergeNone, "aarch64_sme_luti2_lane_zt_x2", [IsStreaming, IsInZT0], [ImmCheck<0, ImmCheck0_0>, ImmCheck<2, ImmCheck0_7>]>;
742- def SVLUTI4_LANE_ZT_X2 : Inst<"svluti4_lane_zt_{d}_x2", "2.di[i", "cUcsUsiUibhf ", MergeNone, "aarch64_sme_luti4_lane_zt_x2", [IsStreaming, IsInZT0], [ImmCheck<0, ImmCheck0_0>, ImmCheck<2, ImmCheck0_3>]>;
741+ def SVLUTI2_LANE_ZT_X2 : Inst<"svluti2_lane_zt_{d}_x2", "2.di[i", "cUcsUsiUimbhf ", MergeNone, "aarch64_sme_luti2_lane_zt_x2", [IsStreaming, IsInZT0], [ImmCheck<0, ImmCheck0_0>, ImmCheck<2, ImmCheck0_7>]>;
742+ def SVLUTI4_LANE_ZT_X2 : Inst<"svluti4_lane_zt_{d}_x2", "2.di[i", "cUcsUsiUimbhf ", MergeNone, "aarch64_sme_luti4_lane_zt_x2", [IsStreaming, IsInZT0], [ImmCheck<0, ImmCheck0_0>, ImmCheck<2, ImmCheck0_3>]>;
743743}
744744
745745//
@@ -811,12 +811,12 @@ multiclass ZAReadz<string n_suffix, string vg_num, string t, string i_prefix, li
811811 }
812812}
813813
814- defm SVREADZ_ZA8_X2 : ZAReadz<"za8", "2", "cUc ", "aarch64_sme_readz", [ImmCheck<0, ImmCheck0_0>]>;
814+ defm SVREADZ_ZA8_X2 : ZAReadz<"za8", "2", "cUcm ", "aarch64_sme_readz", [ImmCheck<0, ImmCheck0_0>]>;
815815defm SVREADZ_ZA16_X2 : ZAReadz<"za16", "2", "sUshb", "aarch64_sme_readz", [ImmCheck<0, ImmCheck0_1>]>;
816816defm SVREADZ_ZA32_X2 : ZAReadz<"za32", "2", "iUif", "aarch64_sme_readz", [ImmCheck<0, ImmCheck0_3>]>;
817817defm SVREADZ_ZA64_X2 : ZAReadz<"za64", "2", "lUld", "aarch64_sme_readz", [ImmCheck<0, ImmCheck0_7>]>;
818818
819- defm SVREADZ_ZA8_X4 : ZAReadz<"za8", "4", "cUc ", "aarch64_sme_readz", [ImmCheck<0, ImmCheck0_0>]>;
819+ defm SVREADZ_ZA8_X4 : ZAReadz<"za8", "4", "cUcm ", "aarch64_sme_readz", [ImmCheck<0, ImmCheck0_0>]>;
820820defm SVREADZ_ZA16_X4 : ZAReadz<"za16", "4", "sUshb", "aarch64_sme_readz", [ImmCheck<0, ImmCheck0_1>]>;
821821defm SVREADZ_ZA32_X4 : ZAReadz<"za32", "4", "iUif", "aarch64_sme_readz", [ImmCheck<0, ImmCheck0_3>]>;
822822defm SVREADZ_ZA64_X4 : ZAReadz<"za64", "4", "lUld", "aarch64_sme_readz", [ImmCheck<0, ImmCheck0_7>]>;
@@ -834,15 +834,15 @@ multiclass ZAReadzSingle<string n_suffix, string t, string i_prefix, list<ImmChe
834834 }
835835}
836836
837- defm SVREADZ_ZA8 : ZAReadzSingle<"za8", "cUc ", "aarch64_sme_readz", [ImmCheck<0, ImmCheck0_0>]>;
837+ defm SVREADZ_ZA8 : ZAReadzSingle<"za8", "cUcm ", "aarch64_sme_readz", [ImmCheck<0, ImmCheck0_0>]>;
838838defm SVREADZ_ZA16 : ZAReadzSingle<"za16", "sUshb", "aarch64_sme_readz", [ImmCheck<0, ImmCheck0_1>]>;
839839defm SVREADZ_ZA32 : ZAReadzSingle<"za32", "iUif", "aarch64_sme_readz", [ImmCheck<0, ImmCheck0_3>]>;
840840defm SVREADZ_ZA64 : ZAReadzSingle<"za64", "lUld", "aarch64_sme_readz", [ImmCheck<0, ImmCheck0_7>]>;
841- defm SVREADZ_ZA128 : ZAReadzSingle<"za128", "csilUcUiUsUlbhfd ", "aarch64_sme_readz_q", [ImmCheck<0, ImmCheck0_15>]>;
841+ defm SVREADZ_ZA128 : ZAReadzSingle<"za128", "csilUcUiUsUlmbhfd ", "aarch64_sme_readz_q", [ImmCheck<0, ImmCheck0_15>]>;
842842
843843multiclass ZAReadzArray<string vg_num>{
844844 let SMETargetGuard = "sme2p1" in {
845- def NAME # _B : SInst<"svreadz_za8_{d}_vg1x" # vg_num, vg_num # "m", "cUc ", MergeNone, "aarch64_sme_readz_x" # vg_num, [IsStreaming, IsInOutZA]>;
845+ def NAME # _B : SInst<"svreadz_za8_{d}_vg1x" # vg_num, vg_num # "m", "cUcm ", MergeNone, "aarch64_sme_readz_x" # vg_num, [IsStreaming, IsInOutZA]>;
846846 def NAME # _H : SInst<"svreadz_za16_{d}_vg1x" # vg_num, vg_num # "m", "sUsbh", MergeNone, "aarch64_sme_readz_x" # vg_num, [IsStreaming, IsInOutZA]>;
847847 def NAME # _S : SInst<"svreadz_za32_{d}_vg1x" # vg_num, vg_num # "m", "iUif", MergeNone, "aarch64_sme_readz_x" # vg_num, [IsStreaming, IsInOutZA]>;
848848 def NAME # _D : SInst<"svreadz_za64_{d}_vg1x" # vg_num, vg_num # "m", "lUld", MergeNone, "aarch64_sme_readz_x" # vg_num, [IsStreaming, IsInOutZA]>;
0 commit comments