瀏覽代碼

* RiscV: unify memory barrier functions

florian 6 月之前
父節點
當前提交
c6a68abfb6
共有 2 個文件被更改,包括 25 次插入25 次删除
  1. 25 0
      rtl/riscv/riscv.inc
  2. 0 25
      rtl/riscv64/riscv64.inc

+ 25 - 0
rtl/riscv/riscv.inc

@@ -157,3 +157,28 @@ begin
   SetNativeFPUControlWord(cw);
 {$endif FPUFD}
 end;
+
+
+{$define FPC_SYSTEM_HAS_MEM_BARRIER}
+
+procedure ReadBarrier; assembler; nostackframe;
+  asm
+    fence ir, ir
+  end;
+
+
+procedure ReadDependencyBarrier;
+  begin
+  end;
+
+
+procedure ReadWriteBarrier; assembler; nostackframe;
+  asm
+    fence iorw, iorw
+  end;
+
+
+procedure WriteBarrier; assembler; nostackframe;
+  asm
+    fence ow, ow
+  end;

+ 0 - 25
rtl/riscv64/riscv64.inc

@@ -278,28 +278,3 @@ procedure inclocked(var l:int64);
   begin
     InterLockedIncrement64(l);
   end;
-
-
-{$define FPC_SYSTEM_HAS_MEM_BARRIER}
-
-procedure ReadBarrier; assembler; nostackframe;
-  asm
-    fence ir, ir
-  end;
-
-
-procedure ReadDependencyBarrier;
-  begin
-  end;
-
-
-procedure ReadWriteBarrier; assembler; nostackframe;
-  asm
-    fence iorw, iorw
-  end;
-
-
-procedure WriteBarrier; assembler; nostackframe;
-  asm
-    fence ow, ow
-  end;