mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-21 11:29:24 +02:00
* fix bsf for armv7+
git-svn-id: trunk@22860 -
This commit is contained in:
parent
8221681871
commit
1520bcc4f0
@ -1485,14 +1485,17 @@ unit cgcpu;
|
||||
list.Concat(taicpu.op_reg_reg_const(A_RSB,dst,dst,31));
|
||||
list.Concat(taicpu.op_reg_reg_const(A_AND,dst,dst,255));
|
||||
end
|
||||
else if CPUARM_HAS_RBIT in cpu_capabilities[current_settings.cputype] then
|
||||
{ it is decided during the compilation of the system unit if this code is used or not
|
||||
so no additional check for rbit is needed }
|
||||
else
|
||||
begin
|
||||
list.Concat(taicpu.op_reg_reg(A_RBIT,dst,src));
|
||||
list.Concat(taicpu.op_reg_reg(A_CLZ,dst,dst));
|
||||
list.Concat(taicpu.op_reg_reg(A_UXTB,dst,dst));
|
||||
end
|
||||
else
|
||||
internalerror(201209041);
|
||||
list.Concat(taicpu.op_reg_reg(A_CLZ,dst,dst));
|
||||
a_reg_alloc(list,NR_DEFAULTFLAGS);
|
||||
list.Concat(taicpu.op_reg_const(A_CMP,dst,32));
|
||||
list.Concat(setcondition(taicpu.op_reg_const(A_MOV,dst,$ff),C_EQ));
|
||||
a_reg_dealloc(list,NR_DEFAULTFLAGS);
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user