2
0
Эх сурвалжийг харах

Don't schedule LDRD on ARM

The load scheduler does not handle LDRD correctly right now, but it does
not prevent A_LDR with PF_D set from beeing scheduled.

git-svn-id: trunk@26637 -
masta 11 жил өмнө
parent
commit
3f8549365a

+ 1 - 0
compiler/arm/aoptcpu.pas

@@ -2380,6 +2380,7 @@ Implementation
             GetNextInstruction(p,hp1) and
             (hp1.typ=ait_instruction) and
             (taicpu(hp1).opcode in [A_LDR,A_LDRB,A_LDRH,A_LDRSB,A_LDRSH]) and
+            (taicpu(hp1).oppostfix in [PF_NONE, PF_B, PF_H, PF_SB, PF_SH]) and
             { for now we don't reschedule if the previous instruction changes potentially a memory location }
             ( (not(taicpu(p).opcode in opcode_could_mem_write) and
                not(RegModifiedByInstruction(NR_PC,p))