@@ -25,9 +25,6 @@ def CortexR52Model : SchedMachineModel {
25
25
let LoadLatency = 1; // Optimistic, assuming no misses
26
26
let MispredictPenalty = 8; // A branch direction mispredict, including PFU
27
27
let CompleteModel = 0; // Covers instructions applicable to cortex-r52.
28
-
29
- // FIXME: Remove when all errors have been fixed.
30
- let FullInstRWOverlapCheck = 0;
31
28
}
32
29
33
30
@@ -223,7 +220,7 @@ def : InstRW<[R52WriteALU_EX1, R52Read_ISS],
223
220
(instregex "MOVCCi32imm", "MOVi32imm", "MOV_ga_dyn", "t2MOVCCi",
224
221
"t2MOVi", "t2MOV_ga_dyn")>;
225
222
def : InstRW<[R52WriteALU_EX2, R52Read_EX1],
226
- (instregex "MOV_ga_pcrel", "t2MOV_ga_pcrel")>;
223
+ (instregex "MOV_ga_pcrel$ ", "t2MOV_ga_pcrel$ ")>;
227
224
def : InstRW<[R52WriteLd,R52Read_ISS],
228
225
(instregex "MOV_ga_pcrel_ldr", "t2MOV_ga_pcrel_ldr")>;
229
226
@@ -515,7 +512,7 @@ def : InstRW<[R52WriteISTM, R52WriteAdr, R52Read_ISS, R52Read_EX2],
515
512
516
513
// LDRLIT pseudo instructions, they expand to LDR + PICADD
517
514
def : InstRW<[R52WriteLd],
518
- (instregex "t?LDRLIT_ga_abs", "t?LDRLIT_ga_pcrel")>;
515
+ (instregex "t?LDRLIT_ga_abs", "t?LDRLIT_ga_pcrel$ ")>;
519
516
// LDRLIT_ga_pcrel_ldr expands to LDR + PICLDR
520
517
def : InstRW<[R52WriteLd], (instregex "LDRLIT_ga_pcrel_ldr")>;
521
518
@@ -533,7 +530,7 @@ def : InstRW<[R52Write2FPALU_F5, R52Read_F1], (instregex "VABS(fq|hq)")>;
533
530
def : InstRW<[R52WriteFPALU_F3, R52Read_F1, R52Read_F1], (instregex "(VACGE|VACGT)(fd|hd)")>;
534
531
def : InstRW<[R52Write2FPALU_F3, R52Read_F1, R52Read_F1], (instregex "(VACGE|VACGT)(fq|hq)")>;
535
532
536
- def : InstRW<[R52WriteFPALU_F5, R52Read_F1, R52Read_F1], (instregex "(VADD|VSUB)(D|S|H|fd|hd)")>;
533
+ def : InstRW<[R52WriteFPALU_F5, R52Read_F1, R52Read_F1], (instregex "(VADD|VSUB)(D|S|H|fd|hd)$ ")>;
537
534
def : InstRW<[R52Write2FPALU_F5, R52Read_F1, R52Read_F1], (instregex "(VADD|VSUB)(fq|hq)")>;
538
535
539
536
def : InstRW<[R52WriteFPLd_F4, R52Read_ISS, R52Read_F1], (instregex "VLDR")>;
@@ -795,8 +792,6 @@ def : InstRW<[R52Write2FPALU_F3, R52Read_F2], (instregex "VBICi(v8i16|v4i32)")>;
795
792
def : InstRW<[R52WriteFPALU_F3, R52Read_F1, R52Read_F2, R52Read_F2], (instregex "(VBIF|VBIT|VBSL)d")>;
796
793
def : InstRW<[R52Write2FPALU_F3, R52Read_F1, R52Read_F2, R52Read_F2], (instregex "(VBIF|VBIT|VBSL)q")>;
797
794
798
- def : InstRW<[R52Write2FPALU_F3, R52Read_F2], (instregex "VBICi(v8i16|v4i32)")>;
799
-
800
795
def : InstRW<[R52WriteFPALU_F3, R52Read_F1, R52Read_F1],
801
796
(instregex "(VCEQ|VCGE|VCGT|VCLE|VCLT|VCLZ|VCMP|VCMPE|VCNT)")>;
802
797
def : InstRW<[R52WriteFPALU_F5, R52Read_F1, R52Read_F1],
0 commit comments