As of today we only use .cfi_offset to specify the offset of a CSR, but we never use .cfi_restore when the CSR is restored.
If we want to perform a more advanced type of shrink-wrapping, we need to use .cfi_restore in order to switch the CFI state between blocks.
This patch only aims at adding support for the directive.
I didn't see a test for this bit here.