+++ title = "Stability of MAC optimisation in Vericert" date = "2022-11-09" author = "Yann Herklotz" tags = [] categories = [] backlinks = ["1c4b"] forwardlinks = ["5b3"] zettelid = "1c4b1" +++ MAC Optimisations ([\#5b3]) for a fused multiply-add operation is not very stable, because if the intermediate register is used anywhere else, then it will not be able to fuse the two instructions. This means that from a local perspective it looks quite random whether or not a series of multipliers and adds are actually fused. The decision needs a global property of whether that register is used anywhere, which means that it is quite unreliable if it will fire or not. [\#5b3]: /zettel/5b3