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

[RISCV] Incorrect definition of InsnCI #100112

Closed
svs-quic opened this issue Jul 23, 2024 · 1 comment · Fixed by #100113
Closed

[RISCV] Incorrect definition of InsnCI #100112

svs-quic opened this issue Jul 23, 2024 · 1 comment · Fixed by #100113

Comments

@svs-quic
Copy link
Contributor

According to the spec:

26.2. Compressed Instruction Formats
CR, CI, and CSS can use any of the 32 RVI registers, but CIW, CL, CS, CA, and CB are limited to just 8 of them.

But the definition in RISCVInstrInfoC.td has it taking AnyRegC. This should be AnyReg.

def InsnCI : DirectiveInsnCI<(outs AnyRegC:$rd), (ins uimm2_opcode:$opcode,
@llvmbot
Copy link
Collaborator

llvmbot commented Jul 23, 2024

@llvm/issue-subscribers-backend-risc-v

Author: Sudharsan Veeravalli (svs-quic)

According to the spec:

> 26.2. Compressed Instruction Formats
> CR, CI, and CSS can use any of the 32 RVI registers, but CIW, CL, CS, CA, and CB are limited to just 8 of them.

But the definition in RISCVInstrInfoC.td has it taking AnyRegC. This should be AnyReg.

def InsnCI : DirectiveInsnCI&lt;(outs AnyRegC:$rd), (ins uimm2_opcode:$opcode,

sgundapa pushed a commit to sgundapa/upstream_effort that referenced this issue Jul 23, 2024
According to the spec the CI type instructions can take any of the 32
RVI registers.

Fixes llvm#100112
llvmbot pushed a commit to llvmbot/llvm-project that referenced this issue Jul 24, 2024
According to the spec the CI type instructions can take any of the 32
RVI registers.

Fixes llvm#100112

(cherry picked from commit 1ebfc81)
lenary pushed a commit to llvmbot/llvm-project that referenced this issue Jul 24, 2024
According to the spec the CI type instructions can take any of the 32
RVI registers.

Fixes llvm#100112

(cherry picked from commit 1ebfc81)
tru pushed a commit to llvmbot/llvm-project that referenced this issue Jul 24, 2024
According to the spec the CI type instructions can take any of the 32
RVI registers.

Fixes llvm#100112

(cherry picked from commit 1ebfc81)
yuxuanchen1997 pushed a commit that referenced this issue Jul 25, 2024
Summary:
According to the spec the CI type instructions can take any of the 32
RVI registers.

Fixes #100112

Test Plan: 

Reviewers: 

Subscribers: 

Tasks: 

Tags: 


Differential Revision: https://phabricator.intern.facebook.com/D60251158
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants