From 1ea8a397e5a753cdd7297983a9f653355a7c535d Mon Sep 17 00:00:00 2001 From: florian <florian@freepascal.org> Date: Mon, 3 Dec 2012 21:55:51 +0000 Subject: [PATCH] * use membar only for sparcv9(+) git-svn-id: trunk@23109 - --- rtl/sparc/sparc.inc | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/rtl/sparc/sparc.inc b/rtl/sparc/sparc.inc index 238f227db8..eeb352ad52 100644 --- a/rtl/sparc/sparc.inc +++ b/rtl/sparc/sparc.inc @@ -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: