Skip to content

[hardware] 🐛 Write vd[0] in vslide1up when vl is 1 - #517

Open
davidharrishmc wants to merge 1 commit into
pulp-platform:mainfrom
davidharrishmc:fix/vslide1up-vl1
Open

davidharrishmc wants to merge 1 commit into
pulp-platform:mainfrom
davidharrishmc:fix/vslide1up-vl1

Conversation

@davidharrishmc

Copy link
Copy Markdown

Caution

This pull request was generated by an AI assistant (Claude Code) and has not been reviewed by a human. Please review it with that in mind.

Refs #508. The dispatcher marks a slide-up whose offset is >= vl as a null slide, which also dropped vslide1up/vfslide1up at vl = 1, where vd[0] must still receive the scalar. Those instructions always write vd[0], so they are never null slides. The other defect in #508, writing one element past vl, is not fixed here: with this change vslide1up.vx at vl = 1 writes vd[0] correctly but still overwrites vd[1].

Verification (Verilator, NrLanes=4, VLEN=512): vslide1up.vx at vl = 1 now writes 0x82 to vd[0] (main leaves vd unchanged); vl = 2 and 5 are unchanged, and vslide1down.vx is unaffected.

Changelog

Fixed

Checklist

  • Automated tests pass (Ara's own test suite was not run; see Verification)
  • Changelog updated
  • Code style guideline is observed

The dispatcher marks a slide-up whose offset is >= vl as a null slide, which also dropped
vslide1up/vfslide1up at vl == 1, where vd[0] must still receive the scalar. Those instructions
always write vd[0], so they are never null slides. This does not fix the write past vl that
pulp-platform#508 also reports.

Refs pulp-platform#508

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Signed-off-by: David Harris <David_Harris@hmc.edu>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant