ziglang / zig

General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
https://ziglang.org
MIT License
34.65k stars 2.53k forks source link

mcpu missing support for big.little arch #21828

Closed Ra2-IFV closed 17 hours ago

Ra2-IFV commented 18 hours ago

Zig Version

0.14.0-dev.2051+b1361f237

Steps to Reproduce and Observed Behavior

zig targets | grep cortex

zig targets | grep cortex
   "cortex_a12": [
   "cortex_a15": [
   "cortex_a17": [
   "cortex_a32": [
   "cortex_a35": [
   "cortex_a5": [
   "cortex_a53": [
   "cortex_a55": [
   "cortex_a57": [
    "fix_cortex_a57_aes_1742098",
   "cortex_a7": [
   "cortex_a710": [
   "cortex_a72": [
    "fix_cortex_a57_aes_1742098",
   "cortex_a73": [
   "cortex_a75": [
   "cortex_a76": [
   "cortex_a76ae": [
   "cortex_a77": [
   "cortex_a78": [
   "cortex_a78ae": [
   "cortex_a78c": [
   "cortex_a8": [
   "cortex_a9": [
   "cortex_m0": [
   "cortex_m0plus": [
   "cortex_m1": [
   "cortex_m23": [
   "cortex_m3": [
   "cortex_m33": [
   "cortex_m35p": [
   "cortex_m4": [
   "cortex_m52": [
   "cortex_m55": [
   "cortex_m7": [
   "cortex_m85": [
   "cortex_r4": [
   "cortex_r4f": [
   "cortex_r5": [
   "cortex_r52": [
   "cortex_r52plus": [
   "cortex_r7": [
   "cortex_r8": [
   "cortex_x1": [
   "cortex_x1c": [
   "cortex_a12": [
   "cortex_a15": [
   "cortex_a17": [
   "cortex_a32": [
   "cortex_a35": [
   "cortex_a5": [
   "cortex_a53": [
   "cortex_a55": [
   "cortex_a57": [
    "fix_cortex_a57_aes_1742098",
   "cortex_a7": [
   "cortex_a710": [
   "cortex_a72": [
    "fix_cortex_a57_aes_1742098",
   "cortex_a73": [
   "cortex_a75": [
   "cortex_a76": [
   "cortex_a76ae": [
   "cortex_a77": [
   "cortex_a78": [
   "cortex_a78ae": [
   "cortex_a78c": [
   "cortex_a8": [
   "cortex_a9": [
   "cortex_m0": [
   "cortex_m0plus": [
   "cortex_m1": [
   "cortex_m23": [
   "cortex_m3": [
   "cortex_m33": [
   "cortex_m35p": [
   "cortex_m4": [
   "cortex_m52": [
   "cortex_m55": [
   "cortex_m7": [
   "cortex_m85": [
   "cortex_r4": [
   "cortex_r4f": [
   "cortex_r5": [
   "cortex_r52": [
   "cortex_r52plus": [
   "cortex_r7": [
   "cortex_r8": [
   "cortex_x1": [
   "cortex_x1c": [
   "cortex_a12": [
   "cortex_a15": [
   "cortex_a17": [
   "cortex_a32": [
   "cortex_a35": [
   "cortex_a5": [
   "cortex_a53": [
   "cortex_a55": [
   "cortex_a57": [
    "fix_cortex_a57_aes_1742098",
   "cortex_a7": [
   "cortex_a710": [
   "cortex_a72": [
    "fix_cortex_a57_aes_1742098",
   "cortex_a73": [
   "cortex_a75": [
   "cortex_a76": [
   "cortex_a76ae": [
   "cortex_a77": [
   "cortex_a78": [
   "cortex_a78ae": [
   "cortex_a78c": [
   "cortex_a8": [
   "cortex_a9": [
   "cortex_m0": [
   "cortex_m0plus": [
   "cortex_m1": [
   "cortex_m23": [
   "cortex_m3": [
   "cortex_m33": [
   "cortex_m35p": [
   "cortex_m4": [
   "cortex_m52": [
   "cortex_m55": [
   "cortex_m7": [
   "cortex_m85": [
   "cortex_r4": [
   "cortex_r4f": [
   "cortex_r5": [
   "cortex_r52": [
   "cortex_r52plus": [
   "cortex_r7": [
   "cortex_r8": [
   "cortex_x1": [
   "cortex_x1c": [
   "cortex_a12": [
   "cortex_a15": [
   "cortex_a17": [
   "cortex_a32": [
   "cortex_a35": [
   "cortex_a5": [
   "cortex_a53": [
   "cortex_a55": [
   "cortex_a57": [
    "fix_cortex_a57_aes_1742098",
   "cortex_a7": [
   "cortex_a710": [
   "cortex_a72": [
    "fix_cortex_a57_aes_1742098",
   "cortex_a73": [
   "cortex_a75": [
   "cortex_a76": [
   "cortex_a76ae": [
   "cortex_a77": [
   "cortex_a78": [
   "cortex_a78ae": [
   "cortex_a78c": [
   "cortex_a8": [
   "cortex_a9": [
   "cortex_m0": [
   "cortex_m0plus": [
   "cortex_m1": [
   "cortex_m23": [
   "cortex_m3": [
   "cortex_m33": [
   "cortex_m35p": [
   "cortex_m4": [
   "cortex_m52": [
   "cortex_m55": [
   "cortex_m7": [
   "cortex_m85": [
   "cortex_r4": [
   "cortex_r4f": [
   "cortex_r5": [
   "cortex_r52": [
   "cortex_r52plus": [
   "cortex_r7": [
   "cortex_r8": [
   "cortex_x1": [
   "cortex_x1c": [
   "cortex_a34": [
   "cortex_a35": [
   "cortex_a510": [
   "cortex_a520": [
   "cortex_a520ae": [
   "cortex_a53": [
   "cortex_a55": [
   "cortex_a57": [
   "cortex_a65": [
   "cortex_a65ae": [
   "cortex_a710": [
   "cortex_a715": [
   "cortex_a72": [
   "cortex_a720": [
   "cortex_a720ae": [
   "cortex_a725": [
   "cortex_a73": [
   "cortex_a75": [
   "cortex_a76": [
   "cortex_a76ae": [
   "cortex_a77": [
   "cortex_a78": [
   "cortex_a78ae": [
   "cortex_a78c": [
   "cortex_r82": [
   "cortex_r82ae": [
   "cortex_x1": [
   "cortex_x1c": [
   "cortex_x2": [
   "cortex_x3": [
   "cortex_x4": [
   "cortex_x925": [
   "cortex_a34": [
   "cortex_a35": [
   "cortex_a510": [
   "cortex_a520": [
   "cortex_a520ae": [
   "cortex_a53": [
   "cortex_a55": [
   "cortex_a57": [
   "cortex_a65": [
   "cortex_a65ae": [
   "cortex_a710": [
   "cortex_a715": [
   "cortex_a72": [
   "cortex_a720": [
   "cortex_a720ae": [
   "cortex_a725": [
   "cortex_a73": [
   "cortex_a75": [
   "cortex_a76": [
   "cortex_a76ae": [
   "cortex_a77": [
   "cortex_a78": [
   "cortex_a78ae": [
   "cortex_a78c": [
   "cortex_r82": [
   "cortex_r82ae": [
   "cortex_x1": [
   "cortex_x1c": [
   "cortex_x2": [
   "cortex_x3": [
   "cortex_x4": [
   "cortex_x925": [
   "fix_cortex_a57_aes_1742098",
   "fix_cortex_a57_aes_1742098",
   "fix_cortex_a57_aes_1742098",
   "fix_cortex_a57_aes_1742098",
   "fix_cortex_a53_835769",
   "fix_cortex_a53_835769",

Expected Behavior

Should return a cpu for big.little architecture cpus. GCC supports them.

The values ‘cortex-a57.cortex-a53’, ‘cortex-a72.cortex-a53’, ‘cortex-a73.cortex-a35’, ‘cortex-a73.cortex-a53’, ‘cortex-a75.cortex-a55’, ‘cortex-a76.cortex-a55’ specify that GCC should tune for a big.LITTLE system.

alexrp commented 18 hours ago

We source these from LLVM. There's no compelling reason for us to add these on our side unless either a) we can take advantage of them in the (incomplete) self-hosted Arm backend, or b) LLVM can take advantage of them in its Arm backend. Is either of these true?

Ra2-IFV commented 17 hours ago

Not done yet