diff options
author | Quentin Carbonneaux <quentin.carbonneaux@yale.edu> | 2016-02-11 16:10:08 -0500 |
---|---|---|
committer | Quentin Carbonneaux <quentin.carbonneaux@yale.edu> | 2016-02-11 16:12:11 -0500 |
commit | 53a5d7de2a7f84bf364753aaa3587121e8077937 (patch) | |
tree | 71ce6a5754f4dc91d97124e6a65431092f5519b9 /lisc/parse.c | |
parent | 96251837db7c698a76d997f1449f0cd47885f203 (diff) | |
download | roux-53a5d7de2a7f84bf364753aaa3587121e8077937.tar.gz |
fp cmp fixes (highly untested)
Diffstat (limited to 'lisc/parse.c')
-rw-r--r-- | lisc/parse.c | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/lisc/parse.c b/lisc/parse.c index b0d011c..a77904c 100644 --- a/lisc/parse.c +++ b/lisc/parse.c @@ -49,10 +49,18 @@ OpDesc opdesc[NOp] = { [OAlloc] = { "alloc4", 1 }, [OAlloc+1] = { "alloc8", 1 }, [OAlloc+2] = { "alloc16", 1 }, + [OXSetnp] = { "xsetnp", 0}, + [OXSetp] = { "xsetp", 0}, #define X(c) \ - [OCmp+C##c] = { "c" #c, 0 }, \ - [OXSet+C##c] = { "xset" #c, 0 }, - CMPS(X) + [OCmpw+IC##c] = { "c" #c "w", 0 }, \ + [OCmpl+IC##c] = { "c" #c "l", 0 }, \ + [OXSet+IC##c] = { "xset" #c, 0 }, + ICMPS(X) +#undef X +#define X(c) \ + [OCmps+FC##c] = { "c" #c "s", 0 }, \ + [OCmpd+FC##c] = { "c" #c "d", 0 }, + FCMPS(X) #undef X }; @@ -917,8 +925,10 @@ printfn(Fn *fn, FILE *f) [JRetl] = "retl", [JRetc] = "retc", [JJnz] = "jnz", - #define X(c) [JXJc+C##c] = "xj" #c, - CMPS(X) + [JXJnp] = "xjnp", + [JXJp] = "xjp", + #define X(c) [JXJc+IC##c] = "xj" #c, + ICMPS(X) #undef X }; static char prcls[NOp] = { |