@@ -5595,6 +5595,7 @@ class sme2_bf16_fp32_quarter_tile_outer_product<bit M, bit N, bit S, string mnem
55955595 let Inst{1-0} = ZAda;
55965596
55975597 let Constraints = "$ZAda = $_ZAda";
5598+ let Uses = [FPCR];
55985599}
55995600
56005601multiclass sme2_bfmop4as_widening<bit S, string mnemonic, string op> {
@@ -5758,6 +5759,7 @@ class sme2_fp16_quarter_tile_outer_product<bit M, bit N, bit S, string mnemonic,
57585759 let Inst{0} = ZAda;
57595760
57605761 let Constraints = "$ZAda = $_ZAda";
5762+ let Uses = [FPCR];
57615763}
57625764
57635765multiclass sme2_fmop4as_fp16_non_widening<bit S, string mnemonic, string op> {
@@ -5846,6 +5848,7 @@ class sme2_bf16_fp16_quarter_tile_outer_product<bit M, bit N, bit S, string mnem
58465848 let Inst{0} = ZAda;
58475849
58485850 let Constraints = "$ZAda = $_ZAda";
5851+ let Uses = [FPCR];
58495852}
58505853
58515854multiclass sme2_bfmop4as_non_widening<bit S, string mnemonic, string op> {
@@ -5899,6 +5902,7 @@ class sme2_fp32_quarter_tile_outer_product<bit M, bit N, bit S, string mnemonic,
58995902 let Inst{1-0} = ZAda;
59005903
59015904 let Constraints = "$ZAda = $_ZAda";
5905+ let Uses = [FPCR];
59025906}
59035907
59045908multiclass sme2_fmop4as_fp32_non_widening<bit S, string mnemonic, string op> {
@@ -5952,6 +5956,7 @@ class sme2_fp64_quarter_tile_outer_product<bit M, bit N, bit S, string mnemonic,
59525956 let Inst{2-0} = ZAda;
59535957
59545958 let Constraints = "$ZAda = $_ZAda";
5959+ let Uses = [FPCR];
59555960}
59565961
59575962multiclass sme2_fmop4as_fp64_non_widening<bit S, string mnemonic, string op> {
@@ -6005,6 +6010,7 @@ class sme2_fp16_fp32_quarter_tile_outer_product<bit M, bit N, bit S, string mnem
60056010 let Inst{1-0} = ZAda;
60066011
60076012 let Constraints = "$ZAda = $_ZAda";
6013+ let Uses = [FPCR];
60086014}
60096015
60106016multiclass sme2_fmop4as_fp16_fp32_widening<bit S, string mnemonic, string op> {
0 commit comments