zahiraam wrote: > double foo(); > double d = 2.0 * foo(); That's correct. Only for division and only `-fcomplex-arithmetic=promoted` and when the higher precision type of a target is the same than the current precision type. https://github.com/llvm/llvm-project/pull/107397