authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-09-06 23:58:29+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-09-07 01:29:52+02:00
log1c96211cc5125b2f46dc882c5e656e57a569d7bd
tree4fd16ba9bd716e82f7b764c96b486cc6ba4b1163
parent211e35aa2b6fa0abf9c943f95922ab6c21343cde
signature Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

std.os.linux: add HWCAP constants for powerpc


1 files changed, 50 insertions(+), 0 deletions(-)

lib/std/os/linux.zig+50
......@@ -828,6 +828,56 @@ pub const HWCAP = switch (native_arch) {
828828 pub const LOONGSON_EXT2 = 1 << 13;
829829 pub const LOONGSON_CPUCFG = 1 << 14;
830830 },
831 .powerpc, .powerpcle, .powerpc64, .powerpc64le => struct {
832 pub const PPC_LE = 1 << 0;
833 pub const TRUE_LE = 1 << 1;
834 pub const PSERIES_PERFMON_COMPAT = 1 << 6;
835 pub const HAS_VSX = 1 << 7;
836 pub const ARCH_2_06 = 1 << 8;
837 pub const POWER6_EXT = 1 << 9;
838 pub const HAS_DFP = 1 << 10;
839 pub const PA6T = 1 << 11;
840 pub const ARCH_2_05 = 1 << 12;
841 pub const ICACHE_SNOOP = 1 << 13;
842 pub const SMT = 1 << 14;
843 pub const BOOKE = 1 << 15;
844 pub const CELL = 1 << 16;
845 pub const POWER5_PLUS = 1 << 17;
846 pub const POWER5 = 1 << 18;
847 pub const POWER4 = 1 << 19;
848 pub const NO_TB = 1 << 20;
849 pub const HAS_EFP_DOUBLE = 1 << 21;
850 pub const HAS_EFP_SINGLE = 1 << 22;
851 pub const HAS_SPE = 1 << 23;
852 pub const UNIFIED_CACHE = 1 << 24;
853 pub const HAS_4xxMAC = 1 << 25;
854 pub const HAS_MMU = 1 << 26;
855 pub const HAS_FPU = 1 << 27;
856 pub const HAS_ALTIVEC = 1 << 28;
857 pub const @"601_INSTR" = 1 << 29;
858 pub const @"64" = 1 << 30;
859 pub const @"32" = 1 << 31;
860
861 pub const @"2" = struct {
862 pub const DMF = 1 << 15;
863 pub const ARCH_3_2 = 1 << 16;
864 pub const MMA = 1 << 17;
865 pub const ARCH_3_1 = 1 << 18;
866 pub const HTM_NO_SUSPEND = 1 << 19;
867 pub const SCV = 1 << 20;
868 pub const DARN = 1 << 21;
869 pub const HAS_IEEE128 = 1 << 22;
870 pub const ARCH_3_00 = 1 << 23;
871 pub const HTM_NOSC = 1 << 24;
872 pub const VEC_CRYPTO = 1 << 25;
873 pub const TAR = 1 << 26;
874 pub const ISEL = 1 << 27;
875 pub const EBB = 1 << 28;
876 pub const DSCR = 1 << 29;
877 pub const HTM = 1 << 30;
878 pub const ARCH_2_07 = 1 << 31;
879 };
880 },
831881 .s390x => struct {
832882 pub const ESAN3 = 1 << 0;
833883 pub const ZARCH = 1 << 1;