Skip to content

FTBFS with sse4.1 enabled build on tint0r.c #239

@kwizart

Description

@kwizart

The package built fine with Fedora rawhide, but with ELN (Red Hat Next that default to -march x86_64-v3) the build fails with the following error:

cd /builddir/build/BUILD/frei0r-plugins-2.5.1-build/frei0r-2.5.1/redhat-linux-build/src/filter/vignette && /usr/bin/g++ -Dvignette_EXPORTS -I/builddir/build/BUILD/frei0r-plugins-2.5.1-build/frei0r-2.5.1/include -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -march=x86-64-v3 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -O2 -g -DNDEBUG -fPIC -MD -MT src/filter/vignette/CMakeFiles/vignette.dir/vignette.cpp.o -MF CMakeFiles/vignette.dir/vignette.cpp.o.d -o CMakeFiles/vignette.dir/vignette.cpp.o -c /builddir/build/BUILD/frei0r-plugins-2.5.1-build/frei0r-2.5.1/src/filter/vignette/vignette.cpp
[ 64%] Linking C shared module vertigo.so
cd /builddir/build/BUILD/frei0r-plugins-2.5.1-build/frei0r-2.5.1/redhat-linux-build/src/filter/vertigo && /usr/bin/cmake -E cmake_link_script CMakeFiles/vertigo.dir/link.txt --verbose=1
[ 64%] Linking CXX shared module threelay0r.so
cd /builddir/build/BUILD/frei0r-plugins-2.5.1-build/frei0r-2.5.1/redhat-linux-build/src/filter/threelay0r && /usr/bin/cmake -E cmake_link_script CMakeFiles/threelay0r.dir/link.txt --verbose=1
[ 64%] Linking CXX shared module sopsat.so
cd /builddir/build/BUILD/frei0r-plugins-2.5.1-build/frei0r-2.5.1/redhat-linux-build/src/filter/sopsat && /usr/bin/cmake -E cmake_link_script CMakeFiles/sopsat.dir/link.txt --verbose=1
/builddir/build/BUILD/frei0r-plugins-2.5.1-build/frei0r-2.5.1/src/filter/tint0r/tint0r.c: In function ‘tint_sse41’:
/builddir/build/BUILD/frei0r-plugins-2.5.1-build/frei0r-2.5.1/src/filter/tint0r/tint0r.c:195:9: error: incompatible types when assigning to type ‘__m128’ from type ‘__m128i’
  195 |     p = _mm_loadu_si128((__m128i*)(inframe + i * 4));
      |         ^~~~~~~~~~~~~~~
/builddir/build/BUILD/frei0r-plugins-2.5.1-build/frei0r-2.5.1/src/filter/tint0r/tint0r.c:198:44: error: incompatible type for argument 1 of ‘_mm_cvtepu8_epi32’
  198 |     p0 = _mm_cvtepi32_ps(_mm_cvtepu8_epi32(p));
      |                                            ^
      |                                            |
      |                                            __m128
In file included from /builddir/build/BUILD/frei0r-plugins-2.5.1-build/frei0r-2.5.1/src/filter/tint0r/tint0r.c:27:
/usr/lib/gcc/x86_64-redhat-linux/15/include/smmintrin.h:521:28: note: expected ‘__m128i’ but argument is of type ‘__m128’
  521 | _mm_cvtepu8_epi32 (__m128i __X)
      |                    ~~~~~~~~^~~
/builddir/build/BUILD/frei0r-plugins-2.5.1-build/frei0r-2.5.1/src/filter/tint0r/tint0r.c:199:59: error: incompatible type for argument 1 of ‘_mm_srli_si128’
  199 |     p1 = _mm_cvtepi32_ps(_mm_cvtepu8_epi32(_mm_srli_si128(p, 4)));
      |                                                           ^
      |                                                           |
      |                                                           __m128
In file included from /usr/lib/gcc/x86_64-redhat-linux/15/include/pmmintrin.h:31,
                 from /usr/lib/gcc/x86_64-redhat-linux/15/include/tmmintrin.h:31,
                 from /usr/lib/gcc/x86_64-redhat-linux/15/include/smmintrin.h:32:
/usr/lib/gcc/x86_64-redhat-linux/15/include/emmintrin.h:1228:25: note: expected ‘__m128i’ but argument is of type ‘__m128’
 1228 | _mm_srli_si128 (__m128i __A, const int __N)
      |                 ~~~~~~~~^~~
/builddir/build/BUILD/frei0r-plugins-2.5.1-build/frei0r-2.5.1/src/filter/tint0r/tint0r.c:200:59: error: incompatible type for argument 1 of ‘_mm_srli_si128’
  200 |     p2 = _mm_cvtepi32_ps(_mm_cvtepu8_epi32(_mm_srli_si128(p, 8)));
      |                                                           ^
      |                                                           |
      |                                                           __m128
/usr/lib/gcc/x86_64-redhat-linux/15/include/emmintrin.h:1228:25: note: expected ‘__m128i’ but argument is of type ‘__m128’
 1228 | _mm_srli_si128 (__m128i __A, const int __N)
      |                 ~~~~~~~~^~~
/builddir/build/BUILD/frei0r-plugins-2.5.1-build/frei0r-2.5.1/src/filter/tint0r/tint0r.c:201:59: error: incompatible type for argument 1 of ‘_mm_srli_si128’
  201 |     p3 = _mm_cvtepi32_ps(_mm_cvtepu8_epi32(_mm_srli_si128(p, 12)));
      |                                                           ^
      |                                                           |
      |                                                           __m128
/usr/lib/gcc/x86_64-redhat-linux/15/include/emmintrin.h:1228:25: note: expected ‘__m128i’ but argument is of type ‘__m128’
 1228 | _mm_srli_si128 (__m128i __A, const int __N)
      |                 ~~~~~~~~^~~
/builddir/build/BUILD/frei0r-plugins-2.5.1-build/frei0r-2.5.1/src/filter/tint0r/tint0r.c:207:11: error: incompatible types when assigning to type ‘__m128’ from type ‘__m128i’
  207 |       v = _mm_cvtps_epi32(v)
      |           ^~~~~~~~~~~~~~~
/builddir/build/BUILD/frei0r-plugins-2.5.1-build/frei0r-2.5.1/src/filter/tint0r/tint0r.c:209:5: note: in expansion of macro ‘tint’
  209 |     tint(p0); tint(p1); tint(p2); tint(p3);
      |     ^~~~
/builddir/build/BUILD/frei0r-plugins-2.5.1-build/frei0r-2.5.1/src/filter/tint0r/tint0r.c:207:11: error: incompatible types when assigning to type ‘__m128’ from type ‘__m128i’
  207 |       v = _mm_cvtps_epi32(v)
      |           ^~~~~~~~~~~~~~~
/builddir/build/BUILD/frei0r-plugins-2.5.1-build/frei0r-2.5.1/src/filter/tint0r/tint0r.c:209:15: note: in expansion of macro ‘tint’
  209 |     tint(p0); tint(p1); tint(p2); tint(p3);
      |               ^~~~
/builddir/build/BUILD/frei0r-plugins-2.5.1-build/frei0r-2.5.1/src/filter/tint0r/tint0r.c:207:11: error: incompatible types when assigning to type ‘__m128’ from type ‘__m128i’
  207 |       v = _mm_cvtps_epi32(v)
      |           ^~~~~~~~~~~~~~~
/builddir/build/BUILD/frei0r-plugins-2.5.1-build/frei0r-2.5.1/src/filter/tint0r/tint0r.c:209:25: note: in expansion of macro ‘tint’
  209 |     tint(p0); tint(p1); tint(p2); tint(p3);
      |                         ^~~~
/builddir/build/BUILD/frei0r-plugins-2.5.1-build/frei0r-2.5.1/src/filter/tint0r/tint0r.c:207:11: error: incompatible types when assigning to type ‘__m128’ from type ‘__m128i’
  207 |       v = _mm_cvtps_epi32(v)
      |           ^~~~~~~~~~~~~~~
/builddir/build/BUILD/frei0r-plugins-2.5.1-build/frei0r-2.5.1/src/filter/tint0r/tint0r.c:209:35: note: in expansion of macro ‘tint’
  209 |     tint(p0); tint(p1); tint(p2); tint(p3);
      |                                   ^~~~
/builddir/build/BUILD/frei0r-plugins-2.5.1-build/frei0r-2.5.1/src/filter/tint0r/tint0r.c:212:43: error: incompatible type for argument 1 of ‘_mm_packus_epi32’
  212 |     p = _mm_packus_epi16(_mm_packus_epi32(p0, p1),
      |                                           ^~
      |                                           |
      |                                           __m128
/usr/lib/gcc/x86_64-redhat-linux/15/include/smmintrin.h:559:27: note: expected ‘__m128i’ but argument is of type ‘__m128’
  559 | _mm_packus_epi32 (__m128i __X, __m128i __Y)
      |                   ~~~~~~~~^~~
/builddir/build/BUILD/frei0r-plugins-2.5.1-build/frei0r-2.5.1/src/filter/tint0r/tint0r.c:212:47: error: incompatible type for argument 2 of ‘_mm_packus_epi32’
  212 |     p = _mm_packus_epi16(_mm_packus_epi32(p0, p1),
      |                                               ^~
      |                                               |
      |                                               __m128
/usr/lib/gcc/x86_64-redhat-linux/15/include/smmintrin.h:559:40: note: expected ‘__m128i’ but argument is of type ‘__m128’
  559 | _mm_packus_epi32 (__m128i __X, __m128i __Y)
      |                                ~~~~~~~~^~~
/builddir/build/BUILD/frei0r-plugins-2.5.1-build/frei0r-2.5.1/src/filter/tint0r/tint0r.c:213:43: error: incompatible type for argument 1 of ‘_mm_packus_epi32’
  213 |                          _mm_packus_epi32(p2, p3));
      |                                           ^~
      |                                           |
      |                                           __m128
/usr/lib/gcc/x86_64-redhat-linux/15/include/smmintrin.h:559:27: note: expected ‘__m128i’ but argument is of type ‘__m128’
  559 | _mm_packus_epi32 (__m128i __X, __m128i __Y)
      |                   ~~~~~~~~^~~
/builddir/build/BUILD/frei0r-plugins-2.5.1-build/frei0r-2.5.1/src/filter/tint0r/tint0r.c:213:47: error: incompatible type for argument 2 of ‘_mm_packus_epi32’
  213 |                          _mm_packus_epi32(p2, p3));
      |                                               ^~
      |                                               |
      |                                               __m128
/usr/lib/gcc/x86_64-redhat-linux/15/include/smmintrin.h:559:40: note: expected ‘__m128i’ but argument is of type ‘__m128’
  559 | _mm_packus_epi32 (__m128i __X, __m128i __Y)
      |                                ~~~~~~~~^~~
/builddir/build/BUILD/frei0r-plugins-2.5.1-build/frei0r-2.5.1/src/filter/tint0r/tint0r.c:215:52: error: incompatible type for argument 2 of ‘_mm_storeu_si128’
  215 |     _mm_storeu_si128((__m128i*)(outframe + i * 4), p);
      |                                                    ^
      |                                                    |
      |                                                    __m128
/usr/lib/gcc/x86_64-redhat-linux/15/include/emmintrin.h:741:43: note: expected ‘__m128i’ but argument is of type ‘__m128’
  741 | _mm_storeu_si128 (__m128i_u *__P, __m128i __B)
      |    

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions