git: 9front

Download patch

ref: ca2589a116ffc67710f4ec1deb9df212ec8aad0e
parent: 10f1eeb7d5162f612e15679bfb9d033d1eb5c992
author: mia soweli <mia@soweli.net>
date: Fri Jun 6 12:00:55 EDT 2025

v[al]: add SYNC (memory barrier)

--- a/sys/src/cmd/va/lex.c
+++ b/sys/src/cmd/va/lex.c
@@ -343,6 +343,7 @@
 	"REMU",		LTYPE6, AREMU,
 	"RET",		LTYPE4, ARET,
 	"SYSCALL",	LTYPE4, ASYSCALL,
+	"SYNC",		LTYPE4, ASYNC,
 	"TLBP",		LTYPE4, ATLBP,
 	"TLBR",		LTYPE4, ATLBR,
 	"TLBWI",	LTYPE4, ATLBWI,
--- a/sys/src/cmd/vc/v.out.h
+++ b/sys/src/cmd/vc/v.out.h
@@ -157,6 +157,7 @@
 
 	ALL,
 	ASC,
+	ASYNC,
 
 	ALAST,
 };
--- a/sys/src/cmd/vl/asm.c
+++ b/sys/src/cmd/vl/asm.c
@@ -1360,6 +1360,7 @@
 
 	case ABREAK:	return OP(1,5);
 	case ASYSCALL:	return OP(1,4);
+	case ASYNC:	return OP(1,7);
 	case ATLBP:	return MMU(1,0);
 	case ATLBR:	return MMU(0,1);
 	case ATLBWI:	return MMU(0,2);
--- a/sys/src/cmd/vl/optab.c
+++ b/sys/src/cmd/vl/optab.c
@@ -229,7 +229,7 @@
 	{ ABCASE,	C_LCON,	C_NONE,	C_LBRA,		 46, 4, 0 },
 
 	{ ALL,		C_REG,	C_NONE,	C_SOREG,	 7, 4, REGZERO },
-	{ ASC,		C_REG,	C_NONE,	C_SOREG,	 7, 4, REGZERO }, 
+	{ ASC,		C_REG,	C_NONE,	C_SOREG,	 7, 4, REGZERO },
 
 	{ AXXX,		C_NONE,	C_NONE,	C_NONE,		 0, 4, 0 },
 };
--- a/sys/src/cmd/vl/span.c
+++ b/sys/src/cmd/vl/span.c
@@ -584,6 +584,7 @@
 			oprange[ATLBR] = oprange[r];
 			oprange[ATLBWI] = oprange[r];
 			oprange[ATLBWR] = oprange[r];
+			oprange[ASYNC] = oprange[r];
 			break;
 		case ACMPEQF:
 			oprange[ACMPGTF] = oprange[r];
--