aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/vhdl-ieee-numeric.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2019-09-07 16:35:06 +0200
committerTristan Gingold <tgingold@free.fr>2019-09-07 16:35:06 +0200
commit1c29fa09e1f71e7fb389f451afab3bd2fb1264ab (patch)
tree73dd3a0c90c87aa445439047d4436fff313107e8 /src/vhdl/vhdl-ieee-numeric.adb
parent34269470ff0d36c3b0b45a2daa9390bddabe2050 (diff)
downloadghdl-1c29fa09e1f71e7fb389f451afab3bd2fb1264ab.tar.gz
ghdl-1c29fa09e1f71e7fb389f451afab3bd2fb1264ab.tar.bz2
ghdl-1c29fa09e1f71e7fb389f451afab3bd2fb1264ab.zip
vhdl: recognize numeric_std mul.
Diffstat (limited to 'src/vhdl/vhdl-ieee-numeric.adb')
-rw-r--r--src/vhdl/vhdl-ieee-numeric.adb20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/vhdl/vhdl-ieee-numeric.adb b/src/vhdl/vhdl-ieee-numeric.adb
index cf0f7db26..4d5c0d5e3 100644
--- a/src/vhdl/vhdl-ieee-numeric.adb
+++ b/src/vhdl/vhdl-ieee-numeric.adb
@@ -73,6 +73,24 @@ package body Vhdl.Ieee.Numeric is
(others =>
(others => Iir_Predefined_None)));
+ Mul_Patterns : constant Binary_Pattern_Type :=
+ (Pkg_Std =>
+ (Type_Unsigned =>
+ (Arg_Vect_Vect => Iir_Predefined_Ieee_Numeric_Std_Mul_Uns_Uns,
+ Arg_Vect_Scal => Iir_Predefined_Ieee_Numeric_Std_Mul_Uns_Nat,
+ Arg_Scal_Vect => Iir_Predefined_Ieee_Numeric_Std_Mul_Nat_Uns,
+ Arg_Vect_Log => Iir_Predefined_None,
+ Arg_Log_Vect => Iir_Predefined_None),
+ Type_Signed =>
+ (Arg_Vect_Vect => Iir_Predefined_Ieee_Numeric_Std_Mul_Sgn_Sgn,
+ Arg_Vect_Scal => Iir_Predefined_Ieee_Numeric_Std_Mul_Sgn_Int,
+ Arg_Scal_Vect => Iir_Predefined_Ieee_Numeric_Std_Mul_Int_Sgn,
+ Arg_Vect_Log => Iir_Predefined_None,
+ Arg_Log_Vect => Iir_Predefined_None)),
+ Pkg_Bit =>
+ (others =>
+ (others => Iir_Predefined_None)));
+
Eq_Patterns : constant Binary_Pattern_Type :=
(Pkg_Std =>
(Type_Unsigned =>
@@ -533,6 +551,8 @@ package body Vhdl.Ieee.Numeric is
Handle_Binary (Add_Patterns);
when Name_Op_Minus =>
Handle_Binary (Sub_Patterns);
+ when Name_Op_Mul =>
+ Handle_Binary (Mul_Patterns);
when Name_Op_Equality =>
Handle_Binary (Eq_Patterns);
when Name_Op_Inequality =>