(removing the list to avoid "spamming" them while we're in debug mode)

Actually that should be

static inline bool CPLDetectSSE3()
{
    int cpuinfo[4] = { 0, 0, 0, 0 };
    CPL_CPUID(0, cpuinfo);
    if( cpuinfo[REG_EAX] <= 2 )
        return false;
    CPL_CPUID(0x80000000, cpuinfo);
    if( static_cast<unsigned>(cpuinfo[REG_EAX]) < 1 )
        return false;
    CPL_CPUID(1, cpuinfo);
    fprintf(stderr, "ECX = 0x%X\n", cpuinfo[REG_ECX]);
    return (cpuinfo[REG_ECX] & (1 << CPUID_SSSE3_ECX_BIT)) != 0;
}

The static_cast<unsigned>(cpuinfo[REG_EAX]) <= 1 has been changed to < 1
I don't think that would make a difference. Your CPU does support extended 
status, but my assumption is that CPL_CPUID(0x80000000, cpuinfo) must be 
called before CPL_CPUID(1, cpuinfo) so the later gets correct results (not 
super confident that it will change anything...)

If that still doesn't work, I'm a bit short of idea and would need to be able 
to test locally if you can provide ssh access.

-- 
Spatialys - Geospatial professional services
http://www.spatialys.com
_______________________________________________
gdal-dev mailing list
[email protected]
https://lists.osgeo.org/mailman/listinfo/gdal-dev

Reply via email to