mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-07 23:28:13 +02:00
BMI1 → BMI2.
This commit is contained in:
parent
860a2d0145
commit
4f92679625
rtl
@ -1538,7 +1538,7 @@ CompareByte_1OrLess:
|
||||
or $1, %eax
|
||||
end;
|
||||
|
||||
function {$ifdef CPUX86_HAS_BMI1} CompareByte {$else} CompareByte_AVX2 {$endif} (const buf1, buf2; len: SizeInt): SizeInt; assembler; nostackframe;
|
||||
function {$ifdef CPUX86_HAS_BMI2} CompareByte {$else} CompareByte_AVX2 {$endif} (const buf1, buf2; len: SizeInt): SizeInt; assembler; nostackframe;
|
||||
asm
|
||||
{ eax = buf1, edx = buf2, ecx = len }
|
||||
cmp $1, %ecx
|
||||
@ -1657,7 +1657,7 @@ asm
|
||||
pop %ebx
|
||||
end;
|
||||
|
||||
{$ifndef CPUX86_HAS_BMI1}
|
||||
{$ifndef CPUX86_HAS_BMI2}
|
||||
function CompareByte_Dispatch(const buf1, buf2; len: SizeInt): SizeInt; forward;
|
||||
|
||||
var
|
||||
@ -1682,7 +1682,7 @@ function CompareByte(const buf1, buf2; len: SizeInt): SizeInt;
|
||||
begin
|
||||
result:=CompareByte_Impl(buf1, buf2, len);
|
||||
end;
|
||||
{$endif ndef CPUX86_HAS_BMI1 (need CompareByte dispatcher)}
|
||||
{$endif ndef CPUX86_HAS_BMI2 (need CompareByte dispatcher)}
|
||||
{$endif FPC_SYSTEM_HAS_COMPAREBYTE}
|
||||
|
||||
|
||||
|
@ -917,7 +917,7 @@ function Indexword(const buf;len:SizeInt;b:word):SizeInt; {$if defined(cpui386)
|
||||
function IndexDWord(const buf;len:SizeInt;b:DWord):SizeInt; {$if defined(cpui386) and not defined(CPUX86_HAS_SSE2)} inline; {$endif}
|
||||
function IndexQWord(const buf;len:SizeInt;b:QWord):SizeInt; {$if (defined(cpui386) or defined(cpux86_64)) and not defined(CPUX86_HAS_SSE4_1)} inline; {$endif}
|
||||
function CompareChar(const buf1,buf2;len:SizeInt):SizeInt;
|
||||
function CompareByte(const buf1,buf2;len:SizeInt):SizeInt; {$if defined(cpui386) and not defined(CPUX86_HAS_BMI1)} inline; {$endif}
|
||||
function CompareByte(const buf1,buf2;len:SizeInt):SizeInt; {$if defined(cpui386) and not defined(CPUX86_HAS_BMI2)} inline; {$endif}
|
||||
function CompareWord(const buf1,buf2;len:SizeInt):SizeInt; {$if defined(cpui386) and not defined(CPUX86_HAS_SSE2)} inline; {$endif}
|
||||
function CompareDWord(const buf1,buf2;len:SizeInt):SizeInt; {$if defined(cpui386) and not defined(CPUX86_HAS_SSE2)} inline; {$endif}
|
||||
procedure MoveChar0(const buf1;var buf2;len:SizeInt);
|
||||
|
Loading…
Reference in New Issue
Block a user