Hello, I'm trying to fix a FTBFS bug in cpl, a C library. The package fails
in i686 on Fedora>=29 and compiles in Fedora<=28

https://koji.fedoraproject.org/koji/taskinfo?taskID=29215071

https://kojipkgs.fedoraproject.org//work/tasks/5071/29215071/build.log

I imagine that, after enabling SSE2 in Fedora 29, we are compiling a
different code path
that fails. I don't have any experience with this kind of code.
The error is related with _m_from_int64, that seems undefined? But
_m_from_int64 is defined in one of the *intrin.h headers. I'm don't know
what is happening.


cpl_image_basic.c: In function 'dcompl_mult_sse_fast':
cpl_image_basic.c:245:30: warning: implicit declaration of function
'_m_from_int64'; did you mean '_m_from_int'?
[-Wimplicit-function-declaration]
 #    define cpl_m_from_int64 _m_from_int64
                              ^~~~~~~~~~~~~
cpl_image_basic.c:260:54: note: in expansion of macro 'cpl_m_from_int64'
   _mm_add_pd(a, _mm_xor_pd(b,
(__m128d)_mm_set_epi64(cpl_m_from_int64(0x0llu), \
                                                      ^~~~~~~~~~~~~~~~
cpl_image_basic.c:4065:12: note: in expansion of macro 'CPL_MM_ADDSUB_PD'
     return CPL_MM_ADDSUB_PD(t1, sb); /* x * y - y * w, z*y + x * w */
            ^~~~~~~~~~~~~~~~
cpl_image_basic.c:245:30: error: incompatible type for argument 1 of
'_mm_set_epi64'
 #    define cpl_m_from_int64 _m_from_int64
                              ^
cpl_image_basic.c:260:54: note: in expansion of macro 'cpl_m_from_int64'
   _mm_add_pd(a, _mm_xor_pd(b,
(__m128d)_mm_set_epi64(cpl_m_from_int64(0x0llu), \
                                                      ^~~~~~~~~~~~~~~~
cpl_image_basic.c:4065:12: note: in expansion of macro 'CPL_MM_ADDSUB_PD'
     return CPL_MM_ADDSUB_PD(t1, sb); /* x * y - y * w, z*y + x * w */
            ^~~~~~~~~~~~~~~~
In file included from
/usr/lib/gcc/i686-redhat-linux/8/include/xmmintrin.h:1252,
                 from cpl_image_basic.c:240:
/usr/lib/gcc/i686-redhat-linux/8/include/emmintrin.h:595:22: note: expected
'__m64' {aka '__vector(2) int'} but argument is of type 'int'
 _mm_set_epi64 (__m64 __q1,  __m64 __q0)
                ~~~~~~^~~~

 cpl_image_basic.c:245:30: error: incompatible type for argument 2 of
'_mm_set_epi64'
 #    define cpl_m_from_int64 _m_from_int64


Any help would be appreciated, I have never touched code like this.

Best, Sergio
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/JAHKEG2PUN5IX2KMIJUXQHJN5YBXBL6E/

Reply via email to