Reading ARM Generic Interrupt Controller section 4.1.4, it has an explanation below:
Register banking refers to providing multiple copies of a register at the same address. The properties of a register access determine which copy of the register is addressed.
I'm a bit confused about at the same address.
e.g. If R12 and R12_fiq are the same register, how would the processor guarantee the original data in R12 won't be overridden in fiq mode. And is there a need to guarantee that?
I am searching for a long time on net. But no use. All the related questions doesn't help me.
I think Benoit's answer in What does 'bank'ing a register mean? is kind of help, but I'm not sure.
Thanks in advance.
------------ updated-----
Due to domen's answer, R8_usr and R8_fiq are two different registers. Sorry that I don't know how to vote him. And I also notice that in ensc's answer word 'dedicated' is mentioned, maybe he knows they are different. But due to my poor description, he doesn't emphasize that.