aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/synth/synth-oper.adb12
-rw-r--r--src/synth/synth-static_oper.adb11
-rw-r--r--src/vhdl/vhdl-ieee-numeric.adb16
-rw-r--r--src/vhdl/vhdl-nodes.ads18
4 files changed, 27 insertions, 30 deletions
diff --git a/src/synth/synth-oper.adb b/src/synth/synth-oper.adb
index c34ec4875..22e455b55 100644
--- a/src/synth/synth-oper.adb
+++ b/src/synth/synth-oper.adb
@@ -1638,16 +1638,16 @@ package body Synth.Oper is
W, Get_Location (Expr)),
Create_Vec_Type_By_Length (W, Logic_Type));
end;
- when Iir_Predefined_Ieee_Numeric_Std_Shl_Uns_Nat
- | Iir_Predefined_Ieee_Numeric_Std_Shl_Sgn_Nat =>
+ when Iir_Predefined_Ieee_Numeric_Std_Shf_Left_Uns_Nat
+ | Iir_Predefined_Ieee_Numeric_Std_Shf_Left_Sgn_Nat =>
return Synth_Shift_Rotate (Ctxt, Id_Lsl, L, R, Expr);
- when Iir_Predefined_Ieee_Numeric_Std_Shr_Uns_Nat =>
+ when Iir_Predefined_Ieee_Numeric_Std_Shf_Right_Uns_Nat =>
return Synth_Shift_Rotate (Ctxt, Id_Lsr, L, R, Expr);
- when Iir_Predefined_Ieee_Numeric_Std_Shr_Sgn_Nat =>
+ when Iir_Predefined_Ieee_Numeric_Std_Shf_Right_Sgn_Nat =>
return Synth_Shift_Rotate (Ctxt, Id_Asr, L, R, Expr);
- when Iir_Predefined_Ieee_Numeric_Std_Rol_Uns_Nat =>
+ when Iir_Predefined_Ieee_Numeric_Std_Rot_Left_Uns_Nat =>
return Synth_Shift_Rotate (Ctxt, Id_Rol, L, R, Expr);
- when Iir_Predefined_Ieee_Numeric_Std_Ror_Uns_Nat =>
+ when Iir_Predefined_Ieee_Numeric_Std_Rot_Right_Uns_Nat =>
return Synth_Shift_Rotate (Ctxt, Id_Ror, L, R, Expr);
when Iir_Predefined_Ieee_Numeric_Std_Min_Uns_Uns =>
diff --git a/src/synth/synth-static_oper.adb b/src/synth/synth-static_oper.adb
index b2c56aa8d..ade651703 100644
--- a/src/synth/synth-static_oper.adb
+++ b/src/synth/synth-static_oper.adb
@@ -847,19 +847,16 @@ package body Synth.Static_Oper is
return Create_Memory_Discrete
(Eval_Signed_To_Integer (Get_Memtyp (Param1), Expr), Res_Typ);
- when Iir_Predefined_Ieee_Numeric_Std_Shl_Uns_Nat =>
+ when Iir_Predefined_Ieee_Numeric_Std_Shf_Left_Uns_Nat
+ | Iir_Predefined_Ieee_Numeric_Std_Shf_Left_Sgn_Nat =>
return Shift_Vec
(Get_Memtyp (Param1), Uns32 (Read_Discrete (Param2)),
False, False);
- when Iir_Predefined_Ieee_Numeric_Std_Shl_Sgn_Nat =>
- return Shift_Vec
- (Get_Memtyp (Param1), Uns32 (Read_Discrete (Param2)),
- False, False);
- when Iir_Predefined_Ieee_Numeric_Std_Shr_Uns_Nat =>
+ when Iir_Predefined_Ieee_Numeric_Std_Shf_Right_Uns_Nat =>
return Shift_Vec
(Get_Memtyp (Param1), Uns32 (Read_Discrete (Param2)),
True, False);
- when Iir_Predefined_Ieee_Numeric_Std_Shr_Sgn_Nat =>
+ when Iir_Predefined_Ieee_Numeric_Std_Shf_Right_Sgn_Nat =>
return Shift_Vec
(Get_Memtyp (Param1), Uns32 (Read_Discrete (Param2)),
True, True);
diff --git a/src/vhdl/vhdl-ieee-numeric.adb b/src/vhdl/vhdl-ieee-numeric.adb
index 7be77ac8f..db368c380 100644
--- a/src/vhdl/vhdl-ieee-numeric.adb
+++ b/src/vhdl/vhdl-ieee-numeric.adb
@@ -494,20 +494,20 @@ package body Vhdl.Ieee.Numeric is
(others => Iir_Predefined_None)));
Shl_Patterns : constant Shift_Pattern_Type :=
- (Type_Signed => Iir_Predefined_Ieee_Numeric_Std_Shl_Sgn_Nat,
- Type_Unsigned => Iir_Predefined_Ieee_Numeric_Std_Shl_Uns_Nat);
+ (Type_Signed => Iir_Predefined_Ieee_Numeric_Std_Shf_Left_Sgn_Nat,
+ Type_Unsigned => Iir_Predefined_Ieee_Numeric_Std_Shf_Left_Uns_Nat);
Shr_Patterns : constant Shift_Pattern_Type :=
- (Type_Signed => Iir_Predefined_Ieee_Numeric_Std_Shr_Sgn_Nat,
- Type_Unsigned => Iir_Predefined_Ieee_Numeric_Std_Shr_Uns_Nat);
+ (Type_Signed => Iir_Predefined_Ieee_Numeric_Std_Shf_Right_Sgn_Nat,
+ Type_Unsigned => Iir_Predefined_Ieee_Numeric_Std_Shf_Right_Uns_Nat);
Rol_Patterns : constant Shift_Pattern_Type :=
- (Type_Signed => Iir_Predefined_Ieee_Numeric_Std_Rol_Sgn_Nat,
- Type_Unsigned => Iir_Predefined_Ieee_Numeric_Std_Rol_Uns_Nat);
+ (Type_Signed => Iir_Predefined_Ieee_Numeric_Std_Rot_Left_Sgn_Nat,
+ Type_Unsigned => Iir_Predefined_Ieee_Numeric_Std_Rot_Left_Uns_Nat);
Ror_Patterns : constant Shift_Pattern_Type :=
- (Type_Signed => Iir_Predefined_Ieee_Numeric_Std_Ror_Sgn_Nat,
- Type_Unsigned => Iir_Predefined_Ieee_Numeric_Std_Ror_Uns_Nat);
+ (Type_Signed => Iir_Predefined_Ieee_Numeric_Std_Rot_Right_Sgn_Nat,
+ Type_Unsigned => Iir_Predefined_Ieee_Numeric_Std_Rot_Right_Uns_Nat);
Sll_Patterns : constant Shift_Pattern_Type :=
(Type_Signed => Iir_Predefined_Ieee_Numeric_Std_Sll_Sgn_Int,
diff --git a/src/vhdl/vhdl-nodes.ads b/src/vhdl/vhdl-nodes.ads
index 50ffbfcb0..bc37733d6 100644
--- a/src/vhdl/vhdl-nodes.ads
+++ b/src/vhdl/vhdl-nodes.ads
@@ -5642,11 +5642,6 @@ package Vhdl.Nodes is
Iir_Predefined_Ieee_Numeric_Std_Sra_Uns_Int,
Iir_Predefined_Ieee_Numeric_Std_Sra_Sgn_Int,
- Iir_Predefined_Ieee_Numeric_Std_Rol_Uns_Nat,
- Iir_Predefined_Ieee_Numeric_Std_Ror_Uns_Nat,
- Iir_Predefined_Ieee_Numeric_Std_Rol_Sgn_Nat,
- Iir_Predefined_Ieee_Numeric_Std_Ror_Sgn_Nat,
-
Iir_Predefined_Ieee_Numeric_Std_And_Uns_Uns,
Iir_Predefined_Ieee_Numeric_Std_And_Sgn_Sgn,
@@ -5691,10 +5686,15 @@ package Vhdl.Nodes is
Iir_Predefined_Ieee_Numeric_Std_Max_Int_Sgn,
-- Shift and rotate functions.
- Iir_Predefined_Ieee_Numeric_Std_Shl_Uns_Nat,
- Iir_Predefined_Ieee_Numeric_Std_Shr_Uns_Nat,
- Iir_Predefined_Ieee_Numeric_Std_Shl_Sgn_Nat,
- Iir_Predefined_Ieee_Numeric_Std_Shr_Sgn_Nat,
+ Iir_Predefined_Ieee_Numeric_Std_Shf_Left_Uns_Nat,
+ Iir_Predefined_Ieee_Numeric_Std_Shf_Right_Uns_Nat,
+ Iir_Predefined_Ieee_Numeric_Std_Shf_Left_Sgn_Nat,
+ Iir_Predefined_Ieee_Numeric_Std_Shf_Right_Sgn_Nat,
+
+ Iir_Predefined_Ieee_Numeric_Std_Rot_Left_Uns_Nat,
+ Iir_Predefined_Ieee_Numeric_Std_Rot_Right_Uns_Nat,
+ Iir_Predefined_Ieee_Numeric_Std_Rot_Left_Sgn_Nat,
+ Iir_Predefined_Ieee_Numeric_Std_Rot_Right_Sgn_Nat,
-- Std_Match functions.
Iir_Predefined_Ieee_Numeric_Std_Match_Log,