summaryrefslogblamecommitdiff
path: root/lib/spack/external/archspec/json/cpu/microarchitectures.json
blob: 5d1143c4952655e48346241e403a20966fb03213 (plain) (tree)
1
2
3
4
5
6
7
8
9


                         
                 



                          
                      



                               
                       





                               
                           






                               
                           







                               
                           








                               
                 


                          






                                                   
                                 


                                                  
          
                        
           
                            

                                    


                  

                            

                                                   

           






                                                   






                                                   


               
                         







                               











                                                  





                                                   












                                                   


              
                         







                               











                                                  





                                                   








                                                  
                                                  

           


                
                        




















                                                  
          





                                                  





                                                   












                                                  


                 
                          












                               











                                                  





                                                   












                                                  


                    
                           























                                                  
          





                                                  





                                                  





                                                  










                                                  


                  
                              





















                                                  
                                    


                                                  
          





                                                  





                                                  





                                                  










                                                  


                
                            


























                                                  
                                    


                                                  
          





                                                  





                                                  





                                                  










                                                  


                  
                          






















                               











                                                  





                                                  











                                                  


                
                            

























                               











                                                  





                                                  











                                                  

       
                
                            



























                               













                                                  






                                                   












                                                  

       
                       
                          































                               













                                                  






                                                   












                                                  


                   
                          


































                               











                                                  





                                                  











                                                  


                    
                                 





























                               
                     

                    











                                                  





                                                  







                                                  
                                  


                                                  





































                               
                 
               
               

                



                           



                     






                                                  



                                     
                                                  


                                  
                                                  
           
          






                                                  

















                                                  

       
            
                         











                               













                                                  






                                                  






                                                                                                                                                                                    

       
                  
                         








                               
               







                    













                                                  






                                                  






                                                                                                                                                                                    


                   
                            







                               
              
               







                    

              

                    













                                                  






                                                  






                                                                                                                                                                                    


                    
                             







                               
              
               








                    

                   

                    













                                                  






                                                  






                                                                                                                                                                                    


                  
                              







                               
              
               











                    

                

                    













                                                  






                                                  







                                                                                                                                                                                    


            
                         




























                               













                                                  






                                                  







                                                                                                                                                                                    


             
                      





























                               













                                                  






                                                  







                                                                                                                                                                                    

       










































                                                  
              
                 


                          












                                                 


               
                        



                      











                                                 


               
                         













                                                                                                                                                                                                                                   
          





                                                 


               
                         



                      











                                                 


                
                 


                          












                                                 


                 
                          















                                                                                                                                                                                                                                   
          







                                                 


                 
                           



                      














                                                 


                
                 


                          











                                                    
       
      
                  
                          
                         































                                                  









                                                  


              
                          
                          

































                                                  
                                                       


                             
                                                                                   

           









                                                           

       

























                                                       
                                                                         










































































                                                                                          
            
                 


                          






                                                    


            
                 





                          
                 





                          
                 





                          
                 



                          

























                                                                                                      













                                                                                                                             










                                                            





                                                                         
     




























                                                                                            

   
{
  "microarchitectures": {
    "x86": {
      "from": [],
      "vendor": "generic",
      "features": []
    },
    "i686": {
      "from": ["x86"],
      "vendor": "GenuineIntel",
      "features": []
    },
    "pentium2": {
      "from": ["i686"],
      "vendor": "GenuineIntel",
      "features": [
        "mmx"
      ]
    },
    "pentium3": {
      "from": ["pentium2"],
      "vendor": "GenuineIntel",
      "features": [
        "mmx",
        "sse"
      ]
    },
    "pentium4": {
      "from": ["pentium3"],
      "vendor": "GenuineIntel",
      "features": [
        "mmx",
        "sse",
        "sse2"
      ]
    },
    "prescott": {
      "from": ["pentium4"],
      "vendor": "GenuineIntel",
      "features": [
        "mmx",
        "sse",
        "sse2",
        "sse3"
      ]
    },
    "x86_64": {
      "from": [],
      "vendor": "generic",
      "features": [],
      "compilers": {
        "gcc": [
          {
            "versions": "4.2.0:",
            "name": "x86-64",
            "flags": "-march={name} -mtune=generic"
          },
          {
            "versions": ":4.1.2",
            "name": "x86-64",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "apple-clang": [
          {
            "versions": ":",
            "name": "x86-64",
            "flags": "-march={name}"
          }
        ],
        "clang": [
          {
            "versions": ":",
            "name": "x86-64",
            "flags": "-march={name} -mtune=generic"
          }
        ],
        "aocc": [
          {
            "versions": "2.2:",
            "name": "x86-64",
            "flags": "-march={name} -mtune=generic"
          }
        ],
        "intel": [
          {
            "versions": ":",
            "name": "pentium4",
            "flags": "-march={name} -mtune=generic"
          }
        ]
      }
    },
    "nocona": {
      "from": ["x86_64"],
      "vendor": "GenuineIntel",
      "features": [
        "mmx",
        "sse",
        "sse2",
        "sse3"
      ],
      "compilers": {
        "gcc": [
          {
            "versions": "4.0.4:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "clang": [
          {
            "versions": "3.9:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "aocc": [
          {
            "versions": "2.2:",
            "flags": "-march={name} -mtune=generic"
          }
        ],
        "apple-clang": [
          {
            "versions": "8.0:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "intel": [
          {
            "versions": "16.0:",
            "name": "pentium4",
            "flags": "-march={name} -mtune=generic"
          }
        ]
      }
    },
    "core2": {
      "from": ["nocona"],
      "vendor": "GenuineIntel",
      "features": [
        "mmx",
        "sse",
        "sse2",
        "ssse3"
      ],
      "compilers": {
        "gcc": [
          {
            "versions": "4.3.0:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "clang": [
          {
            "versions": "3.9:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "aocc": [
          {
            "versions": "2.2:",
            "flags": "-march={name} -mtune=generic"
          }
        ],
        "apple-clang": [
          {
            "versions": "8.0:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "intel": [
          {
            "versions": "16.0:",
            "flags": "-march={name} -mtune={name}"
          }
        ]
      }
    },
    "nehalem": {
      "from": ["core2"],
      "vendor": "GenuineIntel",
      "features": [
        "mmx",
        "sse",
        "sse2",
        "ssse3",
        "sse4_1",
        "sse4_2",
        "popcnt"
      ],
      "compilers": {
        "gcc": [
          {
            "versions": "4.9:",
            "flags": "-march={name} -mtune={name}"
          },
          {
            "versions": "4.6:4.8.5",
            "name": "corei7",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "clang": [
          {
            "versions": "3.9:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "aocc": [
          {
            "versions": "2.2:",
            "flags": "-march={name} -mtune=generic"
          }
        ],
        "apple-clang": [
          {
            "versions": "8.0:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "intel": [
          {
            "versions": "16.0:",
            "name": "corei7",
            "flags": "-march={name} -mtune={name}"
          }
        ]
      }
    },
    "westmere": {
      "from": ["nehalem"],
      "vendor": "GenuineIntel",
      "features": [
        "mmx",
        "sse",
        "sse2",
        "ssse3",
        "sse4_1",
        "sse4_2",
        "popcnt",
        "aes",
        "pclmulqdq"
      ],
      "compilers": {
        "gcc": [
          {
            "versions": "4.9:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "clang": [
          {
            "versions": "3.9:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "aocc": [
          {
            "versions": "2.2:",
            "flags": "-march={name} -mtune=generic"
          }
        ],
        "apple-clang": [
          {
            "versions": "8.0:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "intel": [
          {
            "versions": "16.0:",
            "name": "corei7",
            "flags": "-march={name} -mtune={name}"
          }
        ]
      }
    },
    "sandybridge": {
      "from": ["westmere"],
      "vendor": "GenuineIntel",
      "features": [
        "mmx",
        "sse",
        "sse2",
        "ssse3",
        "sse4_1",
        "sse4_2",
        "popcnt",
        "aes",
        "pclmulqdq",
        "avx"
      ],
      "compilers": {
        "gcc": [
          {
            "versions": "4.9:",
            "flags": "-march={name} -mtune={name}"
          },
          {
            "versions": "4.6:4.8.5",
            "name": "corei7-avx",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "clang": [
          {
            "versions": "3.9:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "aocc": [
          {
            "versions": "2.2:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "apple-clang": [
          {
            "versions": "8.0:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "intel": [
          {
            "versions": "16.0:17.9.0",
            "name": "corei7-avx",
            "flags": "-march={name} -mtune={name}"
          },
          {
            "versions": "18.0:",
            "flags": "-march={name} -mtune={name}"
          }
        ]
      }
    },
    "ivybridge": {
      "from": ["sandybridge"],
      "vendor": "GenuineIntel",
      "features": [
        "mmx",
        "sse",
        "sse2",
        "ssse3",
        "sse4_1",
        "sse4_2",
        "popcnt",
        "aes",
        "pclmulqdq",
        "avx",
        "rdrand",
        "f16c"
      ],
      "compilers": {
        "gcc": [
          {
            "versions": "4.9:",
            "flags": "-march={name} -mtune={name}"
          },
          {
            "versions": "4.6:4.8.5",
            "name": "core-avx-i",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "clang": [
          {
            "versions": "3.9:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "aocc": [
          {
            "versions": "2.2:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "apple-clang": [
          {
            "versions": "8.0:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "intel": [
          {
            "versions": "16.0:17.9.0",
            "name": "core-avx-i",
            "flags": "-march={name} -mtune={name}"
          },
          {
            "versions": "18.0:",
            "flags": "-march={name} -mtune={name}"
          }
        ]
      }
    },
    "haswell": {
      "from": ["ivybridge"],
      "vendor": "GenuineIntel",
      "features": [
        "mmx",
        "sse",
        "sse2",
        "ssse3",
        "sse4_1",
        "sse4_2",
        "popcnt",
        "aes",
        "pclmulqdq",
        "avx",
        "rdrand",
        "f16c",
        "movbe",
        "fma",
        "avx2",
        "bmi1",
        "bmi2"
      ],
      "compilers": {
        "gcc": [
          {
            "versions": "4.9:",
            "flags": "-march={name} -mtune={name}"
          },
          {
            "versions": "4.8:4.8.5",
            "name": "core-avx2",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "clang": [
          {
            "versions": "3.9:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "aocc": [
          {
            "versions": "2.2:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "apple-clang": [
          {
            "versions": "8.0:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "intel": [
          {
            "versions": "16.0:17.9.0",
            "name": "core-avx2",
            "flags": "-march={name} -mtune={name}"
          },
          {
            "versions": "18.0:",
            "flags": "-march={name} -mtune={name}"
          }
        ]
      }
    },
    "broadwell": {
      "from": ["haswell"],
      "vendor": "GenuineIntel",
      "features": [
        "mmx",
        "sse",
        "sse2",
        "ssse3",
        "sse4_1",
        "sse4_2",
        "popcnt",
        "aes",
        "pclmulqdq",
        "avx",
        "rdrand",
        "f16c",
        "movbe",
        "fma",
        "avx2",
        "bmi1",
        "bmi2",
        "rdseed",
        "adx"
      ],
      "compilers": {
        "gcc": [
          {
            "versions": "4.9:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "clang": [
          {
            "versions": "3.9:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "aocc": [
          {
            "versions": "2.2:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "apple-clang": [
          {
            "versions": "8.0:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "intel": [
          {
            "versions": "18.0:",
            "flags": "-march={name} -mtune={name}"
          }
        ]
      }
    },
    "skylake": {
      "from": ["broadwell"],
      "vendor": "GenuineIntel",
      "features": [
        "mmx",
        "sse",
        "sse2",
        "ssse3",
        "sse4_1",
        "sse4_2",
        "popcnt",
        "aes",
        "pclmulqdq",
        "avx",
        "rdrand",
        "f16c",
        "movbe",
        "fma",
        "avx2",
        "bmi1",
        "bmi2",
        "rdseed",
        "adx",
        "clflushopt",
        "xsavec",
        "xsaveopt"
      ],
      "compilers": {
        "gcc": [
          {
            "versions": "6.0:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "clang": [
          {
            "versions": "3.9:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "aocc": [
          {
            "versions": "2.2:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "apple-clang": [
          {
            "versions": "8.0:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "intel": [
          {
            "versions": "18.0:",
            "flags": "-march={name} -mtune={name}"
          }
        ]
      }
    },
    "mic_knl": {
      "from": ["broadwell"],
      "vendor": "GenuineIntel",
      "features": [
        "mmx",
        "sse",
        "sse2",
        "ssse3",
        "sse4_1",
        "sse4_2",
        "popcnt",
        "aes",
        "pclmulqdq",
        "avx",
        "rdrand",
        "f16c",
        "movbe",
        "avx2",
        "fma",
        "avx2",
        "bmi1",
        "bmi2",
        "rdseed",
        "adx",
        "avx512f",
        "avx512pf",
        "avx512er",
        "avx512cd"
      ],
      "compilers": {
        "gcc": [
          {
            "versions": "5.1:",
            "name": "knl",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "clang": [
          {
            "versions": "3.9:",
            "name": "knl",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "aocc": [
          {
            "versions": "2.2:",
            "name": "knl",
            "flags": "-march={name} -mtune=generic"
          }
        ],
        "apple-clang": [
          {
            "versions": "8.0:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "intel": [
          {
            "versions": "18.0:",
            "name": "knl",
            "flags": "-march={name} -mtune={name}"
          }
        ]
      }
    },
    "skylake_avx512": {
      "from": ["skylake"],
      "vendor": "GenuineIntel",
      "features": [
        "mmx",
        "sse",
        "sse2",
        "ssse3",
        "sse4_1",
        "sse4_2",
        "popcnt",
        "aes",
        "pclmulqdq",
        "avx",
        "rdrand",
        "f16c",
        "movbe",
        "fma",
        "avx2",
        "bmi1",
        "bmi2",
        "rdseed",
        "adx",
        "clflushopt",
        "xsavec",
        "xsaveopt",
        "avx512f",
        "clwb",
        "avx512vl",
        "avx512bw",
        "avx512dq",
        "avx512cd"
      ],
      "compilers": {
        "gcc": [
          {
            "name": "skylake-avx512",
            "versions": "6.0:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "clang": [
          {
            "versions": "3.9:",
            "name": "skylake-avx512",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "aocc": [
          {
            "versions": "2.2:",
            "name": "skylake-avx512",
            "flags": "-march={name} -mtune=generic"
          }
        ],
        "apple-clang": [
          {
            "versions": "8.0:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "intel": [
          {
            "versions": "18.0:",
            "name": "skylake-avx512",
            "flags": "-march={name} -mtune={name}"
          }
        ]
      }
    },
    "cannonlake": {
      "from": ["skylake"],
      "vendor": "GenuineIntel",
      "features": [
        "mmx",
        "sse",
        "sse2",
        "ssse3",
        "sse4_1",
        "sse4_2",
        "popcnt",
        "aes",
        "pclmulqdq",
        "avx",
        "rdrand",
        "f16c",
        "movbe",
        "fma",
        "avx2",
        "bmi1",
        "bmi2",
        "rdseed",
        "adx",
        "clflushopt",
        "xsavec",
        "xsaveopt",
        "avx512f",
        "avx512vl",
        "avx512bw",
        "avx512dq",
        "avx512cd",
        "avx512vbmi",
        "avx512ifma",
        "sha",
        "umip"
      ],
      "compilers": {
        "gcc": [
          {
            "versions": "8.0:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "clang": [
          {
            "versions": "3.9:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "aocc": [
          {
            "versions": "2.2:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "apple-clang": [
          {
            "versions": "8.0:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "intel": [
          {
            "versions": "18.0:",
            "flags": "-march={name} -mtune={name}"
          }
        ]
      }
    },
    "cascadelake": {
      "from": ["skylake_avx512"],
      "vendor": "GenuineIntel",
      "features": [
        "mmx",
        "sse",
        "sse2",
        "ssse3",
        "sse4_1",
        "sse4_2",
        "popcnt",
        "aes",
        "pclmulqdq",
        "avx",
        "rdrand",
        "f16c",
        "movbe",
        "fma",
        "avx2",
        "bmi1",
        "bmi2",
        "rdseed",
        "adx",
        "clflushopt",
        "xsavec",
        "xsaveopt",
        "avx512f",
        "clwb",
        "avx512vl",
        "avx512bw",
        "avx512dq",
        "avx512cd",
        "avx512_vnni"
      ],
      "compilers": {
        "gcc": [
          {
            "versions": "9.0:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "clang": [
          {
            "versions": "8.0:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "aocc": [
          {
            "versions": "2.2:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "apple-clang": [
          {
            "versions": "11.0:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "intel": [
          {
            "versions": "19.0.1:",
            "flags": "-march={name} -mtune={name}"
          }
        ]
      }
    },
    "icelake": {
      "from": [
        "cascadelake",
        "cannonlake"
      ],
      "vendor": "GenuineIntel",
      "features": [
        "mmx",
        "sse",
        "sse2",
        "ssse3",
        "sse4_1",
        "sse4_2",
        "popcnt",
        "aes",
        "pclmulqdq",
        "avx",
        "rdrand",
        "f16c",
        "movbe",
        "fma",
        "avx2",
        "bmi1",
        "bmi2",
        "rdseed",
        "adx",
        "clflushopt",
        "xsavec",
        "xsaveopt",
        "avx512f",
        "avx512vl",
        "avx512bw",
        "avx512dq",
        "avx512cd",
        "avx512vbmi",
        "avx512ifma",
        "sha_ni",
        "umip",
        "clwb",
        "rdpid",
        "gfni",
        "avx512_vbmi2",
        "avx512_vpopcntdq",
        "avx512_bitalg",
        "avx512_vnni",
        "vpclmulqdq",
        "vaes"
      ],
      "compilers": {
        "gcc": [
          {
            "name": "icelake-client",
            "versions": "8.0:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "clang": [
          {
            "versions": "7.0:",
            "name": "icelake-client",
            "flags": "-march={name} -mtune={name}"
          },
          {
            "versions": "6.0:6.9",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "aocc": [
          {
            "versions": "2.2:",
            "name": "icelake-client",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "apple-clang": [
          {
            "versions": "10.0.1:",
            "name": "icelake-client",
            "flags": "-march={name} -mtune={name}"
          },
          {
            "versions": "10.0.0:10.0.99",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "intel": [
          {
            "versions": "18.0:",
            "name": "icelake-client",
            "flags": "-march={name} -mtune={name}"
          }
        ]
      }
    },
    "k10": {
      "from": ["x86_64"],
      "vendor": "AuthenticAMD",
      "features": [
        "mmx",
        "sse",
        "sse2",
        "sse4a",
        "abm",
        "cx16",
        "3dnow",
        "3dnowext"
      ],
      "compilers": {
        "gcc": [
          {
            "name": "amdfam10",
            "versions": "4.3:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "clang": [
          {
            "versions": "3.9:",
            "name": "amdfam10",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "aocc": [
          {
            "versions": "2.2:",
            "name": "amdfam10",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "intel": [
          {
            "versions": "16.0:",
            "warnings": "Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors",
            "flags": "-msse2"
          }
        ]
      }
    },
    "bulldozer": {
      "from": ["x86_64"],
      "vendor": "AuthenticAMD",
      "features": [
        "mmx",
        "sse",
        "sse2",
        "sse4a",
        "abm",
        "avx",
        "xop",
        "fma4",
        "aes",
        "pclmulqdq",
        "cx16",
        "ssse3",
        "sse4_1",
        "sse4_2"
      ],
      "compilers": {
        "gcc": [
          {
            "name": "bdver1",
            "versions": "4.7:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "clang": [
          {
            "versions": "3.9:",
            "name": "bdver1",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "aocc": [
          {
            "versions": "2.2:",
            "name": "bdver1",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "intel": [
          {
            "versions": "16.0:",
            "warnings": "Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors",
            "flags": "-msse3"
          }
        ]
      }
    },
    "piledriver": {
      "from": ["bulldozer"],
      "vendor": "AuthenticAMD",
      "features": [
        "mmx",
        "sse",
        "sse2",
        "sse4a",
        "abm",
        "avx",
        "xop",
        "fma4",
        "aes",
        "pclmulqdq",
        "cx16",
        "ssse3",
        "sse4_1",
        "sse4_2",
        "bmi1",
        "f16c",
        "fma",
        "tbm"
      ],
      "compilers": {
        "gcc": [
          {
            "name": "bdver2",
            "versions": "4.7:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "clang": [
          {
            "versions": "3.9:",
            "name": "bdver2",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "aocc": [
          {
            "versions": "2.2:",
            "name": "bdver2",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "intel": [
          {
            "versions": "16.0:",
            "warnings": "Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors",
            "flags": "-msse3"
          }
        ]
      }
    },
    "steamroller": {
      "from": ["piledriver"],
      "vendor": "AuthenticAMD",
      "features": [
        "mmx",
        "sse",
        "sse2",
        "sse4a",
        "abm",
        "avx",
        "xop",
        "fma4",
        "aes",
        "pclmulqdq",
        "cx16",
        "ssse3",
        "sse4_1",
        "sse4_2",
        "bmi1",
        "f16c",
        "fma",
        "fsgsbase",
        "tbm"
      ],
      "compilers": {
        "gcc": [
          {
            "name": "bdver3",
            "versions": "4.8:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "clang": [
          {
            "versions": "3.9:",
            "name": "bdver3",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "aocc": [
          {
            "versions": "2.2:",
            "name": "bdver3",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "intel": [
          {
            "versions": "16.0:",
            "warnings": "Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors",
            "flags": "-msse4.2"
          }
        ]
      }
    },
    "excavator": {
      "from": ["steamroller"],
      "vendor": "AuthenticAMD",
      "features": [
        "mmx",
        "sse",
        "sse2",
        "sse4a",
        "abm",
        "avx",
        "xop",
        "fma4",
        "aes",
        "pclmulqdq",
        "cx16",
        "ssse3",
        "sse4_1",
        "sse4_2",
        "bmi1",
        "f16c",
        "fma",
        "fsgsbase",
        "bmi2",
        "avx2",
        "movbe",
        "tbm"
      ],
      "compilers": {
        "gcc": [
          {
            "name": "bdver4",
            "versions": "4.9:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "clang": [
          {
            "versions": "3.9:",
            "name": "bdver4",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "aocc": [
          {
            "versions": "2.2:",
            "name": "bdver4",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "intel": [
          {
            "versions": "16.0:",
            "warnings": "Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors",
            "name": "core-avx2",
            "flags": "-march={name} -mtune={name}"
          }
        ]
      }
    },
    "zen": {
      "from": ["x86_64"],
      "vendor": "AuthenticAMD",
      "features": [
        "bmi1",
        "bmi2",
        "f16c",
        "fma",
        "fsgsbase",
        "avx",
        "avx2",
        "rdseed",
        "clzero",
        "aes",
        "pclmulqdq",
        "cx16",
        "movbe",
        "mmx",
        "sse",
        "sse2",
        "sse4a",
        "ssse3",
        "sse4_1",
        "sse4_2",
        "abm",
        "xsavec",
        "xsaveopt",
        "clflushopt",
        "popcnt"
      ],
      "compilers": {
        "gcc": [
          {
            "name": "znver1",
            "versions": "6.0:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "clang": [
          {
            "versions": "4.0:",
            "name": "znver1",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "aocc": [
          {
            "versions": "2.2:",
            "name": "znver1",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "intel": [
          {
            "versions": "16.0:",
            "warnings": "Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors",
            "name": "core-avx2",
            "flags": "-march={name} -mtune={name}"
          }
        ]
      }
    },
    "zen2": {
      "from": ["zen"],
      "vendor": "AuthenticAMD",
      "features": [
        "bmi1",
        "bmi2",
        "f16c",
        "fma",
        "fsgsbase",
        "avx",
        "avx2",
        "rdseed",
        "clzero",
        "aes",
        "pclmulqdq",
        "cx16",
        "movbe",
        "mmx",
        "sse",
        "sse2",
        "sse4a",
        "ssse3",
        "sse4_1",
        "sse4_2",
        "abm",
        "xsavec",
        "xsaveopt",
        "clflushopt",
        "popcnt",
        "clwb"
      ],
      "compilers": {
        "gcc": [
          {
            "name": "znver2",
            "versions": "9.0:",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "clang": [
          {
            "versions": "9.0:",
            "name": "znver2",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "aocc": [
          {
            "versions": "2.2:",
            "name": "znver2",
            "flags": "-march={name} -mtune={name}"
          }
        ],
        "intel": [
          {
            "versions": "16.0:",
            "warnings": "Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors",
            "name": "core-avx2",
            "flags": "-march={name} -mtune={name}"
          }
        ]
      }
    },
    "zen3": {
      "from": ["zen2"],
      "vendor": "AuthenticAMD",
      "features": [
        "bmi1",
        "bmi2",
        "f16c",
        "fma",
        "fsgsbase",
        "avx",
        "avx2",
        "rdseed",
        "clzero",
        "aes",
        "pclmulqdq",
        "cx16",
        "movbe",
        "mmx",
        "sse",
        "sse2",
        "sse4a",
        "ssse3",
        "sse4_1",
        "sse4_2",
        "abm",
        "xsavec",
        "xsaveopt",
        "clflushopt",
        "popcnt",
        "clwb",
        "vaes",
        "vpclmulqdq"
      ],
      "compilers": {
        "aocc": [
          {
            "versions": "3.0:",
            "name": "znver3",
            "flags": "-march={name} -mtune={name}"
          }
        ]
      }
    },
    "ppc64": {
      "from": [],
      "vendor": "generic",
      "features": [],
      "compilers": {
        "gcc": [
          {
            "name": "powerpc64",
            "versions": ":",
            "flags": "-mcpu={name} -mtune={name}"
          }
        ],
        "clang": [
          {
            "versions": ":",
            "flags": "-mcpu={name} -mtune={name}"
          }
        ]
      }
    },
    "power7": {
      "from": ["ppc64"],
      "vendor": "IBM",
      "generation": 7,
      "features": [],
      "compilers": {
        "gcc": [
          {
            "versions": "4.4:",
            "flags": "-mcpu={name} -mtune={name}"
          }
        ],
        "clang": [
          {
            "versions": "3.9:",
            "flags": "-mcpu={name} -mtune={name}"
          }
        ]
      }
    },
    "power8": {
      "from": ["power7"],
      "vendor": "IBM",
      "generation": 8,
      "features": [],
      "compilers": {
        "gcc": [
          {
            "versions": "4.9:",
            "flags": "-mcpu={name} -mtune={name}"
          },
          {
            "versions": "4.8:4.8.5",
            "warnings": "Using GCC 4.8 to optimize for Power 8 might not work if you are not on Red Hat Enterprise Linux 7, where a custom backport of the feature has been done. Upstream support from GCC starts in version 4.9",
            "flags": "-mcpu={name} -mtune={name}"
          }
        ],
        "clang": [
          {
            "versions": "3.9:",
            "flags": "-mcpu={name} -mtune={name}"
          }
        ]
      }
    },
    "power9": {
      "from": ["power8"],
      "vendor": "IBM",
      "generation": 9,
      "features": [],
      "compilers": {
        "gcc": [
          {
            "versions": "6.0:",
            "flags": "-mcpu={name} -mtune={name}"
          }
        ],
        "clang": [
          {
            "versions": "3.9:",
            "flags": "-mcpu={name} -mtune={name}"
          }
        ]
      }
    },
    "ppc64le": {
      "from": [],
      "vendor": "generic",
      "features": [],
      "compilers": {
        "gcc": [
          {
            "name": "powerpc64le",
            "versions": "4.8:",
            "flags": "-mcpu={name} -mtune={name}"
          }
        ],
        "clang": [
          {
            "versions": ":",
            "flags": "-mcpu={name} -mtune={name}"
          }
        ]
      }
    },
    "power8le": {
      "from": ["ppc64le"],
      "vendor": "IBM",
      "generation": 8,
      "features": [],
      "compilers": {
        "gcc": [
          {
            "versions": "4.9:",
            "name": "power8",
            "flags": "-mcpu={name} -mtune={name}"
          },
          {
            "versions": "4.8:4.8.5",
            "warnings": "Using GCC 4.8 to optimize for Power 8 might not work if you are not on Red Hat Enterprise Linux 7, where a custom backport of the feature has been done. Upstream support from GCC starts in version 4.9",
            "name": "power8",
            "flags": "-mcpu={name} -mtune={name}"
          }
        ],
        "clang": [
          {
            "versions": "3.9:",
            "family": "ppc64le",
            "name": "power8",
            "flags": "-mcpu={name} -mtune={name}"
          }
        ]
      }
    },
    "power9le": {
      "from": ["power8le"],
      "vendor": "IBM",
      "generation": 9,
      "features": [],
      "compilers": {
        "gcc": [
          {
            "name": "power9",
            "versions": "6.0:",
            "flags": "-mcpu={name} -mtune={name}"
          }
        ],
        "clang": [
          {
            "versions": "3.9:",
            "family": "ppc64le",
            "name": "power9",
            "flags": "-mcpu={name} -mtune={name}"
          }
        ]
      }
    },
    "aarch64": {
      "from": [],
      "vendor": "generic",
      "features": [],
      "compilers": {
        "gcc": [
          {
            "versions": "4.8.0:",
            "flags": "-march=armv8-a -mtune=generic"
          }
        ],
        "clang": [
          {
            "versions": ":",
            "flags": "-march=armv8-a -mtune=generic"
          }
        ]
      }
    },
    "thunderx2": {
      "from": ["aarch64"],
      "vendor": "Cavium",
      "features": [
        "fp",
        "asimd",
        "evtstrm",
        "aes",
        "pmull",
        "sha1",
        "sha2",
        "crc32",
        "atomics",
        "cpuid",
        "asimdrdm"
      ],
      "compilers": {
        "gcc": [
          {
            "versions": "4.8:4.8.9",
            "flags": "-march=armv8-a"
          },
          {
            "versions": "4.9:5.9",
            "flags": "-march=armv8-a+crc+crypto"
          },
          {
            "versions": "6:6.9",
            "flags": "-march=armv8.1-a+crc+crypto"
          },
          {
            "versions": "7:",
            "flags": "-mcpu=thunderx2t99"
          }
        ],
        "clang": [
          {
            "versions": "3.9:4.9",
            "flags": "-march=armv8.1-a+crc+crypto"
          },
          {
            "versions": "5:",
            "flags": "-mcpu=thunderx2t99"
          }
        ]
      }
    },
    "a64fx": {
      "from": ["aarch64"],
      "vendor": "Fujitsu",
      "features": [
        "fp",
        "asimd",
        "evtstrm",
        "aes",
        "pmull",
        "sha1",
        "sha2",
        "crc32",
        "atomics",
        "cpuid",
        "asimdrdm",
        "fphp",
        "asimdhp",
        "fcma",
        "dcpop",
        "sve"
      ],
      "compilers": {
        "gcc": [
          {
            "versions": "4.8:4.8.9",
            "flags": "-march=armv8-a"
          },
          {
            "versions": "4.9:5.9",
            "flags": "-march=armv8-a+crc+crypto"
          },
          {
            "versions": "6:6.9",
            "flags": "-march=armv8.1-a+crc+crypto"
          },
          {
            "versions": "7:7.9",
            "flags": "-march=armv8.2-a+crc+crypto+fp16"
          },
          {
            "versions": "8:",
            "flags": "-march=armv8.2-a+crc+aes+sha2+fp16+sve -msve-vector-bits=512"
          }
        ],
        "clang": [
          {
            "versions": "3.9:4.9",
            "flags": "-march=armv8.2-a+crc+crypto+fp16"
          },
          {
            "versions": "5:",
            "flags": "-march=armv8.2-a+crc+crypto+fp16+sve"
          }
        ]
      }
    },
    "graviton": {
      "from": ["aarch64"],
      "vendor": "ARM",
      "features": [
          "fp",
          "asimd",
          "evtstrm",
          "aes",
          "pmull",
          "sha1",
          "sha2",
          "crc32",
          "cpuid"
      ],
      "compilers" : {
          "gcc": [
              {
                  "versions": "4.8:4.8.9",
                  "flags" : "-march=armv8-a"
              },
              {
                  "versions": "4.9:5.9",
                  "flags" : "-march=armv8-a+crc+crypto"
              },
              {
                  "versions": "6:",
                  "flags" : "-march=armv8-a+crc+crypto -mtune=cortex-a72"
              }
          ],
          "clang" : [
              {
                  "versions": "3.9:",
                  "flags" : "-march=armv8-a+crc+crypto"
              }
          ]
      }
    },
    "graviton2": {
      "from": ["aarch64"],
      "vendor": "ARM",
      "features": [
          "fp",
          "asimd",
          "evtstrm",
          "aes",
          "pmull",
          "sha1",
          "sha2",
          "crc32",
          "atomics",
          "fphp",
          "asimdhp",
          "cpuid",
          "asimdrdm",
          "lrcpc",
          "dcpop",
          "asimddp",
          "ssbs"
      ],
      "compilers" : {
          "gcc": [
              {
                  "versions": "4.8:4.8.9",
                  "flags": "-march=armv8-a"
              },
              {
                  "versions": "4.9:5.9",
                  "flags": "-march=armv8-a+crc+crypto"
              },
              {
                  "versions": "6:6.9",
                  "flags" : "-march=armv8.1-a"
              },
              {
                  "versions": "7:7.9",
                  "flags" : "-march=armv8.2-a+fp16 -mtune=cortex-a72"
              },
              {
                  "versions": "8.0:8.0",
                  "flags" : "-march=armv8.2-a+fp16+dotprod+crypto -mtune=cortex-a72"
              },
              {
                  "versions": "8.1:8.9",
                  "flags" : "-march=armv8.2-a+fp16+rcpc+dotprod+crypto -mtune=cortex-a72"
              },
              {
                  "versions": "9.0:",
                  "flags" : "-march=armv8.2-a+fp16+rcpc+dotprod+crypto -mtune=neoverse-n1"
              }
          ],
          "clang" : [
              {
                  "versions": "3.9:4.9",
                  "flags" : "-march=armv8.2-a+fp16+crc+crypto"
              },
              {
                  "versions": "5:",
                  "flags" : "-march=armv8.2-a+fp16+rcpc+dotprod+crypto"
              }
          ]
      }
    },
    "arm": {
      "from": [],
      "vendor": "generic",
      "features": [],
      "compilers": {
        "clang": [
          {
            "versions": ":",
            "family": "arm",
            "flags": "-march={family} -mcpu=generic"
          }
        ]
      }
    },
    "ppc": {
      "from": [],
      "vendor": "generic",
      "features": [],
      "compilers": {
      }
    },
    "ppcle": {
      "from": [],
      "vendor": "generic",
      "features": [],
      "compilers": {
      }
    },
    "sparc": {
      "from": [],
      "vendor": "generic",
      "features": [],
      "compilers": {
      }
    },
    "sparc64": {
      "from": [],
      "vendor": "generic",
      "features": [],
      "compilers": {
      }
    }
  },
  "feature_aliases": {
    "sse3": {
      "reason": "ssse3 is a superset of sse3 and might be the only one listed",
      "any_of": [
        "ssse3"
      ]
    },
    "avx512": {
      "reason": "avx512 indicates generic support for any of the avx512 instruction sets",
      "any_of": [
        "avx512f",
        "avx512vl",
        "avx512bw",
        "avx512dq",
        "avx512cd"
      ]
    },
    "altivec": {
      "reason": "altivec is supported by Power PC architectures, but might not be listed in features",
      "families": [
        "ppc64le",
        "ppc64"
      ]
    },
    "vsx": {
      "reason": "VSX alitvec extensions are supported by PowerISA from v2.06 (Power7+), but might not be listed in features",
      "families": [
        "ppc64le",
        "ppc64"
      ]
    },
    "fma": {
      "reason": "FMA has been supported by PowerISA since Power1, but might not be listed in features",
      "families": [
        "ppc64le",
        "ppc64"
      ]
    },
    "sse4.1": {
      "reason": "permits to refer to sse4_1 also as sse4.1",
      "any_of": [
        "sse4_1"
      ]
    },
    "sse4.2": {
      "reason": "permits to refer to sse4_2 also as sse4.2",
      "any_of": [
        "sse4_2"
      ]
    },
    "neon": {
      "reason": "NEON is required in all standard ARMv8 implementations",
      "families": [
        "aarch64"
      ]
    }
  },
  "conversions": {
    "description": "Conversions that map some platform specific values to canonical values",
    "arm_vendors": {
      "0x41": "ARM",
      "0x42": "Broadcom",
      "0x43": "Cavium",
      "0x44": "DEC",
      "0x46": "Fujitsu",
      "0x48": "HiSilicon",
      "0x49": "Infineon Technologies AG",
      "0x4d": "Motorola",
      "0x4e": "Nvidia",
      "0x50": "APM",
      "0x51": "Qualcomm",
      "0x53": "Samsung",
      "0x56": "Marvell",
      "0x61": "Apple",
      "0x66": "Faraday",
      "0x68": "HXT",
      "0x69": "Intel"
    },
    "darwin_flags": {
      "sse4.1": "sse4_1",
      "sse4.2": "sse4_2",
      "avx1.0": "avx",
      "clfsopt": "clflushopt",
      "xsave": "xsavec xsaveopt"
    }
  }
}