mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-12 23:09:40 +02:00
* make BSR/BSF return byte, instead of cardinal on 16/8-bit targets
git-svn-id: trunk@26591 -
This commit is contained in:
parent
5e0359d389
commit
48edf78003
@ -2392,7 +2392,7 @@ function BsrByte(Const AValue: Byte): Byte;
|
||||
|
||||
{$ifndef FPC_SYSTEM_HAS_BSF_WORD}
|
||||
{$ifndef FPC_HAS_INTERNAL_BSF_WORD}
|
||||
function BsfWord(Const AValue: Word): cardinal;
|
||||
function BsfWord(Const AValue: Word): {$ifdef CPU16}byte{$else}cardinal{$endif};
|
||||
begin
|
||||
result:=$ff;
|
||||
if lo(AValue)<>0 then
|
||||
@ -2405,7 +2405,7 @@ function BsfWord(Const AValue: Word): cardinal;
|
||||
|
||||
{$ifndef FPC_SYSTEM_HAS_BSR_WORD}
|
||||
{$ifndef FPC_HAS_INTERNAL_BSR_WORD}
|
||||
function BsrWord(Const AValue: Word): cardinal;
|
||||
function BsrWord(Const AValue: Word): {$ifdef CPU16}byte{$else}cardinal{$endif};
|
||||
begin
|
||||
if hi(AValue)<>0 then
|
||||
result:=BsrByte(hi(AValue))+8
|
||||
@ -2417,7 +2417,7 @@ function BsrWord(Const AValue: Word): cardinal;
|
||||
|
||||
{$ifndef FPC_HAS_INTERNAL_BSF_DWORD}
|
||||
{$ifndef FPC_SYSTEM_HAS_BSF_DWORD}
|
||||
function BsfDWord(Const AValue : DWord): cardinal;
|
||||
function BsfDWord(Const AValue : DWord): {$ifdef CPU16}byte{$else}cardinal{$endif};
|
||||
begin
|
||||
result:=$ff;
|
||||
if lo(AValue)<>0 then
|
||||
@ -2430,7 +2430,7 @@ end;
|
||||
|
||||
{$ifndef FPC_HAS_INTERNAL_BSR_DWORD}
|
||||
{$ifndef FPC_SYSTEM_HAS_BSR_DWORD}
|
||||
function BsrDWord(Const AValue : DWord): cardinal;
|
||||
function BsrDWord(Const AValue : DWord): {$ifdef CPU16}byte{$else}cardinal{$endif};
|
||||
begin
|
||||
if hi(AValue)<>0 then
|
||||
result:=BsrWord(hi(AValue))+16
|
||||
@ -2442,7 +2442,7 @@ end;
|
||||
|
||||
{$ifndef FPC_HAS_INTERNAL_BSF_QWORD}
|
||||
{$ifndef FPC_SYSTEM_HAS_BSF_QWORD}
|
||||
function BsfQWord(Const AValue : QWord): cardinal;
|
||||
function BsfQWord(Const AValue : QWord): {$ifdef CPU16}byte{$else}cardinal{$endif};
|
||||
begin
|
||||
result:=$ff;
|
||||
if lo(AValue) <> 0 then
|
||||
@ -2455,7 +2455,7 @@ function BsfQWord(Const AValue : QWord): cardinal;
|
||||
|
||||
{$ifndef FPC_HAS_INTERNAL_BSR_QWORD}
|
||||
{$ifndef FPC_SYSTEM_HAS_BSR_QWORD}
|
||||
function BsrQWord(Const AValue : QWord): cardinal;
|
||||
function BsrQWord(Const AValue : QWord): {$ifdef CPU16}byte{$else}cardinal{$endif};
|
||||
begin
|
||||
if hi(AValue) <> 0 then
|
||||
result:=BsrDWord(hi(AValue)) + 32
|
||||
|
@ -987,34 +987,34 @@ function BsrByte(Const AValue: Byte): Byte;{$ifdef SYSTEMINLINE}inline;{$endif}
|
||||
{$ifdef FPC_HAS_INTERNAL_BSF_WORD}
|
||||
function BsfWord(Const AValue: Word): cardinal;[internproc:fpc_in_bsf_x];
|
||||
{$else}
|
||||
function BsfWord(Const AValue: Word): cardinal;{$ifdef SYSTEMINLINE}inline;{$endif}
|
||||
function BsfWord(Const AValue: Word): {$ifdef CPU16}byte{$else}cardinal{$endif};{$ifdef SYSTEMINLINE}inline;{$endif}
|
||||
{$endif FPC_HAS_INTERNAL_BSF_WORD}
|
||||
{$ifdef FPC_HAS_INTERNAL_BSR_WORD}
|
||||
function BsrWord(Const AValue: Word): cardinal;[internproc:fpc_in_bsr_x];
|
||||
{$else}
|
||||
function BsrWord(Const AValue: Word): cardinal;{$ifdef SYSTEMINLINE}inline;{$endif}
|
||||
function BsrWord(Const AValue: Word): {$ifdef CPU16}byte{$else}cardinal{$endif};{$ifdef SYSTEMINLINE}inline;{$endif}
|
||||
{$endif FPC_HAS_INTERNAL_BSR_WORD}
|
||||
|
||||
{$ifdef FPC_HAS_INTERNAL_BSF_DWORD}
|
||||
function BsfDWord(Const AValue : DWord): cardinal;[internproc:fpc_in_bsf_x];
|
||||
{$else}
|
||||
function BsfDWord(Const AValue : DWord): cardinal;{$ifdef SYSTEMINLINE}inline;{$endif}
|
||||
function BsfDWord(Const AValue : DWord): {$ifdef CPU16}byte{$else}cardinal{$endif};{$ifdef SYSTEMINLINE}inline;{$endif}
|
||||
{$endif FPC_HAS_INTERNAL_BSF_DWORD}
|
||||
{$ifdef FPC_HAS_INTERNAL_BSR_DWORD}
|
||||
function BsrDWord(Const AValue : DWord): cardinal;[internproc:fpc_in_bsr_x];
|
||||
{$else}
|
||||
function BsrDWord(Const AValue : DWord): cardinal;{$ifdef SYSTEMINLINE}inline;{$endif}
|
||||
function BsrDWord(Const AValue : DWord): {$ifdef CPU16}byte{$else}cardinal{$endif};{$ifdef SYSTEMINLINE}inline;{$endif}
|
||||
{$endif FPC_HAS_INTERNAL_BSR_DWORD}
|
||||
|
||||
{$ifdef FPC_HAS_INTERNAL_BSF_QWORD}
|
||||
function BsfQWord(Const AValue : QWord): cardinal;[internproc:fpc_in_bsf_x];
|
||||
{$else}
|
||||
function BsfQWord(Const AValue : QWord): cardinal;{$ifdef SYSTEMINLINE}inline;{$endif}
|
||||
function BsfQWord(Const AValue : QWord): {$ifdef CPU16}byte{$else}cardinal{$endif};{$ifdef SYSTEMINLINE}inline;{$endif}
|
||||
{$endif FPC_HAS_INTERNAL_BSF_QWORD}
|
||||
{$ifdef FPC_HAS_INTERNAL_BSR_QWORD}
|
||||
function BsrQWord(Const AValue : QWord): cardinal;[internproc:fpc_in_bsr_x];
|
||||
{$else}
|
||||
function BsrQWord(Const AValue : QWord): cardinal;{$ifdef SYSTEMINLINE}inline;{$endif}
|
||||
function BsrQWord(Const AValue : QWord): {$ifdef CPU16}byte{$else}cardinal{$endif};{$ifdef SYSTEMINLINE}inline;{$endif}
|
||||
{$endif FPC_HAS_INTERNAL_BSR_QWORD}
|
||||
|
||||
function PopCnt(Const AValue: Byte): Byte;[internproc:fpc_in_popcnt_x];
|
||||
|
Loading…
Reference in New Issue
Block a user