From dff22ef6d855973e0e0f05c7203a6bfa9a4cf01a Mon Sep 17 00:00:00 2001 From: Xavier Leroy Date: Thu, 15 Jun 2017 15:11:26 +0200 Subject: Extend builtin arguments with a pointer addition operator This extension enables more addressing modes to be encoded as builtin arguments and used in conjunction with volatile memory accesses. Current status: x86 port only, the only new addressing mode handled is reg + offset. --- backend/Allocation.v | 3 +++ 1 file changed, 3 insertions(+) (limited to 'backend/Allocation.v') diff --git a/backend/Allocation.v b/backend/Allocation.v index 3dd4cb09..3ac99a47 100644 --- a/backend/Allocation.v +++ b/backend/Allocation.v @@ -808,6 +808,9 @@ Fixpoint add_equations_builtin_arg | BA_splitlong hi lo, BA_splitlong hi' lo' => do e1 <- add_equations_builtin_arg env hi hi' e; add_equations_builtin_arg env lo lo' e1 + | BA_addptr a1 a2, BA_addptr a1' a2' => + do e1 <- add_equations_builtin_arg env a1 a1' e; + add_equations_builtin_arg env a2 a2' e1 | _, _ => None end. -- cgit