Make improvements

- Introduce portable sched_getcpu() api
- Support GCC's __target_clones__ feature
- Make fma() go faster on x86 in default mode
- Remove some asan checks from core libraries
- WinMain() now ensures $HOME and $USER are defined
This commit is contained in:
Justine Tunney 2024-02-01 03:39:46 -08:00
parent d5225a693b
commit 2ab9e9f7fd
No known key found for this signature in database
GPG key ID: BE714B4575D6E328
192 changed files with 2809 additions and 932 deletions

View file

@ -5,7 +5,7 @@
#include "libc/nexgen32e/x86feature.h"
COSMOPOLITAN_C_START_
#define TSC_AUX_CORE(MSR) ((MSR)&0xfff)
#define TSC_AUX_CORE(MSR) ((MSR) & 0xfff)
#define TSC_AUX_NODE(MSR) (((MSR) >> 12) & 0xfff)
/**
@ -41,9 +41,10 @@ COSMOPOLITAN_C_START_
asm volatile("rdpid\t%0" : "=r"(Msr) : /* no inputs */ : "memory"); \
Ok = true; \
} else if (IsLinux()) { \
char *p = (char *)0x7b; \
asm volatile(ZFLAG_ASM("lsl\t%2,%1") \
: ZFLAG_CONSTRAINT(Ok), "=r"(Msr) \
: "r"(0x7b) \
: "r"(p) \
: "memory"); \
} \
if (!Ok && X86_HAVE(RDTSCP)) { \