Avoid legacy instruction penalties on x86

This commit is contained in:
Justine Tunney 2024-07-31 01:02:24 -07:00
parent 1fba310e22
commit 8d8aecb6d9
No known key found for this signature in database
GPG key ID: BE714B4575D6E328
16 changed files with 199 additions and 158 deletions

View file

@ -56,6 +56,13 @@ $(THIRD_PARTY_NSYNC_A_OBJS): private \
-Wframe-larger-than=4096 \
-Walloca-larger-than=4096
# avoid the legacy sse decoding penalty on avx systems
ifeq ($(MODE),)
$(THIRD_PARTY_NSYNC_A_OBJS): private \
COPTS += \
-mgeneral-regs-only
endif
# these assembly files are safe to build on aarch64
o/$(MODE)/third_party/nsync/compat.o: third_party/nsync/compat.S
@$(COMPILE) -AOBJECTIFY.S $(OBJECTIFY.S) $(OUTPUT_OPTION) -c $<

View file

@ -49,6 +49,13 @@ $(THIRD_PARTY_NSYNC_MEM_A_OBJS): private \
-Wframe-larger-than=4096 \
-Walloca-larger-than=4096
# avoid the legacy sse decoding penalty on avx systems
ifeq ($(MODE),)
$(THIRD_PARTY_NSYNC_MEM_A_OBJS): private \
COPTS += \
-mgeneral-regs-only
endif
THIRD_PARTY_NSYNC_MEM_LIBS = $(foreach x,$(THIRD_PARTY_NSYNC_MEM_ARTIFACTS),$($(x)))
THIRD_PARTY_NSYNC_MEM_SRCS = $(foreach x,$(THIRD_PARTY_NSYNC_MEM_ARTIFACTS),$($(x)_SRCS))
THIRD_PARTY_NSYNC_MEM_CHECKS = $(foreach x,$(THIRD_PARTY_NSYNC_MEM_ARTIFACTS),$($(x)_CHECKS))