diff options
-rw-r--r-- | python/libghdl/thin/vhdl/nodes.py | 74 | ||||
-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 |
5 files changed, 64 insertions, 67 deletions
diff --git a/python/libghdl/thin/vhdl/nodes.py b/python/libghdl/thin/vhdl/nodes.py index dd79111ce..d40f1560e 100644 --- a/python/libghdl/thin/vhdl/nodes.py +++ b/python/libghdl/thin/vhdl/nodes.py @@ -1318,43 +1318,43 @@ class Iir_Predefined: Ieee_Numeric_Std_Sla_Sgn_Int = 340 Ieee_Numeric_Std_Sra_Uns_Int = 341 Ieee_Numeric_Std_Sra_Sgn_Int = 342 - Ieee_Numeric_Std_Rol_Uns_Nat = 343 - Ieee_Numeric_Std_Ror_Uns_Nat = 344 - Ieee_Numeric_Std_Rol_Sgn_Nat = 345 - Ieee_Numeric_Std_Ror_Sgn_Nat = 346 - Ieee_Numeric_Std_And_Uns_Uns = 347 - Ieee_Numeric_Std_And_Sgn_Sgn = 348 - Ieee_Numeric_Std_Or_Uns_Uns = 349 - Ieee_Numeric_Std_Or_Sgn_Sgn = 350 - Ieee_Numeric_Std_Nand_Uns_Uns = 351 - Ieee_Numeric_Std_Nand_Sgn_Sgn = 352 - Ieee_Numeric_Std_Nor_Uns_Uns = 353 - Ieee_Numeric_Std_Nor_Sgn_Sgn = 354 - Ieee_Numeric_Std_Xor_Uns_Uns = 355 - Ieee_Numeric_Std_Xor_Sgn_Sgn = 356 - Ieee_Numeric_Std_Xnor_Uns_Uns = 357 - Ieee_Numeric_Std_Xnor_Sgn_Sgn = 358 - Ieee_Numeric_Std_Not_Uns = 359 - Ieee_Numeric_Std_Not_Sgn = 360 - Ieee_Numeric_Std_Abs_Sgn = 361 - Ieee_Numeric_Std_Neg_Uns = 362 - Ieee_Numeric_Std_Neg_Sgn = 363 - Ieee_Numeric_Std_Min_Uns_Uns = 364 - Ieee_Numeric_Std_Min_Uns_Nat = 365 - Ieee_Numeric_Std_Min_Nat_Uns = 366 - Ieee_Numeric_Std_Min_Sgn_Sgn = 367 - Ieee_Numeric_Std_Min_Sgn_Int = 368 - Ieee_Numeric_Std_Min_Int_Sgn = 369 - Ieee_Numeric_Std_Max_Uns_Uns = 370 - Ieee_Numeric_Std_Max_Uns_Nat = 371 - Ieee_Numeric_Std_Max_Nat_Uns = 372 - Ieee_Numeric_Std_Max_Sgn_Sgn = 373 - Ieee_Numeric_Std_Max_Sgn_Int = 374 - Ieee_Numeric_Std_Max_Int_Sgn = 375 - Ieee_Numeric_Std_Shl_Uns_Nat = 376 - Ieee_Numeric_Std_Shr_Uns_Nat = 377 - Ieee_Numeric_Std_Shl_Sgn_Nat = 378 - Ieee_Numeric_Std_Shr_Sgn_Nat = 379 + Ieee_Numeric_Std_And_Uns_Uns = 343 + Ieee_Numeric_Std_And_Sgn_Sgn = 344 + Ieee_Numeric_Std_Or_Uns_Uns = 345 + Ieee_Numeric_Std_Or_Sgn_Sgn = 346 + Ieee_Numeric_Std_Nand_Uns_Uns = 347 + Ieee_Numeric_Std_Nand_Sgn_Sgn = 348 + Ieee_Numeric_Std_Nor_Uns_Uns = 349 + Ieee_Numeric_Std_Nor_Sgn_Sgn = 350 + Ieee_Numeric_Std_Xor_Uns_Uns = 351 + Ieee_Numeric_Std_Xor_Sgn_Sgn = 352 + Ieee_Numeric_Std_Xnor_Uns_Uns = 353 + Ieee_Numeric_Std_Xnor_Sgn_Sgn = 354 + Ieee_Numeric_Std_Not_Uns = 355 + Ieee_Numeric_Std_Not_Sgn = 356 + Ieee_Numeric_Std_Abs_Sgn = 357 + Ieee_Numeric_Std_Neg_Uns = 358 + Ieee_Numeric_Std_Neg_Sgn = 359 + Ieee_Numeric_Std_Min_Uns_Uns = 360 + Ieee_Numeric_Std_Min_Uns_Nat = 361 + Ieee_Numeric_Std_Min_Nat_Uns = 362 + Ieee_Numeric_Std_Min_Sgn_Sgn = 363 + Ieee_Numeric_Std_Min_Sgn_Int = 364 + Ieee_Numeric_Std_Min_Int_Sgn = 365 + Ieee_Numeric_Std_Max_Uns_Uns = 366 + Ieee_Numeric_Std_Max_Uns_Nat = 367 + Ieee_Numeric_Std_Max_Nat_Uns = 368 + Ieee_Numeric_Std_Max_Sgn_Sgn = 369 + Ieee_Numeric_Std_Max_Sgn_Int = 370 + Ieee_Numeric_Std_Max_Int_Sgn = 371 + Ieee_Numeric_Std_Shf_Left_Uns_Nat = 372 + Ieee_Numeric_Std_Shf_Right_Uns_Nat = 373 + Ieee_Numeric_Std_Shf_Left_Sgn_Nat = 374 + Ieee_Numeric_Std_Shf_Right_Sgn_Nat = 375 + Ieee_Numeric_Std_Rot_Left_Uns_Nat = 376 + Ieee_Numeric_Std_Rot_Right_Uns_Nat = 377 + Ieee_Numeric_Std_Rot_Left_Sgn_Nat = 378 + Ieee_Numeric_Std_Rot_Right_Sgn_Nat = 379 Ieee_Numeric_Std_Match_Log = 380 Ieee_Numeric_Std_Match_Uns = 381 Ieee_Numeric_Std_Match_Sgn = 382 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, |