Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions src/avx512bw/avx512bw-constants.inl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,18 @@ const __m512i v_0000_00c0 = _mm512_set1_epi32(0xc0);
const __m512i v_0000_0080 = _mm512_set1_epi32(0x80);
const __m512i v_fc00_fc00 = _mm512_set1_epi32(0xfc00fc00);
const __m512i v_d800_dc00 = _mm512_set1_epi32(0xd800dc00);
const __m512i v_0f = _mm512_set1_epi8(0x0f);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would have the same comment as with the other PR. It is debatable whether having these constants (often used in a single function) off to the side like this improves code readability and maintenance. (This is not me asking you to change the code. I am only pointing it out.)

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It bothers me too. But as I wrote previously, it's due to unpredictable compiler output.

const __m512i v_10 = _mm512_set1_epi8(0x10);
const __m512i v_40 = _mm512_set1_epi8(0x40);
const __m512i v_80 = _mm512_set1_epi8(char(0x80));
const __m512i v_1f = _mm512_set1_epi8(0x1f);
const __m512i v_3f = _mm512_set1_epi8(0x3f);
const __m512i v_c0 = _mm512_set1_epi8(char(0xc0));
const __m512i v_c2 = _mm512_set1_epi8(char(0xc2));
const __m512i v_e0 = _mm512_set1_epi8(char(0xe0));
const __m512i v_f0 = _mm512_set1_epi8(char(0xf0));
const __m512i v_f8 = _mm512_set1_epi8(char(0xf8));
const __m512i v_neg65 = _mm512_set1_epi8(-65);

const __m512i broadcast_0th_lane = _mm512_setr_epi32(
0, 1, 2, 3,
Expand Down
Loading