new arm64 backend, yeepee
This commit is contained in:
parent
96836855a5
commit
61090c758d
10 changed files with 1537 additions and 4 deletions
17
Makefile
17
Makefile
|
@ -6,10 +6,12 @@ OBJDIR = obj
|
|||
SRC = main.c util.c parse.c cfg.c mem.c ssa.c alias.c load.c copy.c \
|
||||
fold.c live.c spill.c rega.c gas.c
|
||||
AMD64SRC = amd64/targ.c amd64/sysv.c amd64/isel.c amd64/emit.c
|
||||
SRCALL = $(SRC) $(AMD64SRC)
|
||||
ARM64SRC = arm64/targ.c arm64/abi.c arm64/isel.c arm64/emit.c
|
||||
SRCALL = $(SRC) $(AMD64SRC) $(ARM64SRC)
|
||||
|
||||
AMD64OBJ = $(AMD64SRC:%.c=$(OBJDIR)/%.o)
|
||||
OBJ = $(SRC:%.c=$(OBJDIR)/%.o) $(AMD64OBJ)
|
||||
ARM64OBJ = $(ARM64SRC:%.c=$(OBJDIR)/%.o)
|
||||
OBJ = $(SRC:%.c=$(OBJDIR)/%.o) $(AMD64OBJ) $(ARM64OBJ)
|
||||
|
||||
CFLAGS += -Wall -Wextra -std=c99 -g -pedantic
|
||||
|
||||
|
@ -24,10 +26,12 @@ $(OBJDIR)/%.o: %.c $(OBJDIR)/timestamp
|
|||
$(OBJDIR)/timestamp:
|
||||
@mkdir -p $(OBJDIR)
|
||||
@mkdir -p $(OBJDIR)/amd64
|
||||
@mkdir -p $(OBJDIR)/arm64
|
||||
@touch $@
|
||||
|
||||
$(OBJ): all.h ops.h
|
||||
$(AMD64OBJ): amd64/all.h
|
||||
$(ARM64OBJ): arm64/all.h
|
||||
obj/main.o: config.h
|
||||
|
||||
config.h:
|
||||
|
@ -38,7 +42,14 @@ config.h:
|
|||
;; \
|
||||
*) \
|
||||
echo "#define Defasm Gaself"; \
|
||||
echo "#define Deftgt T_amd64_sysv"; \
|
||||
case `uname -m` in \
|
||||
*aarch64*) \
|
||||
echo "$define Deftgt T_arm64"; \
|
||||
;; \
|
||||
*) \
|
||||
echo "#define Deftgt T_amd64_sysv";\
|
||||
;; \
|
||||
esac \
|
||||
;; \
|
||||
esac > $@
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue