arch: added generic vector register
Review Request #3757 - Created Dec. 10, 2016 and updated
| Information | |
|---|---|
| Rekai Gonzalez Alberquilla | |
| gem5 | |
| default | |
| Reviewers | |
| Default | |
Changeset 11762:0960da820594 --------------------------- arch: added generic vector register This commit adds a new generic vector register to have a cleaner implementation of SIMD ISAs. Nathanael's idea, Rekai's implementation. Change-Id: I60b250bba6423153b7e04d2e6988d517a70a3e6b Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Builtin regressions
Description: |
|
||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Diff: |
Revision 2 (+539) |
Seems OK to me. Don't let anyone ever tell you that C++ makes reading code easy... I appreciate all of the compile-time tricks going on here, but it is incredibly difficult to read.
Maybe some more comments for each class that have an example on how to use it would be helpful? I'm a little concerned what's going to happen to this code in 5 years. Will a new person be able to come in and understand what's going on? Though, it isn't like any of this ISA code is understandable until you put weeks or months of effort in. So, feel free to ignore this comment.
LGTM, nice implementation. I just have an ask for a few more comments.
1) A high-level description of the API, and some direction on usage for this library would be useful as a top-level comment in the file.
2) LaneData view is lacking any comments.
3) How should users handle vector operations, e.g. multiplication? Should everything be handled through the views such that the primitive data types are accessed and normal operators used? Or should operators be overloaded here?
Description: |
|
||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Diff: |
Revision 3 (+655) |
