diff options
author | Aidan K. Wiggins <akw@oneiri.one> | 2023-05-18 23:42:31 +0000 |
---|---|---|
committer | Sigrid Solveig Haflínudóttir <sigrid@ftrv.se> | 2023-05-18 23:42:31 +0000 |
commit | 9ebe38c9602310d6c8404e1d8104a744c09f0215 (patch) | |
tree | 1965d2e1d0a4996a9d0b98aff65da84bd78873b7 /sys/src/cmd/7l/asmout.c | |
parent | 90a09ca00c063457f86a14207ca63991b1f910c4 (diff) |
7l, 7c: Remove STLP(W), finish LDAXR(W)/STLXR(W).
Diffstat (limited to 'sys/src/cmd/7l/asmout.c')
-rw-r--r-- | sys/src/cmd/7l/asmout.c | 46 |
1 files changed, 27 insertions, 19 deletions
diff --git a/sys/src/cmd/7l/asmout.c b/sys/src/cmd/7l/asmout.c index 342c35687..0820e36b1 100644 --- a/sys/src/cmd/7l/asmout.c +++ b/sys/src/cmd/7l/asmout.c @@ -1451,20 +1451,25 @@ opload(int a) switch(a){ case ALDAR: return LDSTX(3,1,1,0,1) | 0x1F<<10; case ALDARW: return LDSTX(2,1,1,0,1) | 0x1F<<10; - case ALDARB: return LDSTX(0,1,1,0,1) | 0x1F<<10; case ALDARH: return LDSTX(1,1,1,0,1) | 0x1F<<10; + case ALDARB: return LDSTX(0,1,1,0,1) | 0x1F<<10; + case ALDAXP: return LDSTX(3,0,1,1,1); case ALDAXPW: return LDSTX(2,0,1,1,1); + case ALDAXR: return LDSTX(3,0,1,0,1) | 0x1F<<10; - case ALDAXRW: return LDSTX(2,1,1,0,1) | 0x1F<<10; - case ALDAXRB: return LDSTX(0,0,1,0,1) | 0x1F<<10; + case ALDAXRW: return LDSTX(2,0,1,0,1) | 0x1F<<10; case ALDAXRH: return LDSTX(1,0,1,0,1) | 0x1F<<10; - case ALDXR: return LDSTX(3,0,1,0,0) | 0x1F<<10; - case ALDXRB: return LDSTX(0,0,1,0,0) | 0x1F<<10; - case ALDXRH: return LDSTX(1,0,1,0,0) | 0x1F<<10; - case ALDXRW: return LDSTX(2,0,1,0,0) | 0x1F<<10; - case ALDXP: return LDSTX(3,0,1,1,0); - case ALDXPW: return LDSTX(2,0,1,1,0); + case ALDAXRB: return LDSTX(0,0,1,0,1) | 0x1F<<10; + + case ALDXR: return LDSTX(3,0,1,0,0) | 0x1F<<10; + case ALDXRW: return LDSTX(2,0,1,0,0) | 0x1F<<10; + case ALDXRH: return LDSTX(1,0,1,0,0) | 0x1F<<10; + case ALDXRB: return LDSTX(0,0,1,0,0) | 0x1F<<10; + + case ALDXP: return LDSTX(3,0,1,1,0); + case ALDXPW: return LDSTX(2,0,1,1,0); + case AMOVNP: return S64 | 0<<30 | 5<<27 | 0<<26 | 0<<23 | 1<<22; case AMOVNPW: return S32 | 0<<30 | 5<<27 | 0<<26 | 0<<23 | 1<<22; } @@ -1477,23 +1482,26 @@ opstore(int a) { switch(a){ case ASTLR: return LDSTX(3,1,0,0,1) | 0x1F<<10; - case ASTLRB: return LDSTX(0,1,0,0,1) | 0x1F<<10; - case ASTLRH: return LDSTX(1,1,0,0,1) | 0x1F<<10; - case ASTLP: return LDSTX(3,0,0,1,1); - case ASTLPW: return LDSTX(2,0,0,1,1); case ASTLRW: return LDSTX(2,1,0,0,1) | 0x1F<<10; - case ASTLXP: return LDSTX(2,0,0,1,1); - case ASTLXPW: return LDSTX(3,0,0,1,1); + case ASTLRH: return LDSTX(1,1,0,0,1) | 0x1F<<10; + case ASTLRB: return LDSTX(0,1,0,0,1) | 0x1F<<10; + + case ASTLXP: return LDSTX(3,0,0,1,1); + case ASTLXPW: return LDSTX(2,0,0,1,1); + case ASTLXR: return LDSTX(3,0,0,0,1) | 0x1F<<10; - case ASTLXRB: return LDSTX(0,0,0,0,1) | 0x1F<<10; - case ASTLXRH: return LDSTX(1,0,0,0,1) | 0x1F<<10; case ASTLXRW: return LDSTX(2,0,0,0,1) | 0x1F<<10; + case ASTLXRH: return LDSTX(1,0,0,0,1) | 0x1F<<10; + case ASTLXRB: return LDSTX(0,0,0,0,1) | 0x1F<<10; + case ASTXR: return LDSTX(3,0,0,0,0) | 0x1F<<10; - case ASTXRB: return LDSTX(0,0,0,0,0) | 0x1F<<10; + case ASTXRW: return LDSTX(2,0,0,0,0) | 0x1F<<10; case ASTXRH: return LDSTX(1,0,0,0,0) | 0x1F<<10; + case ASTXRB: return LDSTX(0,0,0,0,0) | 0x1F<<10; + case ASTXP: return LDSTX(3,0,0,1,0); case ASTXPW: return LDSTX(2,0,0,1,0); - case ASTXRW: return LDSTX(2,0,0,0,0) | 0x1F<<10; + case AMOVNP: return S64 | 0<<30 | 5<<27 | 0<<26 | 0<<23 | 1<<22; case AMOVNPW: return S32 | 0<<30 | 5<<27 | 0<<26 | 0<<23 | 1<<22; } |