This is an archive of the discontinued LLVM Phabricator instance.

[VE] i<N> and fp32/64 arguments, return values and constants
ClosedPublic

Authored by simoll on Jan 21 2020, 3:33 AM.

Details

Summary

Support for i<N> and fp32/64 arguments (in register), return values
and constants along with tests.

Diff Detail

Event Timeline

simoll created this revision.Jan 21 2020, 3:33 AM
Herald added a project: Restricted Project. · View Herald TranscriptJan 21 2020, 3:33 AM

Unit tests: pass. 62056 tests passed, 0 failed and 783 were skipped.

clang-tidy: unknown.

clang-format: pass.

Build artifacts: diff.json, clang-format.patch, CMakeCache.txt, console-log.txt, test-results.xml

arsenm added inline comments.Jan 21 2020, 4:49 AM
llvm/lib/Target/VE/VEISelLowering.cpp
94

I think this bit is the most interesting part to test here, but I don't see a test for this

llvm/lib/Target/VE/VEInstrInfo.td
424–427

If you're just going to implement these with the shifts, you're probably better off making these expand instead for the combining value

simoll updated this revision to Diff 239358.Jan 21 2020, 9:48 AM
simoll marked an inline comment as done.
  • More tests
  • Removed dead code path for i32 custom return value lowering.
  • Rebased

Unit tests: unknown.

clang-tidy: unknown.

clang-format: pass.

Build artifacts: diff.json, clang-format.patch, CMakeCache.txt, console-log.txt

arsenm accepted this revision.Jan 21 2020, 10:00 AM

LGTM

llvm/test/CodeGen/VE/cast.ll
971

Tests should generally use named values

This revision is now accepted and ready to land.Jan 21 2020, 10:00 AM
simoll updated this revision to Diff 239496.Jan 22 2020, 12:15 AM
simoll marked an inline comment as done.
  • Rebased
  • Explicitly named arguments in cast.ll

Thanks for the review!

Unit tests: unknown.

clang-tidy: unknown.

clang-format: pass.

Build artifacts: diff.json, clang-format.patch, CMakeCache.txt, console-log.txt

This revision was automatically updated to reflect the committed changes.
llvm/test/CodeGen/VE/constants.ll