Right now in source code we follow vendor names and not LLVM ones (e.g. rdrand and not rdrnd). Translation is handled here. But when enabling target feature via rustc flags we have to use LLVM names, i.e. -C target-feature=+rdrnd and +rdrand will not work. So we have inconsistency on our hands.
At the very least vendor names provided in rustc flags should be translated to LLVM ones. Additionally I think we should not expose LLVM names at all, including in rustc --print target-features.
Relevant: #50077, #48369
Right now in source code we follow vendor names and not LLVM ones (e.g.
rdrandand notrdrnd). Translation is handled here. But when enabling target feature viarustcflags we have to use LLVM names, i.e.-C target-feature=+rdrndand+rdrandwill not work. So we have inconsistency on our hands.At the very least vendor names provided in
rustcflags should be translated to LLVM ones. Additionally I think we should not expose LLVM names at all, including inrustc --print target-features.Relevant: #50077, #48369