Uses compiler-rt for multiplication and shifting left, while lowers it down using regular instructions for xor.