https://gcc.gnu.org/bugzilla/show_bug.cgi?id=50481
--- Comment #42 from Xi Ruoyao <xry111 at gcc dot gnu.org> --- The LoongArch bitreversehi2 somehow evades (maybe happens to evade?) the extra extension. It performs a bitreverse operation in full length GPR (i.e. 64-bit bitrev.d is used instead of 32-bit bitrev.w) first, then shifts the result, and finally sets SRP_UNSIGNED.
