OpenBLAS
                                
                                 OpenBLAS copied to clipboard
                                
                                    OpenBLAS copied to clipboard
                            
                            
                            
                        Use getauxval to implement dynamic arch on ARM and AArch64
I've just came across this post the other day which suggests that even though the feature registers cannot be accessed in EL0, the kernel puts this info in the auxiliary vector which is the recommended way to do feature detection on ARM and AArch64 without string parsing.
If you are willing to hard code the enum values when glibc header does not provide them, you can also use dlsym to find this symbol in case an old glibc is used at compile time (this would be useful for julia since the arm binary is going to be compiled on a host with an old glibc).
Implemented now for aarch64 by ashwinyes in #1829
Original link leads to a login page now, the blog post has moved to https://community.arm.com/developer/tools-software/oss-platforms/b/android-blog/posts/runtime-detection-of-cpu-features-on-an-armv8-a-cpu