https://github.com/wangpc-pp created https://github.com/llvm/llvm-project/pull/90049
Masking them as `hasSideEffects=1` stops some optimizations. For saturating instructions, they may write `vxsat`. This is like floating-point instructions that may write `fflags`, but we don't model floating-point instructions as `hasSideEffects=1`. For fault-only-first instructions, I think we have made its side effect `vl` an output operand and added explict def of `VL`. These changes make optimizations like `performCombineVMergeAndVOps` and MachineCSE possible for these instructions. As a consequence, `copyprop.mir` can't test what we want to test in https://reviews.llvm.org/D155140, so we replace `vssra.vi` with a VCIX instruction (it has side effects). _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits