Add MSA and f16 inline ASM support for MIPS - #160851
Conversation
|
r? @JohnTitor rustbot has assigned @JohnTitor. Use Why was this reviewer chosen?The reviewer was selected based on:
|
This comment has been minimized.
This comment has been minimized.
ce8eb57 to
592a2ea
Compare
|
|
This comment has been minimized.
This comment has been minimized.
592a2ea to
f8f3913
Compare
| } | ||
| $(Self::$field)|* => { | ||
| cb(Self::$full); | ||
| cb(self); |
There was a problem hiding this comment.
what does this do? it seems to say that a register overlaps with itself?
There was a problem hiding this comment.
Hmm apparently we're a bit inconsistent here, some of the macros do include the field itself, others don't seem to.
There was a problem hiding this comment.
I think having the cb(self) separate from the macro is more readable, so I've changed it to use that here.
|
Reminder, once the PR becomes ready for a review, use |
f8f3913 to
5113ee9
Compare
|
@rustbot ready |
| const MIPS_FEATURES: &[(&str, Stability, ImpliedFeatures)] = &[ | ||
| // tidy-alphabetical-start | ||
| ("fp64", Unstable(sym::mips_target_feature), &[]), | ||
| // FIXME(#150253): msa requires either fp64 or no hard float support at all: LLVM requires fp64 |
There was a problem hiding this comment.
And clang injects +fp64 when msa is enabled, though there is no implication in LLVM between fp64 and msa.
} else if (Arg *A = Args.getLastArg(options::OPT_mmsa)) {
if (A->getOption().matches(options::OPT_mmsa))
Features.push_back("+fp64");
}Rollup merge of #160851 - beetrees:f16-inline-asm-mips, r=folkertdev Add MSA and `f16` inline ASM support for MIPS This PR adds vector register support for MIPS inline ASM when using the MSA extension ([MSA specification](https://s3-eu-west-1.amazonaws.com/downloads-mips/documents/MD00868-1D-MSA64-AFP-01.12.pdf)), as well as adding support for the `f16` type. Ping target maintainers of MIPS targets: @Itus-Shield @Gelbpunkt @ayrtonm @LukasWoodtli @wzssyqa @chenx97 @709924470 @Cyanoxygen @Fearyncess Tracking issues: `f16` inline ASM: #125398 (part of #116909) MIPS inline ASM: #93335 MIPS target features: #150253
This PR adds vector register support for MIPS inline ASM when using the MSA extension (MSA specification), as well as adding support for the
f16type.Ping target maintainers of MIPS targets: @Itus-Shield @Gelbpunkt @ayrtonm @LukasWoodtli @wzssyqa @chenx97 @709924470 @Cyanoxygen @Fearyncess
Tracking issues:
f16inline ASM: #125398 (part of #116909)MIPS inline ASM: #93335
MIPS target features: #150253