Hi Everyone,

We need a way to determine when ARMv8 features are available on Apple 
64-bit iOS devices. We can't use cpu probes because a SIGILL corrupts 
memory on Apple platforms.

I've got an ugly experimental hack at 
https://github.com/weidai11/cryptopp/blob/master/cpu.cpp#L450:

#elif defined(__APPLE__) && defined(__aarch64__)
    struct utsname systemInfo;
    systemInfo.machine[0] = '\0';
    uname(&systemInfo);
    
    std::string machine(systemInfo.machine);
    if (machine.substr(0, 7) == "iPhone6" || machine.substr(0, 7) == 
"iPhone7" ||
      machine.substr(0, 7) == "iPhone8" || machine.substr(0, 7) == 
"iPhone9" ||
      machine.substr(0, 5) == "iPad4" || machine.substr(0, 5) == "iPad5" ||
      machine.substr(0, 5) == "iPad6" || machine.substr(0, 5) == "iPad7")
    {
        return true;
    }
#endif

If anyone knows a better way to do things, then please speak up or make a 
pull request.

Jeff

-- 
-- 
You received this message because you are subscribed to the "Crypto++ Users" 
Google Group.
To unsubscribe, send an email to cryptopp-users-unsubscr...@googlegroups.com.
More information about Crypto++ and this group is available at 
http://www.cryptopp.com.
--- 
You received this message because you are subscribed to the Google Groups 
"Crypto++ Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to cryptopp-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to