mattkretz / wg21-papers

my papers to WG21 — the C++ committee
5 stars 7 forks source link

permit overloads for load/store flags? #8

Closed mattkretz closed 7 years ago

mattkretz commented 7 years ago

(20) For load/store, the specification should permit non-templated overloads providing the two "Flags" options.

Why? (BTW, SG1 requested a third, templated flag overaligned<N>. I still have to document it...).

But I don't have strong feelings about this one. Do you know of a precedent where I could copy the proper wording?

jensmaurer commented 7 years ago

I have implemented the two flags options with two independent functions in my implementation. But that's just one thin inline forwarding wrapper away from the function template, so I'm ok with leaving this as specified in your paper.

I'm curious what overaligned<N> does, though.

mattkretz commented 7 years ago

True, I do as well. Only that my when_aligned overload does a clever conversion from overaligned<N>.

The SG1 comment here was that the implementation can make use of information about higher (than element) alignment. So if the user knows he's got a certain alignment that is better than element_aligned but not necessarily vector_aligned (better or worse), let him say so. The implementation might just figure out something useful.

And IIRC, I had a situation or two where I could profit from this when implementing converting load/store.

OK. I'll close it then. #9 covers overaligned