'Access to AArch32 registers in AArch64 state

I saw the following sentences when learning ARMv8 exception handing:

When taking an exception from AArch32 to AArch64, there are some special considerations. AArch64 handler code can require access to AArch32 registers and the architecture therefore defines mappings to allow access to AArch32 registers.

And there is the banking map: enter image description here

So I want to ask:

  1. When and why we need to access AArch32 registers in AArch64 state?
  2. Is this mapping table visible to programmers? Whether we need to write corresponding Wn when coding? or just Rn?


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source