3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-05-17 04:34:47 +00:00
yosys/tests/opt
Krystine Sherwin 406b400458
opt_expr: Fix #4590
If all the (non-select) inputs of a `$_MUX{4,8,16}_` are undefined, replace it, just like we do for `$mux` and `$_MUX_`.
Add `tests/opt/opt_expr_mux_undef.ys` to verify this.

This doesn't do any const folding on the wide muxes, or shrinking to less wide muxes.  It only handles the case where all inputs are 'x and the mux can be completely removed.
2025-04-04 12:25:31 +13:00
..
.gitignore
bug1525.ys
bug1758.ys
bug1854.ys
bug2010.ys
bug2221.ys
bug2311.ys
bug2318.ys
bug2623.ys
bug2765.ys
bug2766.ys
bug2824.ys
bug2920.ys Remove references to ilang 2024-11-05 12:36:31 +13:00
bug3047.ys
bug3117.ys
bug3848.ys opt_share: Fix input confusion with ANDNOT, ORNOT gates 2023-07-20 20:58:52 +01:00
bug3867.ys opt_expr: Fix 'signed X>=0' replacement for wide output ports 2023-08-01 13:50:12 +01:00
bug4413.ys peepopt: avoid shift-amount underflow 2024-06-13 23:30:07 +02:00
bug4610.ys tests: replace read_ilang with read_rtlil 2024-11-20 14:54:23 +01:00
memory_bmux2rom.ys Remove references to ilang 2024-11-05 12:36:31 +13:00
memory_dff_trans.ys
memory_map_offset.ys
opt_clean_init.ys
opt_clean_mem.ys
opt_dff_arst.ys
opt_dff_clk.ys
opt_dff_const.ys
opt_dff_dffmux.ys
opt_dff_en.ys Fix tests for check in equiv_opt 2022-10-07 16:04:51 +02:00
opt_dff_mux.ys Fix tests for check in equiv_opt 2022-10-07 16:04:51 +02:00
opt_dff_qd.ys tests: Remove part of test involving combinational loops 2024-03-11 10:45:36 +01:00
opt_dff_sr.ys Re-enable opt_dff_sr equiv_opt checks 2022-10-07 16:04:51 +02:00
opt_dff_srst.ys
opt_expr.ys
opt_expr_alu.ys
opt_expr_and.ys
opt_expr_cmp.v
opt_expr_cmp.ys
opt_expr_combined_assign.ys
opt_expr_constconn.v
opt_expr_constconn.ys
opt_expr_consumex.ys
opt_expr_more.ys opt_expr: expand test coverage 2025-03-31 19:31:53 +02:00
opt_expr_mux_undef.ys opt_expr: Fix #4590 2025-04-04 12:25:31 +13:00
opt_expr_or.ys
opt_expr_shr_int_max.ys Add test for shifting by INT_MAX 2025-02-14 14:01:27 +13:00
opt_expr_xnor.ys simplemap: Map $xnor to $_XNOR_ cells 2022-11-29 19:06:45 +01:00
opt_expr_xor.ys simplemap: Map $xnor to $_XNOR_ cells 2022-11-29 19:06:45 +01:00
opt_lut.v
opt_lut.ys
opt_lut_elim.il
opt_lut_elim.ys Remove references to ilang 2024-11-05 12:36:31 +13:00
opt_lut_ins.ys Remove references to ilang 2024-11-05 12:36:31 +13:00
opt_lut_port.il
opt_lut_port.ys Remove references to ilang 2024-11-05 12:36:31 +13:00
opt_mem_feedback.ys
opt_mem_priority.ys
opt_merge_basic.ys opt_merge: test more kinds of cells 2025-03-10 13:14:06 +01:00
opt_merge_init.ys
opt_merge_keep.ys
opt_pow.ys opt_expr: add test 2025-04-01 21:54:46 +03:00
opt_reduce_andor.ys opt_reduce: add test for constant $reduce_and/or not being zero width 2024-09-25 16:28:41 +01:00
opt_reduce_bmux.ys Remove references to ilang 2024-11-05 12:36:31 +13:00
opt_reduce_demux.ys Remove references to ilang 2024-11-05 12:36:31 +13:00
opt_rmdff.v
opt_rmdff.ys
opt_rmdff_sat.v
opt_rmdff_sat.ys
opt_share_add_sub.v
opt_share_add_sub.ys
opt_share_bug2334.ys
opt_share_bug2335.ys
opt_share_bug2336.ys
opt_share_bug2538.ys
opt_share_cat.v
opt_share_cat.ys
opt_share_cat_multiuser.v
opt_share_cat_multiuser.ys
opt_share_diff_port_widths.v
opt_share_diff_port_widths.ys
opt_share_extend.v
opt_share_extend.ys
opt_share_large_pmux_cat.v
opt_share_large_pmux_cat.ys
opt_share_large_pmux_cat_multipart.v
opt_share_large_pmux_cat_multipart.ys
opt_share_large_pmux_multipart.v
opt_share_large_pmux_multipart.ys
opt_share_large_pmux_part.v
opt_share_large_pmux_part.ys
opt_share_mux_tree.v
opt_share_mux_tree.ys
run-test.sh test: restore verific handling, nicer naming 2024-12-13 10:24:47 +01:00