Pārlūkot izejas kodu

* ARM: fixed detecting Thumb-style jump tables in insertpcrelativedata() after r28546.

git-svn-id: trunk@28702 -
sergei 11 gadi atpakaļ
vecāks
revīzija
b08ffa0a87
1 mainītis faili ar 4 papildinājumiem un 3 dzēšanām
  1. 4 3
      compiler/arm/aasmcpu.pas

+ 4 - 3
compiler/arm/aasmcpu.pas

@@ -1055,15 +1055,16 @@ implementation
               (tai(hp).typ=ait_instruction) then
               begin
                 case taicpu(hp).opcode of
-                  A_BX,
+                  A_MOV,
                   A_LDR,
                   A_ADD:
                     { approximation if we hit a case jump table }
                     if ((taicpu(hp).opcode in [A_ADD,A_LDR]) and not(GenerateThumbCode or GenerateThumb2Code) and
                        (taicpu(hp).oper[0]^.typ=top_reg) and
                       (taicpu(hp).oper[0]^.reg=NR_PC)) or
-                      ((taicpu(hp).opcode=A_BX) and (GenerateThumbCode) and
-                       (taicpu(hp).oper[0]^.typ=top_reg))
+                      ((taicpu(hp).opcode=A_MOV) and (GenerateThumbCode) and
+                       (taicpu(hp).oper[0]^.typ=top_reg) and
+                       (taicpu(hp).oper[0]^.reg=NR_PC))
                        then
                       begin
                         penalty:=multiplier;