mirror of
https://codeberg.org/ziglang/zig.git
synced 2025-12-06 05:44:20 +00:00
stage1: update zig1.wasm
Needed due to LoongArch CPU model changes. Signed-off-by: Alex Rønne Petersen <alex@alexrp.com>
This commit is contained in:
parent
5e9e1fb0c8
commit
4aa35160eb
2 changed files with 13 additions and 3 deletions
16
stage1/zig.h
16
stage1/zig.h
|
|
@ -4195,7 +4195,17 @@ static inline void* zig_x86_64_windows_teb(void) {
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(zig_x86)
|
#if defined(zig_loongarch)
|
||||||
|
|
||||||
|
static inline void zig_loongarch_cpucfg(uint32_t word, uint32_t* result) {
|
||||||
|
#if defined(zig_gnuc_asm)
|
||||||
|
__asm__("cpucfg %[result], %[word]" : [result] "=r" (result) : [word] "r" (word));
|
||||||
|
#else
|
||||||
|
*result = 0;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
#elif defined(zig_x86)
|
||||||
|
|
||||||
static inline void zig_x86_cpuid(uint32_t leaf_id, uint32_t subid, uint32_t* eax, uint32_t* ebx, uint32_t* ecx, uint32_t* edx) {
|
static inline void zig_x86_cpuid(uint32_t leaf_id, uint32_t subid, uint32_t* eax, uint32_t* ebx, uint32_t* ecx, uint32_t* edx) {
|
||||||
#if defined(zig_msvc)
|
#if defined(zig_msvc)
|
||||||
|
|
@ -4206,7 +4216,7 @@ static inline void zig_x86_cpuid(uint32_t leaf_id, uint32_t subid, uint32_t* eax
|
||||||
*ecx = (uint32_t)cpu_info[2];
|
*ecx = (uint32_t)cpu_info[2];
|
||||||
*edx = (uint32_t)cpu_info[3];
|
*edx = (uint32_t)cpu_info[3];
|
||||||
#elif defined(zig_gnuc_asm)
|
#elif defined(zig_gnuc_asm)
|
||||||
__asm__("cpuid" : "=a"(*eax), "=b"(*ebx), "=c"(*ecx), "=d"(*edx) : "a"(leaf_id), "c"(subid));
|
__asm__("cpuid" : "=a" (*eax), "=b" (*ebx), "=c" (*ecx), "=d" (*edx) : "a" (leaf_id), "c" (subid));
|
||||||
#else
|
#else
|
||||||
*eax = 0;
|
*eax = 0;
|
||||||
*ebx = 0;
|
*ebx = 0;
|
||||||
|
|
@ -4221,7 +4231,7 @@ static inline uint32_t zig_x86_get_xcr0(void) {
|
||||||
#elif defined(zig_gnuc_asm)
|
#elif defined(zig_gnuc_asm)
|
||||||
uint32_t eax;
|
uint32_t eax;
|
||||||
uint32_t edx;
|
uint32_t edx;
|
||||||
__asm__("xgetbv" : "=a"(eax), "=d"(edx) : "c"(0));
|
__asm__("xgetbv" : "=a" (eax), "=d" (edx) : "c" (0));
|
||||||
return eax;
|
return eax;
|
||||||
#else
|
#else
|
||||||
*eax = 0;
|
*eax = 0;
|
||||||
|
|
|
||||||
BIN
stage1/zig1.wasm
BIN
stage1/zig1.wasm
Binary file not shown.
Loading…
Add table
Reference in a new issue