By: Charlie Burnes (charlie.burnes.delete@this.no-spam.com), May 22, 2022 1:06 pm
Room: Moderated Discussions
Jan Wassenberg (jan.wassenberg.delete@this.gmail.com) on May 22, 2022 12:06 pm wrote:
> Vec128 and Vec256 are the internal-only classes defined in hwy/ops/x86_128-inl.h (and x86_256-inl.h).
>
> What I'd recommend is:
>
> template
> struct Vec256x2 {
> Vec256 v0; // This assumes we're AVX2-specific.
> Vec256 v1;
> };
>
> // For NEON, you'd want Vec128 v0,v1,v2,v3.
>
> Then you can re-define all the ops you require:
> Vec256x2 Add(Vec256x2 a, Vec256x2 b) {
> a.v0 = Add(a.v0, b.v0);
> a.v1 = Add(a.v1, b.v1);
> return a;
> }
Thank you for explaining that, for creating Highway and for making Highway available to everyone.
I wonder why a Google search for Vec256 site:github.com/google/highway did not match any documents even though the string Vec256 is in the file you mentioned. It looks like Google is not following the links on the page github.com/google/highway
> Vec128 and Vec256 are the internal-only classes defined in hwy/ops/x86_128-inl.h (and x86_256-inl.h).
>
> What I'd recommend is:
>
> template
> struct Vec256x2 {
> Vec256 v0; // This assumes we're AVX2-specific.
> Vec256 v1;
> };
>
> // For NEON, you'd want Vec128 v0,v1,v2,v3.
>
> Then you can re-define all the ops you require:
> Vec256x2 Add(Vec256x2 a, Vec256x2 b) {
> a.v0 = Add(a.v0, b.v0);
> a.v1 = Add(a.v1, b.v1);
> return a;
> }
Thank you for explaining that, for creating Highway and for making Highway available to everyone.
I wonder why a Google search for Vec256 site:github.com/google/highway did not match any documents even though the string Vec256 is in the file you mentioned. It looks like Google is not following the links on the page github.com/google/highway