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

Add riscv vxworks targets #130549

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

biabbas
Copy link
Contributor

@biabbas biabbas commented Sep 19, 2024

Risc 32 and risc 64 targets are to be added in the target list.

@rustbot
Copy link
Collaborator

rustbot commented Sep 19, 2024

r? @nnethercote

rustbot has assigned @nnethercote.
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 Sep 19, 2024
@rustbot
Copy link
Collaborator

rustbot commented Sep 19, 2024

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

@rustbot
Copy link
Collaborator

rustbot commented Sep 19, 2024

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

cc @Noratrieb

@rust-log-analyzer

This comment has been minimized.

@biabbas biabbas marked this pull request as draft September 19, 2024 08:14
@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@biabbas biabbas marked this pull request as ready for review September 19, 2024 10:59
@biabbas biabbas marked this pull request as draft September 19, 2024 11:02
@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@biabbas biabbas marked this pull request as ready for review September 19, 2024 12:08
@biabbas biabbas marked this pull request as draft September 19, 2024 12:10
description: None,
tier: Some(3),
host_tools: Some(false),
std: None, // ?

Choose a reason for hiding this comment

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

What is // ? for?

cpu: "generic-rv64".into(),
llvm_abiname: "lp64d".into(),
max_atomic_width: Some(64),
features: "+m,+a,+f,+d,+c,+zicsr".into(),

Choose a reason for hiding this comment

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

On clang there is the -print-enabled-extensions option. When I pass that with -mcpu=generic-rv64 which is defined by the RISC-V LLVM backend, this is the output:

Extensions enabled for the given RISC-V target

    Name                 Version   Description
    i                    2.1       'I' (Base Integer Instruction Set)
    m                    2.0       'M' (Integer Multiplication and Division)
    a                    2.1       'A' (Atomic Instructions)
    f                    2.2       'F' (Single-Precision Floating-Point)
    d                    2.2       'D' (Double-Precision Floating-Point)
    c                    2.0       'C' (Compressed Instructions)
    zicsr                2.0       'zicsr' (CSRs)
    zifencei             2.0       'Zifencei' (fence.i)
    zmmul                1.0       'Zmmul' (Integer Multiplication)

Are we missing features here?

cpu: "generic-rv32".into(),
llvm_abiname: "ilp32d".into(),
max_atomic_width: Some(32),
features: "+m,+a,+f,+d,+c,+zicsr".into(),

Choose a reason for hiding this comment

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

On clang there is the -print-enabled-extensions option. When I pass that with -mcpu=generic-rv32 which is defined by the RISC-V LLVM backend, this is the output:

Extensions enabled for the given RISC-V target

    Name                 Version   Description
    i                    2.1       'I' (Base Integer Instruction Set)
    m                    2.0       'M' (Integer Multiplication and Division)
    a                    2.1       'A' (Atomic Instructions)
    f                    2.2       'F' (Single-Precision Floating-Point)
    d                    2.2       'D' (Double-Precision Floating-Point)
    c                    2.0       'C' (Compressed Instructions)
    zicsr                2.0       'zicsr' (CSRs)
    zifencei             2.0       'Zifencei' (fence.i)
    zmmul                1.0       'Zmmul' (Integer Multiplication)

Are we missing features here?

@michaelmaitland
Copy link

Nit: Risc 32 and risc 64 targets are to be added in the target list. should say RISC-V instead of Risc and risc in PR description.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants