aboutsummaryrefslogtreecommitdiffstats
path: root/src/ortho
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2022-02-26 18:51:55 +0100
committerTristan Gingold <tgingold@free.fr>2022-02-26 18:51:55 +0100
commit739a8b346660bd2c8d2a2d8d2269d73a812eed71 (patch)
tree8ba3cf0f74dc3b87b6e246e7634f48856f4dcc24 /src/ortho
parent3a3e2f018466c213ce580289a9b58e3b97198d88 (diff)
downloadghdl-739a8b346660bd2c8d2a2d8d2269d73a812eed71.tar.gz
ghdl-739a8b346660bd2c8d2a2d8d2269d73a812eed71.tar.bz2
ghdl-739a8b346660bd2c8d2a2d8d2269d73a812eed71.zip
ortho/mcode: relax assertion (and fix debug code). Fix #1980
Diffstat (limited to 'src/ortho')
-rw-r--r--src/ortho/mcode/ortho_code-x86-abi.adb6
-rw-r--r--src/ortho/mcode/ortho_code-x86-emits.adb2
2 files changed, 6 insertions, 2 deletions
diff --git a/src/ortho/mcode/ortho_code-x86-abi.adb b/src/ortho/mcode/ortho_code-x86-abi.adb
index 306335124..44c435de2 100644
--- a/src/ortho/mcode/ortho_code-x86-abi.adb
+++ b/src/ortho/mcode/ortho_code-x86-abi.adb
@@ -325,7 +325,7 @@ package body Ortho_Code.X86.Abi is
when others =>
raise Program_Error;
end case;
- when Regs_R32
+ when Regs_R64
| R_Any32
| R_Any8
| Regs_Pair
@@ -551,6 +551,10 @@ package body Ortho_Code.X86.Abi is
--Disp_Decl_Name (Get_Call_Subprg (Stmt));
New_Line;
when OE_Conv_Ov =>
+ Disp_Reg_Op_Name ("conv_ov");
+ Disp_Irm_Code (Get_Expr_Operand (Stmt));
+ New_Line;
+ when OE_Conv =>
Disp_Reg_Op_Name ("conv");
Disp_Irm_Code (Get_Expr_Operand (Stmt));
New_Line;
diff --git a/src/ortho/mcode/ortho_code-x86-emits.adb b/src/ortho/mcode/ortho_code-x86-emits.adb
index 84336818c..48aa745e6 100644
--- a/src/ortho/mcode/ortho_code-x86-emits.adb
+++ b/src/ortho/mcode/ortho_code-x86-emits.adb
@@ -1716,7 +1716,7 @@ package body Ortho_Code.X86.Emits is
begin
case Get_Expr_Mode (Stmt) is
when Mode_I32 =>
- pragma Assert (Reg_Res in Regs_R32);
+ pragma Assert (Reg_Res in Regs_R64);
if Reg_Op /= Reg_Res then
Emit_Load (Reg_Res, Op, Sz_32);
end if;