mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-12-26 01:40:36 +01:00
* use membar only for sparcv9(+)
git-svn-id: trunk@23109 -
This commit is contained in:
parent
e6863aeb80
commit
1ea8a397e5
@ -678,9 +678,13 @@ const
|
|||||||
MemIssue = $20;
|
MemIssue = $20;
|
||||||
Sync = $40;
|
Sync = $40;
|
||||||
|
|
||||||
|
{$if not(defined(SPARCV7)) and not(defined(SPARCV8))}
|
||||||
|
{$define CPUSPARC_HAS_MEMBAR}
|
||||||
|
{$endif}
|
||||||
|
|
||||||
procedure ReadBarrier;assembler;nostackframe;{$ifdef SYSTEMINLINE}inline;{$endif}
|
procedure ReadBarrier;assembler;nostackframe;{$ifdef SYSTEMINLINE}inline;{$endif}
|
||||||
asm
|
asm
|
||||||
{$ifdef FPC_HAS_MEMBAR}
|
{$ifdef CPUSPARC_HAS_MEMBAR}
|
||||||
ba,pt .L1
|
ba,pt .L1
|
||||||
membar LoadLoad
|
membar LoadLoad
|
||||||
.L1:
|
.L1:
|
||||||
@ -694,7 +698,7 @@ end;
|
|||||||
|
|
||||||
procedure ReadWriteBarrier;assembler;nostackframe;{$ifdef SYSTEMINLINE}inline;{$endif}
|
procedure ReadWriteBarrier;assembler;nostackframe;{$ifdef SYSTEMINLINE}inline;{$endif}
|
||||||
asm
|
asm
|
||||||
{$ifdef FPC_HAS_MEMBAR}
|
{$ifdef CPUSPARC_HAS_MEMBAR}
|
||||||
ba,pt .L1
|
ba,pt .L1
|
||||||
membar LoadLoad + LoadStore + StoreLoad + StoreStore
|
membar LoadLoad + LoadStore + StoreLoad + StoreStore
|
||||||
.L1:
|
.L1:
|
||||||
@ -703,7 +707,7 @@ end;
|
|||||||
|
|
||||||
procedure WriteBarrier;assembler;nostackframe;{$ifdef SYSTEMINLINE}inline;{$endif}
|
procedure WriteBarrier;assembler;nostackframe;{$ifdef SYSTEMINLINE}inline;{$endif}
|
||||||
asm
|
asm
|
||||||
{$ifdef FPC_HAS_MEMBAR}
|
{$ifdef CPUSPARC_HAS_MEMBAR}
|
||||||
ba,pt .L1
|
ba,pt .L1
|
||||||
stbar
|
stbar
|
||||||
.L1:
|
.L1:
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user