summaryrefslogblamecommitdiff
path: root/lib/spack/llnl/util/cpu/microarchitectures.json
blob: 55b40d65ae2ac24bf6ceade9a604a68f92081f64 (plain) (tree)


















































                               






                                                   
                                 


                                                  
          


                                       

                                    


                            

                                                   

           



                                                 
         












                               
                               
                                                


                             
                                                




                                                 













                               
                               
                                                


                             
                                                



                                                 

























                                                  


                             
                                                




                                                
         



















                                                


                             
                                                




                                                




























                                                  


                             
                                                











                                                  

























                                                  
                                    


                                                  


                             
                                                











                                                  






























                                                  
                                    


                                                  


                             
                                                











                                                  





























                                                


                             
                                                



                                                































                               
                             
                                                


                             
                                                



                                                


         

































                                                



                             
                                                




                                                


         



































                                   
                             
                                                



                                   
                                                




                                                








































                               
                             
                                                


                             
                                                



                                                


































                               
                     


                    
                             
                                                


                             
                                                



                                                





















































                                   
                             
                                                




                                     
                                                  


                                  
                                                  
           





                                                

       





















                                                
                                                







                                                                                                                                                                                  
                  
                       








                               
               









                           
                             
                                                



                             
                                                




                                                                                                                                                                                  












                               
              
               







                    

              





                                                



                             
                                                




                                                                                                                                                                                  












                               
              
               








                    

                   





                                                



                             
                                                




                                                                                                                                                                                  












                               
              
               











                    

                





                                                



                             
                                                





                                                                                                                                                                                  



            
                       






























                               
                             
                                                



                             
                                                





                                                                                                                                                                                  




































                               
                             
                                                



                             
                                                





                                                                                                                                                                                  








                          
                              
                          
                                               


                          
                                               









                      
                             
                                               


                             
                                               


















                                                                                                                                                                                                                                   


                             
                                               
         








                       
                             
                                               


                             
                                               








                          
                                
                             
                                               


                          
                                               




















                                                                                                                                                                                                                                   



                              

                                               
         









                           
                             
                                               



                              

                                               








                          
                               
                                                  


                          
                                                  

         
      

                        
                         































                                                  









                                                  



                        
                          

































                                                  
                                                      


                             
                                                                                  

           









                                                           

       




                          




                                                  




























                          




































                                                                                                      





                                                                         
     




























                                                                                            

   
{
  "microarchitectures": {
    "x86": {
      "from": null,
      "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": null,
      "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}"
          }
        ],
        "clang": [
          {
            "versions": "0.0.0-apple:",
            "name": "x86-64",
            "flags": "-march={name}"
          },
          {
            "versions": ":",
            "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}"
        },
        "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}"
        },
        "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}"
        },
        "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}"
        },
        "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}"
        },
        "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}"
        },
        "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}"
        },
        "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}"
        },
        "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}"
        },
        "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}"
        },
        "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}"
        },
        "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}"
        },
        "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}"
        },
        "intel": {
          "versions": "19.0:",
          "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",
        "umip",
        "clwb",
        "rdpid",
        "gfni",
        "avx512vbmi2",
        "avx512vpopcntdq",
        "avx512bitalg",
        "avx512vnni",
        "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}"
          }
        ],
        "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}"
        },
        "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}"
        },
        "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}"
        },
        "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}"
        },
        "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}"
        },
        "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}"
        },
        "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}"
        },
        "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}"
        }
      }
    },
    "ppc64": {
      "from": null,
      "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": null,
      "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": null,
      "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.2a+crc+crypto+fp16"
          },
          {
            "versions": "8:",
            "flags": "-march=armv8.2a+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"
          }
        ]
      }
    },
    "arm": {
      "from": null,
      "vendor": "generic",
      "features": [],
      "compilers": {
        "clang": {
          "versions": ":",
          "family": "arm",
          "flags": "-march={family} -mcpu=generic"
        }
      }
    },
    "ppc": {
      "from": null,
      "vendor": "generic",
      "features": [],
      "compilers": {
      }
    },
    "ppcle": {
      "from": null,
      "vendor": "generic",
      "features": [],
      "compilers": {
      }
    },
    "sparc": {
      "from": null,
      "vendor": "generic",
      "features": [],
      "compilers": {
      }
    },
    "sparc64": {
      "from": null,
      "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"
      ]
    },
    "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"
    }
  }
}