Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Target: Add mips mti baremetal support #135074

Merged
merged 3 commits into from
Jan 5, 2025
Merged

Conversation

wzssyqa
Copy link
Contributor

@wzssyqa wzssyqa commented Jan 3, 2025

Do the same thing as gcc, which use the vendor mti to mark the toolchain as MIPS32r2 default.

We support both big endian and little endian flavor:
mips-mti-none-elf
mipsel-mti-none-elf

Do the same thing as gcc, which use the vendor `mti` to mark
the toolchain as MIPS32r2 default.

We support both big endian and little endian flavor:
  mips-mti-none-elf
  mipsel-mti-none-elf
@rustbot
Copy link
Collaborator

rustbot commented Jan 3, 2025

r? @oli-obk

rustbot has assigned @oli-obk.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Jan 3, 2025
@rustbot
Copy link
Collaborator

rustbot commented Jan 3, 2025

These commits modify compiler targets.
(See the Target Tier Policy.)

Some changes occurred in src/doc/rustc/src/platform-support

cc @Noratrieb

@wzssyqa
Copy link
Contributor Author

wzssyqa commented Jan 3, 2025

I noticed #134721.
For baremetal toolchain, we may follow the gcc naming.

@rust-log-analyzer

This comment has been minimized.

@oli-obk
Copy link
Contributor

oli-obk commented Jan 3, 2025

Who is maintaining the mips targets?

@wzssyqa
Copy link
Contributor Author

wzssyqa commented Jan 5, 2025

Who is maintaining the mips targets?

It's me. I am also the MIPS maintainer of GCC/LLVM mips maintainer.

Copy link
Contributor

@oli-obk oli-obk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how is the new mipsel target different from mipsel-unknown-none and should the none target keep existing at all?

@rustbot rustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jan 5, 2025
Co-authored-by: Oli Scherer <github35764891676564198441@oli-obk.de>
@wzssyqa
Copy link
Contributor Author

wzssyqa commented Jan 5, 2025

how is the new mipsel target different from mipsel-unknown-none and should the none target keep existing at all?

Maybe we should remove unknown target or switch it to mips2 instead of mips32r2.
For the triple policy of MIPS in gcc, the default vendor (unknown) means mips1 (for 32bit) or mips3 (for 64bit).

We use the vendor mti for toolchains for MIPSr2, and img for MIPSr6.

If there is no objection, I will switch mipsel-unknown-none to mips2, due to LLVM has no mips1 support yet.

@wzssyqa
Copy link
Contributor Author

wzssyqa commented Jan 5, 2025

For -mti- toolchains we try to use lld instead of gnu ld, which is another difference.

@oli-obk
Copy link
Contributor

oli-obk commented Jan 5, 2025

@bors r+ rollup

Let's land this and look at the unknown target(s?) In follow-ups. If they have no users we should probably just remove them instead of doing sth that no one is testing that it works

@bors
Copy link
Contributor

bors commented Jan 5, 2025

📌 Commit 1a82287 has been approved by oli-obk

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Jan 5, 2025
@bors
Copy link
Contributor

bors commented Jan 5, 2025

⌛ Testing commit 1a82287 with merge 7270e73...

@bors
Copy link
Contributor

bors commented Jan 5, 2025

☀️ Test successful - checks-actions
Approved by: oli-obk
Pushing 7270e73 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Jan 5, 2025
@bors bors merged commit 7270e73 into rust-lang:master Jan 5, 2025
7 checks passed
@rustbot rustbot added this to the 1.86.0 milestone Jan 5, 2025
@rust-timer
Copy link
Collaborator

Finished benchmarking commit (7270e73): comparison URL.

Overall result: ❌✅ regressions and improvements - no action needed

@rustbot label: -perf-regression

Instruction count

This is the most reliable metric that we have; it was used to determine the overall result at the top of this comment. However, even this metric can sometimes exhibit noise.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
0.4% [0.4%, 0.5%] 3
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.2% [-0.2%, -0.2%] 1
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary -3.2%, secondary -1.7%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-3.2% [-3.2%, -3.2%] 1
Improvements ✅
(secondary)
-1.7% [-2.2%, -1.4%] 5
All ❌✅ (primary) -3.2% [-3.2%, -3.2%] 1

Cycles

Results (primary -2.3%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-2.3% [-2.3%, -2.3%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -2.3% [-2.3%, -2.3%] 1

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 763.624s -> 763.064s (-0.07%)
Artifact size: 325.63 MiB -> 325.65 MiB (0.01%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants