amd64.rules contains a fair number of rules that are conditional on config.PtrSize, to support amd64p32. See CL 46870 for a recent example. To reduce duplication, I suggest we add ops whose lowering depends on pointer size. So for example, instead of:
Sounds ok to me. You are, however, trading verbosity in some places for verbosity elsewhere.
You're removing a IsInBounds rule, but then you need a CMPconstptr op, rules to generate that op, etc.
It's not clear to me that it is a net win. If it is, go for it.