In mcs51/gen.c there are currently 3 copy-pasta places where it does a dptr increment/decrement operation.
The attached patch extracts it into a function and also emits an inline sequence to add/subtract larger values to/from dptr instead of emitting multiple inc dptr or lcall __decdptr