IanTaylerLessa-arm wrote: Yes, exactly. The reasoning is similar to why the existing `NonNarrowingCastsOptimization` avoids optimizing sequences like `i32 -> i8 -> i32` but does optimize `i8 -> i32 -> i8`. https://github.com/llvm/llvm-project/pull/188018