Add MSA and `f16` inline ASM support for MIPS
The Issue & Context
The Rust compiler lacked support for MIPS vector registers in inline assembly, specifically for the MIPS SIMD Architecture (MSA) extension, and did not support the `f16` (half-precision float) type in inline assembly.
Root Cause Analysis
Without explicit support in the compiler's inline assembly infrastructure, developers could not use MSA vector registers or the `f16` type in inline assembly blocks targeting MIPS, limiting performance optimizations and hardware feature utilization.
Solution Strategy & Architectural Pattern
This PR implemented vector register support for MIPS inline assembly by adding MSA extension handling according to the MSA specification and introduced support for the `f16` type in inline assembly. The changes spanned 18 files, updating register definitions, type handling, and target features to enable these capabilities.
Key Takeaway for Contributors
Adding hardware-specific inline assembly support requires coordinated updates to register and type handling in the compiler backend, and enabling `f16` support expands Rust's capability to leverage modern MIPS features for performance-critical code.