tschuett wrote: If I read it correctly, the DAG is doing the push only for trunc: https://github.com/llvm/llvm-project/blob/80c51fad3b683c8c9ee4c26aa41eda2f78a29627/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp#L15033 https://github.com/llvm/llvm-project/pull/104634