Fail to build on 32bit
../gtk-4.8.2/gtk/roaring/roaring.h: In function 'hamming':
../gtk-4.8.2/gtk/roaring/roaring.h:260:18: warning: implicit declaration of function '_mm_popcnt_u64' [-Wimplicit-function-declaration]
260 | return (int) _mm_popcnt_u64(x);
| ^~~~~~~~~~~~~~
../gtk-4.8.2/gtk/roaring/roaring.h:260:18: warning: nested extern declaration of '_mm_popcnt_u64' [-Wnested-externs]
../gtk-4.8.2/gtk/roaring/roaring.c: In function 'intersect_vector16':
../gtk-4.8.2/gtk/roaring/roaring.c:395:37: error: '__m128i' undeclared (first use in this function)
395 | const int vectorlength = sizeof(__m128i) / sizeof(uint16_t);
| ^~~~~~~
../gtk-4.8.2/gtk/roaring/roaring.c:395:37: note: each undeclared identifier is reported only once for each function it appears in
../gtk-4.8.2/gtk/roaring/roaring.c:398:12: error: expected ';' before 'v_a'
398 | __m128i v_a, v_b;
| ^~~~
| ;
../gtk-4.8.2/gtk/roaring/roaring.c:400:9: error: 'v_a' undeclared (first use in this function); did you mean 'i_a'?
400 | v_a = _mm_lddqu_si128((__m128i *)&A[i_a]);
| ^~~
| i_a
../gtk-4.8.2/gtk/roaring/roaring.c:400:15: warning: implicit declaration of function '_mm_lddqu_si128' [-Wimplicit-function-declaration]
400 | v_a = _mm_lddqu_si128((__m128i *)&A[i_a]);
| ^~~~~~~~~~~~~~~
../gtk-4.8.2/gtk/roaring/roaring.c:400:15: warning: nested extern declaration of '_mm_lddqu_si128' [-Wnested-externs]
../gtk-4.8.2/gtk/roaring/roaring.c:400:41: error: expected expression before ')' token
400 | v_a = _mm_lddqu_si128((__m128i *)&A[i_a]);
| ^
../gtk-4.8.2/gtk/roaring/roaring.c:401:9: error: 'v_b' undeclared (first use in this function); did you mean 'i_b'?
401 | v_b = _mm_lddqu_si128((__m128i *)&B[i_b]);
| ^~~
| i_b
../gtk-4.8.2/gtk/roaring/roaring.c:401:41: error: expected expression before ')' token
401 | v_b = _mm_lddqu_si128((__m128i *)&B[i_b]);
| ^
../gtk-4.8.2/gtk/roaring/roaring.c:403:27: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'res_v'
403 | const __m128i res_v = _mm_cmpestrm(
| ^~~~~
../gtk-4.8.2/gtk/roaring/roaring.c:403:27: error: 'res_v' undeclared (first use in this function)
../gtk-4.8.2/gtk/roaring/roaring.c:403:35: warning: implicit declaration of function '_mm_cmpestrm' [-Wimplicit-function-declaration]
403 | const __m128i res_v = _mm_cmpestrm(
| ^~~~~~~~~~~~
../gtk-4.8.2/gtk/roaring/roaring.c:403:35: warning: nested extern declaration of '_mm_cmpestrm' [-Wnested-externs]
../gtk-4.8.2/gtk/roaring/roaring.c:405:17: error: '_SIDD_UWORD_OPS' undeclared (first use in this function)
405 | _SIDD_UWORD_OPS | _SIDD_CMP_EQUAL_ANY | _SIDD_BIT_MASK);
| ^~~~~~~~~~~~~~~
../gtk-4.8.2/gtk/roaring/roaring.c:405:35: error: '_SIDD_CMP_EQUAL_ANY' undeclared (first use in this function)
405 | _SIDD_UWORD_OPS | _SIDD_CMP_EQUAL_ANY | _SIDD_BIT_MASK);
| ^~~~~~~~~~~~~~~~~~~
../gtk-4.8.2/gtk/roaring/roaring.c:405:57: error: '_SIDD_BIT_MASK' undeclared (first use in this function)
405 | _SIDD_UWORD_OPS | _SIDD_CMP_EQUAL_ANY | _SIDD_BIT_MASK);
| ^~~~~~~~~~~~~~
../gtk-4.8.2/gtk/roaring/roaring.c:406:27: warning: implicit declaration of function '_mm_extract_epi32' [-Wimplicit-function-declaration]
406 | const int r = _mm_extract_epi32(res_v, 0);
| ^~~~~~~~~~~~~~~~~
../gtk-4.8.2/gtk/roaring/roaring.c:406:27: warning: nested extern declaration of '_mm_extract_epi32' [-Wnested-externs]
../gtk-4.8.2/gtk/roaring/roaring.c:407:20: error: expected ';' before 'sm16'
407 | __m128i sm16 = _mm_load_si128((const __m128i *)shuffle_mask16 + r);
| ^~~~~
| ;
../gtk-4.8.2/gtk/roaring/roaring.c:408:20: error: expected ';' before 'p'
408 | __m128i p = _mm_shuffle_epi8(v_a, sm16);
| ^~
| ;
../gtk-4.8.2/gtk/roaring/roaring.c:409:13: warning: implicit declaration of function '_mm_storeu_si128' [-Wimplicit-function-declaration]
409 | _mm_storeu_si128((__m128i *)&C[count], p); // can overflow
| ^~~~~~~~~~~~~~~~
../gtk-4.8.2/gtk/roaring/roaring.c:409:13: warning: nested extern declaration of '_mm_storeu_si128' [-Wnested-externs]
../gtk-4.8.2/gtk/roaring/roaring.c:409:40: error: expected expression before ')' token
409 | _mm_storeu_si128((__m128i *)&C[count], p); // can overflow
| ^
../gtk-4.8.2/gtk/roaring/roaring.c:410:22: warning: implicit declaration of function '_mm_popcnt_u32' [-Wimplicit-function-declaration]
410 | count += _mm_popcnt_u32(r);
| ^~~~~~~~~~~~~~
../gtk-4.8.2/gtk/roaring/roaring.c:410:22: warning: nested extern declaration of '_mm_popcnt_u32' [-Wnested-externs]
../gtk-4.8.2/gtk/roaring/roaring.c:416:49: error: expected expression before ')' token
416 | v_a = _mm_lddqu_si128((__m128i *)&A[i_a]);
| ^
../gtk-4.8.2/gtk/roaring/roaring.c:421:49: error: expected expression before ')' token
421 | v_b = _mm_lddqu_si128((__m128i *)&B[i_b]);
| ^
../gtk-4.8.2/gtk/roaring/roaring.c:426:31: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'res_v'
426 | const __m128i res_v = _mm_cmpistrm(
| ^~~~~
../gtk-4.8.2/gtk/roaring/roaring.c:426:39: warning: implicit declaration of function '_mm_cmpistrm' [-Wimplicit-function-declaration]
426 | const __m128i res_v = _mm_cmpistrm(
| ^~~~~~~~~~~~
../gtk-4.8.2/gtk/roaring/roaring.c:426:39: warning: nested extern declaration of '_mm_cmpistrm' [-Wnested-externs]
../gtk-4.8.2/gtk/roaring/roaring.c:430:24: error: expected ';' before 'sm16'
430 | __m128i sm16 =
| ^~~~~
| ;
../gtk-4.8.2/gtk/roaring/roaring.c:432:24: error: expected ';' before 'p'
432 | __m128i p = _mm_shuffle_epi8(v_a, sm16);
| ^~
| ;
../gtk-4.8.2/gtk/roaring/roaring.c:433:44: error: expected expression before ')' token
433 | _mm_storeu_si128((__m128i *)&C[count], p); // can overflow
| ^
../gtk-4.8.2/gtk/roaring/roaring.c:440:53: error: expected expression before ')' token
440 | v_a = _mm_lddqu_si128((__m128i *)&A[i_a]);
| ^
../gtk-4.8.2/gtk/roaring/roaring.c:445:53: error: expected expression before ')' token
445 | v_b = _mm_lddqu_si128((__m128i *)&B[i_b]);
| ^
../gtk-4.8.2/gtk/roaring/roaring.c: In function 'intersect_vector16_cardinality':
../gtk-4.8.2/gtk/roaring/roaring.c:473:37: error: '__m128i' undeclared (first use in this function)
473 | const int vectorlength = sizeof(__m128i) / sizeof(uint16_t);
| ^~~~~~~
../gtk-4.8.2/gtk/roaring/roaring.c:476:12: error: expected ';' before 'v_a'
476 | __m128i v_a, v_b;
| ^~~~
| ;
../gtk-4.8.2/gtk/roaring/roaring.c:478:9: error: 'v_a' undeclared (first use in this function); did you mean 'i_a'?
478 | v_a = _mm_lddqu_si128((__m128i *)&A[i_a]);
| ^~~
| i_a
../gtk-4.8.2/gtk/roaring/roaring.c:478:41: error: expected expression before ')' token
478 | v_a = _mm_lddqu_si128((__m128i *)&A[i_a]);
| ^
../gtk-4.8.2/gtk/roaring/roaring.c:479:9: error: 'v_b' undeclared (first use in this function); did you mean 'i_b'?
479 | v_b = _mm_lddqu_si128((__m128i *)&B[i_b]);
| ^~~
| i_b
../gtk-4.8.2/gtk/roaring/roaring.c:479:41: error: expected expression before ')' token
479 | v_b = _mm_lddqu_si128((__m128i *)&B[i_b]);
| ^
../gtk-4.8.2/gtk/roaring/roaring.c:481:27: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'res_v'
481 | const __m128i res_v = _mm_cmpestrm(
| ^~~~~
../gtk-4.8.2/gtk/roaring/roaring.c:481:27: error: 'res_v' undeclared (first use in this function)
../gtk-4.8.2/gtk/roaring/roaring.c:483:17: error: '_SIDD_UWORD_OPS' undeclared (first use in this function)
483 | _SIDD_UWORD_OPS | _SIDD_CMP_EQUAL_ANY | _SIDD_BIT_MASK);
| ^~~~~~~~~~~~~~~
../gtk-4.8.2/gtk/roaring/roaring.c:483:35: error: '_SIDD_CMP_EQUAL_ANY' undeclared (first use in this function)
483 | _SIDD_UWORD_OPS | _SIDD_CMP_EQUAL_ANY | _SIDD_BIT_MASK);
| ^~~~~~~~~~~~~~~~~~~
../gtk-4.8.2/gtk/roaring/roaring.c:483:57: error: '_SIDD_BIT_MASK' undeclared (first use in this function)
483 | _SIDD_UWORD_OPS | _SIDD_CMP_EQUAL_ANY | _SIDD_BIT_MASK);
| ^~~~~~~~~~~~~~
../gtk-4.8.2/gtk/roaring/roaring.c:491:49: error: expected expression before ')' token
491 | v_a = _mm_lddqu_si128((__m128i *)&A[i_a]);
| ^
../gtk-4.8.2/gtk/roaring/roaring.c:496:49: error: expected expression before ')' token
496 | v_b = _mm_lddqu_si128((__m128i *)&B[i_b]);
| ^
../gtk-4.8.2/gtk/roaring/roaring.c:501:31: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'res_v'
501 | const __m128i res_v = _mm_cmpistrm(
| ^~~~~
../gtk-4.8.2/gtk/roaring/roaring.c:511:53: error: expected expression before ')' token
511 | v_a = _mm_lddqu_si128((__m128i *)&A[i_a]);
| ^
../gtk-4.8.2/gtk/roaring/roaring.c:516:53: error: expected expression before ')' token
516 | v_b = _mm_lddqu_si128((__m128i *)&B[i_b]);
| ^
../gtk-4.8.2/gtk/roaring/roaring.c: In function 'difference_vector16':
../gtk-4.8.2/gtk/roaring/roaring.c:571:40: error: '__m128i' undeclared (first use in this function)
571 | const size_t vectorlength = sizeof(__m128i) / sizeof(uint16_t);
| ^~~~~~~
../gtk-4.8.2/gtk/roaring/roaring.c:575:16: error: expected ';' before 'v_a'
575 | __m128i v_a, v_b; //, v_bmax;
| ^~~~
| ;
../gtk-4.8.2/gtk/roaring/roaring.c:577:9: error: 'v_a' undeclared (first use in this function); did you mean 'i_a'?
577 | v_a = _mm_lddqu_si128((__m128i *)&A[i_a]);
| ^~~
| i_a
../gtk-4.8.2/gtk/roaring/roaring.c:577:41: error: expected expression before ')' token
577 | v_a = _mm_lddqu_si128((__m128i *)&A[i_a]);
| ^
../gtk-4.8.2/gtk/roaring/roaring.c:578:9: error: 'v_b' undeclared (first use in this function); did you mean 'i_b'?
578 | v_b = _mm_lddqu_si128((__m128i *)&B[i_b]);
| ^~~
| i_b
../gtk-4.8.2/gtk/roaring/roaring.c:578:41: error: expected expression before ')' token
578 | v_b = _mm_lddqu_si128((__m128i *)&B[i_b]);
| ^
../gtk-4.8.2/gtk/roaring/roaring.c:581:16: error: expected ';' before 'runningmask_a_found_in_b'
581 | __m128i runningmask_a_found_in_b = _mm_setzero_si128();
| ^~~~~~~~~~~~~~~~~~~~~~~~~
| ;
../gtk-4.8.2/gtk/roaring/roaring.c:589:27: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'a_found_in_b'
589 | const __m128i a_found_in_b =
| ^~~~~~~~~~~~
../gtk-4.8.2/gtk/roaring/roaring.c:589:27: error: 'a_found_in_b' undeclared (first use in this function)
../gtk-4.8.2/gtk/roaring/roaring.c:590:40: error: '_SIDD_UWORD_OPS' undeclared (first use in this function)
590 | _mm_cmpistrm(v_b, v_a, _SIDD_UWORD_OPS | _SIDD_CMP_EQUAL_ANY |
| ^~~~~~~~~~~~~~~
../gtk-4.8.2/gtk/roaring/roaring.c:590:58: error: '_SIDD_CMP_EQUAL_ANY' undeclared (first use in this function)
590 | _mm_cmpistrm(v_b, v_a, _SIDD_UWORD_OPS | _SIDD_CMP_EQUAL_ANY |
| ^~~~~~~~~~~~~~~~~~~
../gtk-4.8.2/gtk/roaring/roaring.c:591:44: error: '_SIDD_BIT_MASK' undeclared (first use in this function)
591 | _SIDD_BIT_MASK);
| ^~~~~~~~~~~~~~
../gtk-4.8.2/gtk/roaring/roaring.c:592:13: error: 'runningmask_a_found_in_b' undeclared (first use in this function)
592 | runningmask_a_found_in_b =
| ^~~~~~~~~~~~~~~~~~~~~~~~
../gtk-4.8.2/gtk/roaring/roaring.c:593:17: warning: implicit declaration of function '_mm_or_si128' [-Wimplicit-function-declaration]
593 | _mm_or_si128(runningmask_a_found_in_b, a_found_in_b);
| ^~~~~~~~~~~~
../gtk-4.8.2/gtk/roaring/roaring.c:593:17: warning: nested extern declaration of '_mm_or_si128' [-Wnested-externs]
../gtk-4.8.2/gtk/roaring/roaring.c:604:24: error: expected ';' before 'sm16'
604 | __m128i sm16 = _mm_load_si128((const __m128i *)shuffle_mask16 +
| ^~~~~
| ;
../gtk-4.8.2/gtk/roaring/roaring.c:606:24: error: expected ';' before 'p'
606 | __m128i p = _mm_shuffle_epi8(v_a, sm16);
| ^~
| ;
../gtk-4.8.2/gtk/roaring/roaring.c:607:44: error: expected expression before ')' token
607 | _mm_storeu_si128((__m128i *)&C[count], p); // can overflow
| ^
../gtk-4.8.2/gtk/roaring/roaring.c:613:44: warning: implicit declaration of function '_mm_setzero_si128' [-Wimplicit-function-declaration]
613 | runningmask_a_found_in_b = _mm_setzero_si128();
| ^~~~~~~~~~~~~~~~~
../gtk-4.8.2/gtk/roaring/roaring.c:613:44: warning: nested extern declaration of '_mm_setzero_si128' [-Wnested-externs]
../gtk-4.8.2/gtk/roaring/roaring.c:614:49: error: expected expression before ')' token
614 | v_a = _mm_lddqu_si128((__m128i *)&A[i_a]);
| ^
../gtk-4.8.2/gtk/roaring/roaring.c:620:49: error: expected expression before ')' token
620 | v_b = _mm_lddqu_si128((__m128i *)&B[i_b]);
| ^
../gtk-4.8.2/gtk/roaring/roaring.c:631:45: error: expected expression before ')' token
631 | v_b = _mm_lddqu_si128((__m128i *)buffer);
| ^
../gtk-4.8.2/gtk/roaring/roaring.c:632:27: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'a_found_in_b'
632 | const __m128i a_found_in_b =
| ^~~~~~~~~~~~
../gtk-4.8.2/gtk/roaring/roaring.c:639:20: error: expected ';' before 'sm16'
639 | __m128i sm16 = _mm_load_si128((const __m128i *)shuffle_mask16 +
| ^~~~~
| ;
../gtk-4.8.2/gtk/roaring/roaring.c:641:20: error: expected ';' before 'p'
641 | __m128i p = _mm_shuffle_epi8(v_a, sm16);
| ^~
| ;
../gtk-4.8.2/gtk/roaring/roaring.c:642:40: error: expected expression before ')' token
642 | _mm_storeu_si128((__m128i *)&C[count], p); // can overflow
| ^
../gtk-4.8.2/gtk/roaring/roaring.c: At top level:
../gtk-4.8.2/gtk/roaring/roaring.c:1181:36: error: unknown type name '__m128i'
1181 | static inline void sse_merge(const __m128i *vInput1,
| ^~~~~~~
../gtk-4.8.2/gtk/roaring/roaring.c:1182:36: error: unknown type name '__m128i'
1182 | const __m128i *vInput2, // input 1 & 2
| ^~~~~~~
../gtk-4.8.2/gtk/roaring/roaring.c:1183:30: error: unknown type name '__m128i'
1183 | __m128i *vecMin, __m128i *vecMax) { // output
| ^~~~~~~
../gtk-4.8.2/gtk/roaring/roaring.c:1183:47: error: unknown type name '__m128i'
1183 | __m128i *vecMin, __m128i *vecMax) { // output
| ^~~~~~~
../gtk-4.8.2/gtk/roaring/roaring.c:1558:32: error: unknown type name '__m128i'
1558 | static inline int store_unique(__m128i old, __m128i newval, uint16_t *output) {
| ^~~~~~~
../gtk-4.8.2/gtk/roaring/roaring.c:1558:45: error: unknown type name '__m128i'
1558 | static inline int store_unique(__m128i old, __m128i newval, uint16_t *output) {
| ^~~~~~~
../gtk-4.8.2/gtk/roaring/roaring.c: In function 'union_vector16':
../gtk-4.8.2/gtk/roaring/roaring.c:1595:5: error: unknown type name '__m128i'
1595 | __m128i vA, vB, V, vecMin, vecMax;
| ^~~~~~~
../gtk-4.8.2/gtk/roaring/roaring.c:1596:5: error: unknown type name '__m128i'
1596 | __m128i laststore;
| ^~~~~~~
Edited by mingli Yu