From 79ff43adf5aac1cf7b2e3e188aaf1c70be9096d8 Mon Sep 17 00:00:00 2001 From: Justine Tunney Date: Tue, 29 Dec 2020 23:52:27 -0800 Subject: [PATCH] Apply touchups to last commit --- third_party/chibicc/as.c | 4 +++- third_party/chibicc/as.main.c | 5 ----- third_party/chibicc/chibicc.mk | 2 +- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/third_party/chibicc/as.c b/third_party/chibicc/as.c index 981c92620..fd720e0fd 100644 --- a/third_party/chibicc/as.c +++ b/third_party/chibicc/as.c @@ -2014,7 +2014,6 @@ static int ParseModrm(struct As *a, int *disp) { ││││││ │ ┌index or size ││││││ │ │ ┌base or reg │││││├──────┐├┐├─┐├─┐ - 000100000000000100101 0b00000000000000000000000000000000*/ struct Slice str; int reg, scale, modrm = 0; @@ -2866,6 +2865,7 @@ static void OnFildl(struct As *a, struct Slice s) { OpFpu1(a, 0xDB, 0); } static void OnFildll(struct As *a, struct Slice s) { OpFpu1(a, 0xDF, 5); } static void OnFildq(struct As *a, struct Slice s) { OpFpu1(a, 0xDF, 5); } static void OnFilds(struct As *a, struct Slice s) { OpFpu1(a, 0xDF, 0); } +static void OnFistpq(struct As *a, struct Slice s) { OpFpu1(a, 0xDF, 7); } static void OnFisttpq(struct As *a, struct Slice s) { OpFpu1(a, 0xDD, 1); } static void OnFisttps(struct As *a, struct Slice s) { OpFpu1(a, 0xDF, 1); } static void OnFld(struct As *a, struct Slice s) { OpFpu1(a, 0xD9, 0); } @@ -3280,6 +3280,8 @@ static const struct Directive8 { {"fildll", OnFildll}, // {"fildq", OnFildq}, // {"filds", OnFilds}, // + {"fistpq", OnFistpq}, // + {"fistpll", OnFistpq}, // {"fisttpll", OnFisttpq}, // {"fisttpq", OnFisttpq}, // {"fisttps", OnFisttps}, // diff --git a/third_party/chibicc/as.main.c b/third_party/chibicc/as.main.c index f02cc4b63..6e61db41b 100644 --- a/third_party/chibicc/as.main.c +++ b/third_party/chibicc/as.main.c @@ -20,11 +20,6 @@ int main(int argc, char *argv[]) { showcrashreports(); - if (argc == 1) { - system("o//third_party/chibicc/as.com -o /tmp/o /home/jart/trash/hog.s"); - system("objdump -xwd /tmp/o"); - exit(0); - } Assembler(argc, argv); return 0; } diff --git a/third_party/chibicc/chibicc.mk b/third_party/chibicc/chibicc.mk index a5c923f39..10cc3dccb 100644 --- a/third_party/chibicc/chibicc.mk +++ b/third_party/chibicc/chibicc.mk @@ -112,7 +112,7 @@ o/$(MODE)/third_party/chibicc/as.com.dbg: \ $(THIRD_PARTY_CHIBICC_A) \ $(APE) \ $(CRT) \ - o/$(MODE)/third_party/chibicc/as.o \ + o/$(MODE)/third_party/chibicc/as.main.o \ $(THIRD_PARTY_CHIBICC_A).pkg @$(APELINK)