diff options
author | Tristan Gingold <tgingold@free.fr> | 2020-05-19 05:36:56 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2020-05-19 06:09:12 +0200 |
commit | b2354de2756c4b51acebcbf90df1c81069d0c7b7 (patch) | |
tree | ecb7cbc3b727fbf8ef63963eaf50c7f7112a3ddc /src | |
parent | 88a57f9390b638db0626d185773a50376a256c99 (diff) | |
download | ghdl-b2354de2756c4b51acebcbf90df1c81069d0c7b7.tar.gz ghdl-b2354de2756c4b51acebcbf90df1c81069d0c7b7.tar.bz2 ghdl-b2354de2756c4b51acebcbf90df1c81069d0c7b7.zip |
vhdl-nodes: Rename and move shift/rotate predefined functions. Fix #1325
Diffstat (limited to 'src')
-rw-r--r-- | src/synth/synth-oper.adb | 12 | ||||
-rw-r--r-- | src/synth/synth-static_oper.adb | 11 | ||||
-rw-r--r-- | src/vhdl/vhdl-ieee-numeric.adb | 16 | ||||
-rw-r--r-- | src/vhdl/vhdl-nodes.ads | 18 |
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, |