There are optimized rules for vector not/and_not in neon and sve, like:
```
match(Set dst (XorV src (ReplicateB m1)));
match(Set dst (XorV src (ReplicateS m1)));
match(Set dst (XorV src (ReplicateI m1)));
```
And the rules for vector mask in sve like:
match(Set pd (AndVMask pn (XorVMask pm (MaskAll m1))));
It can be influenced if "MaskAll" or "Replicate" is not single used.
```
match(Set dst (XorV src (ReplicateB m1)));
match(Set dst (XorV src (ReplicateS m1)));
match(Set dst (XorV src (ReplicateI m1)));
```
And the rules for vector mask in sve like:
match(Set pd (AndVMask pn (XorVMask pm (MaskAll m1))));
It can be influenced if "MaskAll" or "Replicate" is not single used.