* fix bsf for armv7+

git-svn-id: trunk@22860 -
This commit is contained in:
florian 2012-10-27 20:17:58 +00:00
parent 8221681871
commit 1520bcc4f0

View File

@ -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_RSB,dst,dst,31));
list.Concat(taicpu.op_reg_reg_const(A_AND,dst,dst,255)); list.Concat(taicpu.op_reg_reg_const(A_AND,dst,dst,255));
end 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 begin
list.Concat(taicpu.op_reg_reg(A_RBIT,dst,src)); 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_CLZ,dst,dst));
list.Concat(taicpu.op_reg_reg(A_UXTB,dst,dst)); a_reg_alloc(list,NR_DEFAULTFLAGS);
end list.Concat(taicpu.op_reg_const(A_CMP,dst,32));
else list.Concat(setcondition(taicpu.op_reg_const(A_MOV,dst,$ff),C_EQ));
internalerror(201209041); a_reg_dealloc(list,NR_DEFAULTFLAGS);
end;
end; end;