Well, I *think* having not extensively surveyed the code, that the vast
majority of the time the bits that are being extracted are constant, so the
templated form would be the default, and you'd just need to use the current
form in the few cases where it's not fixed. As somebody suggested, we
It seems like the compiler tests started running on develop just before I
merged all the fixes from the staging branch. I'm going to kick start the
compiler tests again to ensure these tests pass.
--
Dr. Bobby R. Bruce
Room 2235,
Kemper Hall, UC Davis
Davis,
CA, 95616
web:
Sorry for the spam...
One last thing: We have to keep both bits(val, first, last) *and*
bits(val) because sometimes first and last are *not*
constexpr. If they were *always* constexpr, this would be much simpler (I
think).
Cheers,
Jason
On Fri, Sep 18, 2020 at 8:33 AM Jason Lowe-Power
wrote:
I don't like the following change
bits(val, first, last)
would now be
bits(val).
IMO, it's confusing to put function *parameters* as template arguments.
This would mean that when you use the bits() function, you'll have to think
about "are these constexpr that I'm using, and, if so, should I
[AMD Public Use]
Hey, Jason perhaps you mentioned this somewhere but what is the reason for such
a strong aversion to the template approach? It seems to solve the issue nicely
with what seems to be a minor change in syntax. gem5 is C++, so we should allow
users to write C++.
Tony
From: Jason
There is another option to keep the function-like syntax, but get the
constexpr via templates: A preprocessor macro:
#define bits(val, first, last) bits(val)
The major downside is that we can't overload preprocessor macros. We'd have
to have two name bits_const() and bits(), which I also don't
Gabe Black has submitted this change. (
https://gem5-review.googlesource.com/c/public/gem5/+/34173 )
Change subject: gpu: Stop using TheISA in the GPU TLB.
..
gpu: Stop using TheISA in the GPU TLB.
This class is defined
I spent some more time digging into 2, and while I didn't find anything
that directly stated that you aren't allowed to do that, without explicit
support I think it flies in the face of how C++ templates, types, etc. work
to the point where if you *did* find a way to do it, it would almost
Hello Nikos Nikoleris,
I'd like you to do a code review. Please visit
https://gem5-review.googlesource.com/c/public/gem5/+/34795
to review the following change.
Change subject: arch-arm: TLBI ALLE2IS should broadcast to the IS domain
Ciro Santilli has uploaded this change for review. (
https://gem5-review.googlesource.com/c/public/gem5/+/34777 )
Change subject: util: add pkg-config to
ubuntu-20.04_all-dependencies/Dockerfile
..
util: add pkg-config to
Nikos Nikoleris has uploaded this change for review. (
https://gem5-review.googlesource.com/c/public/gem5/+/34776 )
Change subject: mem: Fix some reference use in range loops
..
mem: Fix some reference use in range loops
Ciro Santilli has submitted this change. (
https://gem5-review.googlesource.com/c/public/gem5/+/34476 )
Change subject: tests: cleanup all SE tests previously moved to
gem5-resources
..
tests: cleanup all SE tests
Gabe Black has submitted this change. (
https://gem5-review.googlesource.com/c/public/gem5/+/34756 )
Change subject: systemc: Add a missing override.
..
systemc: Add a missing override.
A recent change accidentally left off
13 matches
Mail list logo