|
|
|
|
|
by janwas
570 days ago
|
|
Thank you for sharing your thoughts! > it’s supposed to make writing faster code easier and more automatic
Agree with this viewpoint. I suppose that makes it compiler-like in spirit, though much simpler. I also agree that waiting for input/updates is a cost. What still surprises me, is that you seem to be able to do something differently with intrinsics, while believing this is not possible as a user of Highway.
It is indeed possible to call _mm_fixupimm_pd(v1.raw, v2.raw, v3.raw, imm), and the rest of your code can be portable.
I would be surprised if heavy usage were made of such escape hatches, but it's certainly interesting to discuss any cases that arise. I do respect your decision, and that you make clear that raw intrinsics have higher upfront and maintenance costs. I suppose it's a matter of preference and estimating the return on the investment of learning the Highway vocabulary (=searching x86_128-inl.h for the intrinsic you know). Personally, I find the proliferation of ISAs makes a clear case against hand-written kernels. But perhaps in your use case, only x86 will continue to be the only target of interest. Fair enough. |
|