Skip to content

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

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions