authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-09-06 23:27:39+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-09-07 01:40:59+02:00
log0e78d77d4dbfec26bfeb240962cd46cd7b2e40c6
tree8e80dfec4ecd4f85efc1d4568e04affae136757a
parent96b1105ddaa12dbefa5c9f489da0c52c7e35f201
signature Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

std.zig.system.loongarch: use hwcap for lam_bh detection


1 files changed, 4 insertions(+), 1 deletions(-)

lib/std/zig/system/loongarch.zig+4-1
...@@ -66,6 +66,8 @@ pub fn detectNativeCpuAndFeatures(...@@ -66,6 +66,8 @@ pub fn detectNativeCpuAndFeatures(
6666
67 setFeature(&cpu, .lvz, (hwcap_bits & HWCAP.LVZ) != 0);67 setFeature(&cpu, .lvz, (hwcap_bits & HWCAP.LVZ) != 0);
68 setFeature(&cpu, .lbt, (hwcap_bits & HWCAP.LBT_X86) != 0 and (hwcap_bits & HWCAP.LBT_ARM) != 0 and (hwcap_bits & HWCAP.LBT_MIPS) != 0);68 setFeature(&cpu, .lbt, (hwcap_bits & HWCAP.LBT_X86) != 0 and (hwcap_bits & HWCAP.LBT_ARM) != 0 and (hwcap_bits & HWCAP.LBT_MIPS) != 0);
69
70 setFeature(&cpu, .lam_bh, (hwcap_bits & HWCAP.LAM_BH) != 0);
69 } else {71 } else {
70 setFeature(&cpu, .ual, false);72 setFeature(&cpu, .ual, false);
7173
...@@ -76,11 +78,12 @@ pub fn detectNativeCpuAndFeatures(...@@ -76,11 +78,12 @@ pub fn detectNativeCpuAndFeatures(
7678
77 setFeature(&cpu, .lvz, false);79 setFeature(&cpu, .lvz, false);
78 setFeature(&cpu, .lbt, false);80 setFeature(&cpu, .lbt, false);
81
82 setFeature(&cpu, .lam_bh, false);
79 }83 }
8084
81 setFeature(&cpu, .frecipe, bit(cfg2, 25));85 setFeature(&cpu, .frecipe, bit(cfg2, 25));
82 setFeature(&cpu, .div32, bit(cfg2, 26));86 setFeature(&cpu, .div32, bit(cfg2, 26));
83 setFeature(&cpu, .lam_bh, bit(cfg2, 27));
84 setFeature(&cpu, .lamcas, bit(cfg2, 28));87 setFeature(&cpu, .lamcas, bit(cfg2, 28));
85 setFeature(&cpu, .scq, bit(cfg2, 30));88 setFeature(&cpu, .scq, bit(cfg2, 30));
8689