@@ -5601,6 +5601,7 @@ class sme2_bf16_fp32_quarter_tile_outer_product<bit M, bit N, bit S, string mnem
5601
5601
let Inst{1-0} = ZAda;
5602
5602
5603
5603
let Constraints = "$ZAda = $_ZAda";
5604
+ let Uses = [FPCR];
5604
5605
}
5605
5606
5606
5607
multiclass sme2_bfmop4as_widening<bit S, string mnemonic, string op> {
@@ -5764,6 +5765,7 @@ class sme2_fp16_quarter_tile_outer_product<bit M, bit N, bit S, string mnemonic,
5764
5765
let Inst{0} = ZAda;
5765
5766
5766
5767
let Constraints = "$ZAda = $_ZAda";
5768
+ let Uses = [FPCR];
5767
5769
}
5768
5770
5769
5771
multiclass sme2_fmop4as_fp16_non_widening<bit S, string mnemonic, string op> {
@@ -5869,6 +5871,7 @@ class sme2_bf16_fp16_quarter_tile_outer_product<bit M, bit N, bit S, string mnem
5869
5871
let Inst{0} = ZAda;
5870
5872
5871
5873
let Constraints = "$ZAda = $_ZAda";
5874
+ let Uses = [FPCR];
5872
5875
}
5873
5876
5874
5877
multiclass sme2_bfmop4as_non_widening<bit S, string mnemonic, string op> {
@@ -5922,6 +5925,7 @@ class sme2_fp32_quarter_tile_outer_product<bit M, bit N, bit S, string mnemonic,
5922
5925
let Inst{1-0} = ZAda;
5923
5926
5924
5927
let Constraints = "$ZAda = $_ZAda";
5928
+ let Uses = [FPCR];
5925
5929
}
5926
5930
5927
5931
multiclass sme2_fmop4as_fp32_non_widening<bit S, string mnemonic, string op> {
@@ -5975,6 +5979,7 @@ class sme2_fp64_quarter_tile_outer_product<bit M, bit N, bit S, string mnemonic,
5975
5979
let Inst{2-0} = ZAda;
5976
5980
5977
5981
let Constraints = "$ZAda = $_ZAda";
5982
+ let Uses = [FPCR];
5978
5983
}
5979
5984
5980
5985
multiclass sme2_fmop4as_fp64_non_widening<bit S, string mnemonic, string op> {
@@ -6028,6 +6033,7 @@ class sme2_fp16_fp32_quarter_tile_outer_product<bit M, bit N, bit S, string mnem
6028
6033
let Inst{1-0} = ZAda;
6029
6034
6030
6035
let Constraints = "$ZAda = $_ZAda";
6036
+ let Uses = [FPCR];
6031
6037
}
6032
6038
6033
6039
multiclass sme2_fmop4as_fp16_fp32_widening<bit S, string mnemonic, string op> {
0 commit comments