diff options
author | Tristan Gingold <tgingold@free.fr> | 2020-01-19 20:52:54 +0100 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2020-01-19 20:52:54 +0100 |
commit | 763c54b90a28f868fcd77957c420390a4ad768e7 (patch) | |
tree | f4a6509e01ac89eec017fd6ed4d5381be0f9857f /src/vhdl | |
parent | 5512e8f29e701c339ad262121b18bff8b01983cc (diff) | |
download | ghdl-763c54b90a28f868fcd77957c420390a4ad768e7.tar.gz ghdl-763c54b90a28f868fcd77957c420390a4ad768e7.tar.bz2 ghdl-763c54b90a28f868fcd77957c420390a4ad768e7.zip |
synth: handle more signed operations. For #1101
Diffstat (limited to 'src/vhdl')
-rw-r--r-- | src/vhdl/vhdl-ieee-numeric.adb | 12 | ||||
-rw-r--r-- | src/vhdl/vhdl-nodes.ads | 4 |
2 files changed, 10 insertions, 6 deletions
diff --git a/src/vhdl/vhdl-ieee-numeric.adb b/src/vhdl/vhdl-ieee-numeric.adb index 2bb43e1f8..9b93ffacc 100644 --- a/src/vhdl/vhdl-ieee-numeric.adb +++ b/src/vhdl/vhdl-ieee-numeric.adb @@ -52,8 +52,8 @@ package body Vhdl.Ieee.Numeric is (Arg_Vect_Vect => Iir_Predefined_Ieee_Numeric_Std_Add_Sgn_Sgn, Arg_Vect_Scal => Iir_Predefined_Ieee_Numeric_Std_Add_Sgn_Int, Arg_Scal_Vect => Iir_Predefined_Ieee_Numeric_Std_Add_Int_Sgn, - Arg_Vect_Log => Iir_Predefined_None, - Arg_Log_Vect => Iir_Predefined_None)), + Arg_Vect_Log => Iir_Predefined_Ieee_Numeric_Std_Add_Sgn_Log, + Arg_Log_Vect => Iir_Predefined_Ieee_Numeric_Std_Add_Log_Sgn)), Pkg_Bit => (others => (others => Iir_Predefined_None))); @@ -64,14 +64,14 @@ package body Vhdl.Ieee.Numeric is (Arg_Vect_Vect => Iir_Predefined_Ieee_Numeric_Std_Sub_Uns_Uns, Arg_Vect_Scal => Iir_Predefined_Ieee_Numeric_Std_Sub_Uns_Nat, Arg_Scal_Vect => Iir_Predefined_Ieee_Numeric_Std_Sub_Nat_Uns, - Arg_Vect_Log => Iir_Predefined_None, - Arg_Log_Vect => Iir_Predefined_None), + Arg_Vect_Log => Iir_Predefined_Ieee_Numeric_Std_Sub_Uns_Log, + Arg_Log_Vect => Iir_Predefined_Ieee_Numeric_Std_Sub_Log_Uns), Type_Signed => (Arg_Vect_Vect => Iir_Predefined_Ieee_Numeric_Std_Sub_Sgn_Sgn, Arg_Vect_Scal => Iir_Predefined_Ieee_Numeric_Std_Sub_Sgn_Int, Arg_Scal_Vect => Iir_Predefined_Ieee_Numeric_Std_Sub_Int_Sgn, - Arg_Vect_Log => Iir_Predefined_None, - Arg_Log_Vect => Iir_Predefined_None)), + Arg_Vect_Log => Iir_Predefined_Ieee_Numeric_Std_Sub_Sgn_Log, + Arg_Log_Vect => Iir_Predefined_Ieee_Numeric_Std_Sub_Log_Sgn)), Pkg_Bit => (others => (others => Iir_Predefined_None))); diff --git a/src/vhdl/vhdl-nodes.ads b/src/vhdl/vhdl-nodes.ads index ca02854fc..0f9a4c213 100644 --- a/src/vhdl/vhdl-nodes.ads +++ b/src/vhdl/vhdl-nodes.ads @@ -5489,9 +5489,13 @@ package Vhdl.Nodes is Iir_Predefined_Ieee_Numeric_Std_Sub_Uns_Uns, Iir_Predefined_Ieee_Numeric_Std_Sub_Uns_Nat, Iir_Predefined_Ieee_Numeric_Std_Sub_Nat_Uns, + Iir_Predefined_Ieee_Numeric_Std_Sub_Uns_Log, + Iir_Predefined_Ieee_Numeric_Std_Sub_Log_Uns, Iir_Predefined_Ieee_Numeric_Std_Sub_Sgn_Sgn, Iir_Predefined_Ieee_Numeric_Std_Sub_Sgn_Int, Iir_Predefined_Ieee_Numeric_Std_Sub_Int_Sgn, + Iir_Predefined_Ieee_Numeric_Std_Sub_Sgn_Log, + Iir_Predefined_Ieee_Numeric_Std_Sub_Log_Sgn, Iir_Predefined_Ieee_Numeric_Std_Mul_Uns_Uns, Iir_Predefined_Ieee_Numeric_Std_Mul_Uns_Nat, |