summaryrefslogtreecommitdiff
path: root/sys/src/cmd/7l/asmout.c
diff options
context:
space:
mode:
authorAidan K. Wiggins <akw@oneiri.one>2023-05-18 23:42:31 +0000
committerSigrid Solveig Haflínudóttir <sigrid@ftrv.se>2023-05-18 23:42:31 +0000
commit9ebe38c9602310d6c8404e1d8104a744c09f0215 (patch)
tree1965d2e1d0a4996a9d0b98aff65da84bd78873b7 /sys/src/cmd/7l/asmout.c
parent90a09ca00c063457f86a14207ca63991b1f910c4 (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.c46
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;
}