x64: port some atomics to ISLE (#4212)
* x64: port `fence` to ISLE * x64: port `atomic_load` to ISLE * x64: port `atomic_store` to ISLE
This commit is contained in:
@@ -988,6 +988,10 @@
|
||||
(decl amode_offset (Amode u32) Amode)
|
||||
(extern constructor amode_offset amode_offset)
|
||||
|
||||
;; Return a zero offset as an `Offset32`.
|
||||
(decl zero_offset () Offset32)
|
||||
(extern constructor zero_offset zero_offset)
|
||||
|
||||
;; Shift kinds.
|
||||
|
||||
(type ShiftKind extern
|
||||
@@ -2866,6 +2870,12 @@
|
||||
(rule (x64_xor_mem ty addr val)
|
||||
(alu_rm ty (AluRmiROpcode.Xor) addr val))
|
||||
|
||||
;;;; Atomics ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(decl x64_mfence () SideEffectNoResult)
|
||||
(rule (x64_mfence)
|
||||
(SideEffectNoResult.Inst (MInst.Fence (FenceKind.MFence))))
|
||||
|
||||
;;;; Automatic conversions ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(convert Gpr InstOutput output_gpr)
|
||||
|
||||
Reference in New Issue
Block a user