mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-19 12:19:25 +02:00
* ARM: fixed detecting Thumb-style jump tables in insertpcrelativedata() after r28546.
git-svn-id: trunk@28702 -
This commit is contained in:
parent
27befd2375
commit
b08ffa0a87
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user