I was recently posed with this question. I am studying the ARM architecture, and I have tried researching it, but I feel like I do not got the right answer.
My idea is that the key reason is that to avoid messing with the ongoing interrupts, we use the set-enable registers for enabling all interrupts and the clear-enable registers for disabling all interrupts.
Is that the correct reason? Is there a deeper explanation behind it? Is there some document explaining this design decision?
EDIT: Sorry, the chip I'm working with is the Cortex M4