summaryrefslogtreecommitdiff
path: root/src/ortho/mcode/ortho_code-exprs.adb
diff options
context:
space:
mode:
authorTristan Gingold2016-01-05 06:44:53 +0100
committerTristan Gingold2016-01-06 18:38:37 +0100
commitb5797a5cef6d25817da7998f6263afa53e196d25 (patch)
treead3b67a93d16e8a06fab2d7a8c4d8993ff101b8a /src/ortho/mcode/ortho_code-exprs.adb
parent955e964b024de556c4c0db8fd745c6abdb8052fe (diff)
downloadghdl-b5797a5cef6d25817da7998f6263afa53e196d25.tar.gz
ghdl-b5797a5cef6d25817da7998f6263afa53e196d25.tar.bz2
ghdl-b5797a5cef6d25817da7998f6263afa53e196d25.zip
mcode: add support for x86-64
Diffstat (limited to 'src/ortho/mcode/ortho_code-exprs.adb')
-rw-r--r--src/ortho/mcode/ortho_code-exprs.adb7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/ortho/mcode/ortho_code-exprs.adb b/src/ortho/mcode/ortho_code-exprs.adb
index 17a47f4..a529034 100644
--- a/src/ortho/mcode/ortho_code-exprs.adb
+++ b/src/ortho/mcode/ortho_code-exprs.adb
@@ -727,6 +727,13 @@ package body Ortho_Code.Exprs is
end if;
end New_Lit;
+ function Is_Expr_S32 (Cst : O_Enode) return Boolean is
+ begin
+ pragma Assert (Get_Expr_Kind (Cst) = OE_Const);
+ return Shift_Right_Arithmetic (Get_Expr_Low (Cst), 32)
+ = Get_Expr_High (Cst);
+ end Is_Expr_S32;
+
function Get_Static_Chain (Depth : O_Depth) return O_Enode
is
Cur_Depth : O_Depth := Cur_Subprg.Depth;