Define below macros according to LoongArch toolchain conventions [1].
- __loongarch_grlen
- __loongarch_frlen
- __loongarch_lp64
- __loongarch_hard_float
- __loongarch_soft_float
- __loongarch_single_float
- __loongarch_double_float
And __loongarch64 for compatibility with existing code.
Note:
- __loongarch__ is already covered.
- __loongarch_arch is not defined because I don't know how to access the arch name specified by -march in TargetInfo.
- __loongarch_tune will be defined in the future.
[1]: https://loongson.github.io/LoongArch-Documentation/LoongArch-toolchain-conventions-EN.html
Depends on D136146