I've refactored the code to genericise the implementation to better allow for target specific constrained fp intrinsics.
llvm.lifetime.end
cttz(lshr(-1, x) + 1)
width - x
hipstdpar