On 11/29/2016 03:53 PM, Doug Torrance wrote: > Control: reassign -1 src:givaro > > On 11/29/2016 09:58 AM, Tobias Hansen wrote: >> I think I figured out at least the test failures with "Illegal >> instruction" on i386. The problem is that givaro is built using cpu >> extensions that are not allowed. >> >> Jerome figured out in [1] that the problem happens when givaro code is >> called. And sure enough: >> >> objdump -S /usr/lib/i386-linux-gnu/libgivaro.so.9.0.0 | grep >> '\b\(ymm\|zmm\|vfm\)' >> 15411: c4 e3 79 6b 8b a4 29 vfmaddsd >> %xmm2,-0x1d65c(%ebx),%xmm0,%xmm1 >> 154d1: c4 e3 69 6b 8b ac 29 vfmaddsd >> %xmm0,-0x1d654(%ebx),%xmm2,%xmm1 >> >> And in the i386 build logs for givaro there are these flags: >> -mmmx -mpopcnt -msse -msse2 -msse3 -msse4.1 -msse4.2 -msse4a -mavx >> -mfma4 -mfpmath=sse >> >> Do you have time in the next days to disable these flags? Otherwise I >> can do it. (I'm not sure if some of these flags (mmx, sse ?) are allowed >> on i386 and didn't find that info. Ximin, do you know this?) > > Sure, I can take a look. I think it should be a simple --disable-simd > in d/rules (we did the same in fflas-ffpack). > > Doug
Thanks! I tried building it but now there seems to be an issue similar to [1]: FAIL: test-ringarith ==================== 997167681959697!=997167682008849 failed (at line 123) x y failed ! MEDmax failed ! FAIL test-ringarith (exit status: 255) And it even fails when setting the flag -ffp-contract=off . Note that now the failure seems to be related to ModularExtended<double> instead of ModularExtended<float> (MEDmax instead of MEFmax in the error message). Best, Tobias [1] https://github.com/linbox-team/givaro/issues/25