'unsupported instruction 'mov' in inline asm moving control register to uint32_t

I am using an assembly code in a C function. But gcc gives unsupported instruction 'mov' error for the following code:

uint32_t faulting_address;
asm volatile("mov %%cr2, %0" : "=r" (faulting_address));  

I don't understand what is wrong with this.



Sources

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

Source: Stack Overflow

Solution Source