Skip to content

apple-m1 compiler optimisations for aarch64-darwin? #166401

@Atemu

Description

@Atemu

Issue description

apple-m1 = {
gcc = {
arch = "armv8.3-a+crypto+sha2+aes+crc+fp16+lse+simd+ras+rdm+rcpc";
cpu = "apple-a13";
};
};

adds inappropriate arch args for apple-m1. According to Apple clang, arch = "armv8.5a+fp-armv8+neon+crc+crypto+dotprod+fp16fml+ras+lse+rdm+rcpc+zcm+zcz+fullfp16+sm4+sha3+sha2+aes";.

(The string isn't even correct for apple-13 AFAICT, it's armv8.4a.)

Is there any reason against setting arch to the string above?

Secondly, is there any reason against setting cpu = "apple-m1"; once llvm12 is default? llvm11 doesn't support that cpu type; what would happen if a package's llvm was overridden to be llvm11?

cc @thefloweringash @NixOS/darwin-maintainers

Metadata

Metadata

Assignees

No one assigned

    Labels

    2.status: stalehttps://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md6.topic: darwinRunning or building packages on Darwin
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions