mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-08 10:48:12 +02: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;
|
||||
Sync = $40;
|
||||
|
||||
{$if not(defined(SPARCV7)) and not(defined(SPARCV8))}
|
||||
{$define CPUSPARC_HAS_MEMBAR}
|
||||
{$endif}
|
||||
|
||||
procedure ReadBarrier;assembler;nostackframe;{$ifdef SYSTEMINLINE}inline;{$endif}
|
||||
asm
|
||||
{$ifdef FPC_HAS_MEMBAR}
|
||||
{$ifdef CPUSPARC_HAS_MEMBAR}
|
||||
ba,pt .L1
|
||||
membar LoadLoad
|
||||
.L1:
|
||||
@ -694,7 +698,7 @@ end;
|
||||
|
||||
procedure ReadWriteBarrier;assembler;nostackframe;{$ifdef SYSTEMINLINE}inline;{$endif}
|
||||
asm
|
||||
{$ifdef FPC_HAS_MEMBAR}
|
||||
{$ifdef CPUSPARC_HAS_MEMBAR}
|
||||
ba,pt .L1
|
||||
membar LoadLoad + LoadStore + StoreLoad + StoreStore
|
||||
.L1:
|
||||
@ -703,7 +707,7 @@ end;
|
||||
|
||||
procedure WriteBarrier;assembler;nostackframe;{$ifdef SYSTEMINLINE}inline;{$endif}
|
||||
asm
|
||||
{$ifdef FPC_HAS_MEMBAR}
|
||||
{$ifdef CPUSPARC_HAS_MEMBAR}
|
||||
ba,pt .L1
|
||||
stbar
|
||||
.L1:
|
||||
|
Loading…
Reference in New Issue
Block a user