Skip to main content

carry_save_lower_with

Function carry_save_lower_with 

Source
pub fn carry_save_lower_with(
    ops: &[FabricOp],
    result: usize,
    width: u32,
    sharing: SumSharing,
    final_add: FinalAdd,
) -> (Vec<FabricOp>, usize)
Expand description

carry_save_lower with the shared sums lowered as sharing says and each compressor tree’s last two words added as final_add says. Under SumSharing::Fold an add or subtract read only by adds and subtracts never resolves, however many read it, and one its rows fold into resolves only for its other readers; a multiply read more than once still resolves once. Under FinalAdd::Native the lowering holds one Add per resolved sum and nothing else additive.