aboutsummaryrefslogtreecommitdiff
path: root/ops/sr
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2023-06-24 20:48:32 +0300
committerKimplul <kimi.h.kuparinen@gmail.com>2023-06-24 22:10:50 +0300
commit422b6c976e28445d2a6e14586fa416b0f16c093f (patch)
treea6bf3364cec45ed0c5d48e346a76a98fe9d0094a /ops/sr
downloadcopyjit-422b6c976e28445d2a6e14586fa416b0f16c093f.tar.gz
copyjit-422b6c976e28445d2a6e14586fa416b0f16c093f.zip
initial commit
Diffstat (limited to 'ops/sr')
-rwxr-xr-xops/sr/gen_sr.sh39
-rw-r--r--ops/sr/source.mk2
-rw-r--r--ops/sr/sra0.c4
-rw-r--r--ops/sr/sra1.c4
-rw-r--r--ops/sr/sra10.c4
-rw-r--r--ops/sr/sra11.c4
-rw-r--r--ops/sr/sra12.c4
-rw-r--r--ops/sr/sra13.c4
-rw-r--r--ops/sr/sra14.c4
-rw-r--r--ops/sr/sra15.c4
-rw-r--r--ops/sr/sra16.c4
-rw-r--r--ops/sr/sra17.c4
-rw-r--r--ops/sr/sra18.c4
-rw-r--r--ops/sr/sra19.c4
-rw-r--r--ops/sr/sra2.c4
-rw-r--r--ops/sr/sra20.c4
-rw-r--r--ops/sr/sra21.c4
-rw-r--r--ops/sr/sra22.c4
-rw-r--r--ops/sr/sra23.c4
-rw-r--r--ops/sr/sra24.c4
-rw-r--r--ops/sr/sra25.c4
-rw-r--r--ops/sr/sra26.c4
-rw-r--r--ops/sr/sra27.c4
-rw-r--r--ops/sr/sra28.c4
-rw-r--r--ops/sr/sra29.c4
-rw-r--r--ops/sr/sra3.c4
-rw-r--r--ops/sr/sra30.c4
-rw-r--r--ops/sr/sra31.c4
-rw-r--r--ops/sr/sra32.c4
-rw-r--r--ops/sr/sra33.c4
-rw-r--r--ops/sr/sra34.c4
-rw-r--r--ops/sr/sra35.c4
-rw-r--r--ops/sr/sra36.c4
-rw-r--r--ops/sr/sra37.c4
-rw-r--r--ops/sr/sra38.c4
-rw-r--r--ops/sr/sra39.c4
-rw-r--r--ops/sr/sra4.c4
-rw-r--r--ops/sr/sra40.c4
-rw-r--r--ops/sr/sra41.c4
-rw-r--r--ops/sr/sra42.c4
-rw-r--r--ops/sr/sra43.c4
-rw-r--r--ops/sr/sra44.c4
-rw-r--r--ops/sr/sra45.c4
-rw-r--r--ops/sr/sra46.c4
-rw-r--r--ops/sr/sra47.c4
-rw-r--r--ops/sr/sra48.c4
-rw-r--r--ops/sr/sra49.c4
-rw-r--r--ops/sr/sra5.c4
-rw-r--r--ops/sr/sra50.c4
-rw-r--r--ops/sr/sra51.c4
-rw-r--r--ops/sr/sra52.c4
-rw-r--r--ops/sr/sra53.c4
-rw-r--r--ops/sr/sra54.c4
-rw-r--r--ops/sr/sra55.c4
-rw-r--r--ops/sr/sra56.c4
-rw-r--r--ops/sr/sra57.c4
-rw-r--r--ops/sr/sra58.c4
-rw-r--r--ops/sr/sra59.c4
-rw-r--r--ops/sr/sra6.c4
-rw-r--r--ops/sr/sra60.c4
-rw-r--r--ops/sr/sra61.c4
-rw-r--r--ops/sr/sra62.c4
-rw-r--r--ops/sr/sra63.c4
-rw-r--r--ops/sr/sra7.c4
-rw-r--r--ops/sr/sra8.c4
-rw-r--r--ops/sr/sra9.c4
-rw-r--r--ops/sr/sro0.c4
-rw-r--r--ops/sr/sro1.c4
-rw-r--r--ops/sr/sro10.c4
-rw-r--r--ops/sr/sro11.c4
-rw-r--r--ops/sr/sro12.c4
-rw-r--r--ops/sr/sro13.c4
-rw-r--r--ops/sr/sro14.c4
-rw-r--r--ops/sr/sro15.c4
-rw-r--r--ops/sr/sro16.c4
-rw-r--r--ops/sr/sro17.c4
-rw-r--r--ops/sr/sro18.c4
-rw-r--r--ops/sr/sro19.c4
-rw-r--r--ops/sr/sro2.c4
-rw-r--r--ops/sr/sro20.c4
-rw-r--r--ops/sr/sro21.c4
-rw-r--r--ops/sr/sro22.c4
-rw-r--r--ops/sr/sro23.c4
-rw-r--r--ops/sr/sro24.c4
-rw-r--r--ops/sr/sro25.c4
-rw-r--r--ops/sr/sro26.c4
-rw-r--r--ops/sr/sro27.c4
-rw-r--r--ops/sr/sro28.c4
-rw-r--r--ops/sr/sro29.c4
-rw-r--r--ops/sr/sro3.c4
-rw-r--r--ops/sr/sro30.c4
-rw-r--r--ops/sr/sro31.c4
-rw-r--r--ops/sr/sro32.c4
-rw-r--r--ops/sr/sro33.c4
-rw-r--r--ops/sr/sro34.c4
-rw-r--r--ops/sr/sro35.c4
-rw-r--r--ops/sr/sro36.c4
-rw-r--r--ops/sr/sro37.c4
-rw-r--r--ops/sr/sro38.c4
-rw-r--r--ops/sr/sro39.c4
-rw-r--r--ops/sr/sro4.c4
-rw-r--r--ops/sr/sro40.c4
-rw-r--r--ops/sr/sro41.c4
-rw-r--r--ops/sr/sro42.c4
-rw-r--r--ops/sr/sro43.c4
-rw-r--r--ops/sr/sro44.c4
-rw-r--r--ops/sr/sro45.c4
-rw-r--r--ops/sr/sro46.c4
-rw-r--r--ops/sr/sro47.c4
-rw-r--r--ops/sr/sro48.c4
-rw-r--r--ops/sr/sro49.c4
-rw-r--r--ops/sr/sro5.c4
-rw-r--r--ops/sr/sro50.c4
-rw-r--r--ops/sr/sro51.c4
-rw-r--r--ops/sr/sro52.c4
-rw-r--r--ops/sr/sro53.c4
-rw-r--r--ops/sr/sro54.c4
-rw-r--r--ops/sr/sro55.c4
-rw-r--r--ops/sr/sro56.c4
-rw-r--r--ops/sr/sro57.c4
-rw-r--r--ops/sr/sro58.c4
-rw-r--r--ops/sr/sro59.c4
-rw-r--r--ops/sr/sro6.c4
-rw-r--r--ops/sr/sro60.c4
-rw-r--r--ops/sr/sro61.c4
-rw-r--r--ops/sr/sro62.c4
-rw-r--r--ops/sr/sro63.c4
-rw-r--r--ops/sr/sro7.c4
-rw-r--r--ops/sr/sro8.c4
-rw-r--r--ops/sr/sro9.c4
-rw-r--r--ops/sr/srx0.c4
-rw-r--r--ops/sr/srx1.c4
-rw-r--r--ops/sr/srx10.c4
-rw-r--r--ops/sr/srx11.c4
-rw-r--r--ops/sr/srx12.c4
-rw-r--r--ops/sr/srx13.c4
-rw-r--r--ops/sr/srx14.c4
-rw-r--r--ops/sr/srx15.c4
-rw-r--r--ops/sr/srx16.c4
-rw-r--r--ops/sr/srx17.c4
-rw-r--r--ops/sr/srx18.c4
-rw-r--r--ops/sr/srx19.c4
-rw-r--r--ops/sr/srx2.c4
-rw-r--r--ops/sr/srx20.c4
-rw-r--r--ops/sr/srx21.c4
-rw-r--r--ops/sr/srx22.c4
-rw-r--r--ops/sr/srx23.c4
-rw-r--r--ops/sr/srx24.c4
-rw-r--r--ops/sr/srx25.c4
-rw-r--r--ops/sr/srx26.c4
-rw-r--r--ops/sr/srx27.c4
-rw-r--r--ops/sr/srx28.c4
-rw-r--r--ops/sr/srx29.c4
-rw-r--r--ops/sr/srx3.c4
-rw-r--r--ops/sr/srx30.c4
-rw-r--r--ops/sr/srx31.c4
-rw-r--r--ops/sr/srx32.c4
-rw-r--r--ops/sr/srx33.c4
-rw-r--r--ops/sr/srx34.c4
-rw-r--r--ops/sr/srx35.c4
-rw-r--r--ops/sr/srx36.c4
-rw-r--r--ops/sr/srx37.c4
-rw-r--r--ops/sr/srx38.c4
-rw-r--r--ops/sr/srx39.c4
-rw-r--r--ops/sr/srx4.c4
-rw-r--r--ops/sr/srx40.c4
-rw-r--r--ops/sr/srx41.c4
-rw-r--r--ops/sr/srx42.c4
-rw-r--r--ops/sr/srx43.c4
-rw-r--r--ops/sr/srx44.c4
-rw-r--r--ops/sr/srx45.c4
-rw-r--r--ops/sr/srx46.c4
-rw-r--r--ops/sr/srx47.c4
-rw-r--r--ops/sr/srx48.c4
-rw-r--r--ops/sr/srx49.c4
-rw-r--r--ops/sr/srx5.c4
-rw-r--r--ops/sr/srx50.c4
-rw-r--r--ops/sr/srx51.c4
-rw-r--r--ops/sr/srx52.c4
-rw-r--r--ops/sr/srx53.c4
-rw-r--r--ops/sr/srx54.c4
-rw-r--r--ops/sr/srx55.c4
-rw-r--r--ops/sr/srx56.c4
-rw-r--r--ops/sr/srx57.c4
-rw-r--r--ops/sr/srx58.c4
-rw-r--r--ops/sr/srx59.c4
-rw-r--r--ops/sr/srx6.c4
-rw-r--r--ops/sr/srx60.c4
-rw-r--r--ops/sr/srx61.c4
-rw-r--r--ops/sr/srx62.c4
-rw-r--r--ops/sr/srx63.c4
-rw-r--r--ops/sr/srx7.c4
-rw-r--r--ops/sr/srx8.c4
-rw-r--r--ops/sr/srx9.c4
-rw-r--r--ops/sr/sry0.c4
-rw-r--r--ops/sr/sry1.c4
-rw-r--r--ops/sr/sry10.c4
-rw-r--r--ops/sr/sry11.c4
-rw-r--r--ops/sr/sry12.c4
-rw-r--r--ops/sr/sry13.c4
-rw-r--r--ops/sr/sry14.c4
-rw-r--r--ops/sr/sry15.c4
-rw-r--r--ops/sr/sry16.c4
-rw-r--r--ops/sr/sry17.c4
-rw-r--r--ops/sr/sry18.c4
-rw-r--r--ops/sr/sry19.c4
-rw-r--r--ops/sr/sry2.c4
-rw-r--r--ops/sr/sry20.c4
-rw-r--r--ops/sr/sry21.c4
-rw-r--r--ops/sr/sry22.c4
-rw-r--r--ops/sr/sry23.c4
-rw-r--r--ops/sr/sry24.c4
-rw-r--r--ops/sr/sry25.c4
-rw-r--r--ops/sr/sry26.c4
-rw-r--r--ops/sr/sry27.c4
-rw-r--r--ops/sr/sry28.c4
-rw-r--r--ops/sr/sry29.c4
-rw-r--r--ops/sr/sry3.c4
-rw-r--r--ops/sr/sry30.c4
-rw-r--r--ops/sr/sry31.c4
-rw-r--r--ops/sr/sry32.c4
-rw-r--r--ops/sr/sry33.c4
-rw-r--r--ops/sr/sry34.c4
-rw-r--r--ops/sr/sry35.c4
-rw-r--r--ops/sr/sry36.c4
-rw-r--r--ops/sr/sry37.c4
-rw-r--r--ops/sr/sry38.c4
-rw-r--r--ops/sr/sry39.c4
-rw-r--r--ops/sr/sry4.c4
-rw-r--r--ops/sr/sry40.c4
-rw-r--r--ops/sr/sry41.c4
-rw-r--r--ops/sr/sry42.c4
-rw-r--r--ops/sr/sry43.c4
-rw-r--r--ops/sr/sry44.c4
-rw-r--r--ops/sr/sry45.c4
-rw-r--r--ops/sr/sry46.c4
-rw-r--r--ops/sr/sry47.c4
-rw-r--r--ops/sr/sry48.c4
-rw-r--r--ops/sr/sry49.c4
-rw-r--r--ops/sr/sry5.c4
-rw-r--r--ops/sr/sry50.c4
-rw-r--r--ops/sr/sry51.c4
-rw-r--r--ops/sr/sry52.c4
-rw-r--r--ops/sr/sry53.c4
-rw-r--r--ops/sr/sry54.c4
-rw-r--r--ops/sr/sry55.c4
-rw-r--r--ops/sr/sry56.c4
-rw-r--r--ops/sr/sry57.c4
-rw-r--r--ops/sr/sry58.c4
-rw-r--r--ops/sr/sry59.c4
-rw-r--r--ops/sr/sry6.c4
-rw-r--r--ops/sr/sry60.c4
-rw-r--r--ops/sr/sry61.c4
-rw-r--r--ops/sr/sry62.c4
-rw-r--r--ops/sr/sry63.c4
-rw-r--r--ops/sr/sry7.c4
-rw-r--r--ops/sr/sry8.c4
-rw-r--r--ops/sr/sry9.c4
258 files changed, 1065 insertions, 0 deletions
diff --git a/ops/sr/gen_sr.sh b/ops/sr/gen_sr.sh
new file mode 100755
index 0000000..0de47a2
--- /dev/null
+++ b/ops/sr/gen_sr.sh
@@ -0,0 +1,39 @@
+# shift right register o
+for i in $(seq 0 63); do
+ opname=sro"$i"
+ filename="$opname".c
+ echo "#include \"../common.h\"\n" \
+ "DEFINE_OP($opname) {" \
+ "NEXT_OP(sp, a, x, y, (sreg_t)o >> $i);" \
+ "}" > "$filename"
+done
+
+# shift right register x
+for i in $(seq 0 63); do
+ opname=srx"$i"
+ filename="$opname".c
+ echo "#include \"../common.h\"\n" \
+ "DEFINE_OP($opname) {" \
+ "NEXT_OP(sp, a, (sreg_t)x >> $i, y, o);" \
+ "}" > "$filename"
+done
+
+# shift right register y
+for i in $(seq 0 63); do
+ opname=sry"$i"
+ filename="$opname".c
+ echo "#include \"../common.h\"\n" \
+ "DEFINE_OP($opname) {" \
+ "NEXT_OP(sp, a, x, (sreg_t)y >> $i, o);" \
+ "}" > "$filename"
+done
+
+# shift right register a
+for i in $(seq 0 63); do
+ opname=sra"$i"
+ filename="$opname".c
+ echo "#include \"../common.h\"\n" \
+ "DEFINE_OP($opname) {" \
+ "NEXT_OP(sp, (sreg_t)a >> $i, x, y, o);" \
+ "}" > "$filename"
+done
diff --git a/ops/sr/source.mk b/ops/sr/source.mk
new file mode 100644
index 0000000..c7790e2
--- /dev/null
+++ b/ops/sr/source.mk
@@ -0,0 +1,2 @@
+OP_SRC != echo ops/sr/*.c
+OP_SOURCES += $(OP_SRC)
diff --git a/ops/sr/sra0.c b/ops/sr/sra0.c
new file mode 100644
index 0000000..02b80a0
--- /dev/null
+++ b/ops/sr/sra0.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra0) {
+ NEXT_OP(sp, (sreg_t)a >> 0, x, y, o);
+}
diff --git a/ops/sr/sra1.c b/ops/sr/sra1.c
new file mode 100644
index 0000000..547cb4c
--- /dev/null
+++ b/ops/sr/sra1.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra1) {
+ NEXT_OP(sp, (sreg_t)a >> 1, x, y, o);
+}
diff --git a/ops/sr/sra10.c b/ops/sr/sra10.c
new file mode 100644
index 0000000..66e1625
--- /dev/null
+++ b/ops/sr/sra10.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra10) {
+ NEXT_OP(sp, (sreg_t)a >> 10, x, y, o);
+}
diff --git a/ops/sr/sra11.c b/ops/sr/sra11.c
new file mode 100644
index 0000000..9e3e5f5
--- /dev/null
+++ b/ops/sr/sra11.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra11) {
+ NEXT_OP(sp, (sreg_t)a >> 11, x, y, o);
+}
diff --git a/ops/sr/sra12.c b/ops/sr/sra12.c
new file mode 100644
index 0000000..da55531
--- /dev/null
+++ b/ops/sr/sra12.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra12) {
+ NEXT_OP(sp, (sreg_t)a >> 12, x, y, o);
+}
diff --git a/ops/sr/sra13.c b/ops/sr/sra13.c
new file mode 100644
index 0000000..0096d0f
--- /dev/null
+++ b/ops/sr/sra13.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra13) {
+ NEXT_OP(sp, (sreg_t)a >> 13, x, y, o);
+}
diff --git a/ops/sr/sra14.c b/ops/sr/sra14.c
new file mode 100644
index 0000000..36cad8a
--- /dev/null
+++ b/ops/sr/sra14.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra14) {
+ NEXT_OP(sp, (sreg_t)a >> 14, x, y, o);
+}
diff --git a/ops/sr/sra15.c b/ops/sr/sra15.c
new file mode 100644
index 0000000..e9b4279
--- /dev/null
+++ b/ops/sr/sra15.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra15) {
+ NEXT_OP(sp, (sreg_t)a >> 15, x, y, o);
+}
diff --git a/ops/sr/sra16.c b/ops/sr/sra16.c
new file mode 100644
index 0000000..460b7bb
--- /dev/null
+++ b/ops/sr/sra16.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra16) {
+ NEXT_OP(sp, (sreg_t)a >> 16, x, y, o);
+}
diff --git a/ops/sr/sra17.c b/ops/sr/sra17.c
new file mode 100644
index 0000000..6f9a21c
--- /dev/null
+++ b/ops/sr/sra17.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra17) {
+ NEXT_OP(sp, (sreg_t)a >> 17, x, y, o);
+}
diff --git a/ops/sr/sra18.c b/ops/sr/sra18.c
new file mode 100644
index 0000000..b431bcf
--- /dev/null
+++ b/ops/sr/sra18.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra18) {
+ NEXT_OP(sp, (sreg_t)a >> 18, x, y, o);
+}
diff --git a/ops/sr/sra19.c b/ops/sr/sra19.c
new file mode 100644
index 0000000..10ccea5
--- /dev/null
+++ b/ops/sr/sra19.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra19) {
+ NEXT_OP(sp, (sreg_t)a >> 19, x, y, o);
+}
diff --git a/ops/sr/sra2.c b/ops/sr/sra2.c
new file mode 100644
index 0000000..34109ab
--- /dev/null
+++ b/ops/sr/sra2.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra2) {
+ NEXT_OP(sp, (sreg_t)a >> 2, x, y, o);
+}
diff --git a/ops/sr/sra20.c b/ops/sr/sra20.c
new file mode 100644
index 0000000..12657ca
--- /dev/null
+++ b/ops/sr/sra20.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra20) {
+ NEXT_OP(sp, (sreg_t)a >> 20, x, y, o);
+}
diff --git a/ops/sr/sra21.c b/ops/sr/sra21.c
new file mode 100644
index 0000000..8ca171e
--- /dev/null
+++ b/ops/sr/sra21.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra21) {
+ NEXT_OP(sp, (sreg_t)a >> 21, x, y, o);
+}
diff --git a/ops/sr/sra22.c b/ops/sr/sra22.c
new file mode 100644
index 0000000..fa556fe
--- /dev/null
+++ b/ops/sr/sra22.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra22) {
+ NEXT_OP(sp, (sreg_t)a >> 22, x, y, o);
+}
diff --git a/ops/sr/sra23.c b/ops/sr/sra23.c
new file mode 100644
index 0000000..6f4f298
--- /dev/null
+++ b/ops/sr/sra23.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra23) {
+ NEXT_OP(sp, (sreg_t)a >> 23, x, y, o);
+}
diff --git a/ops/sr/sra24.c b/ops/sr/sra24.c
new file mode 100644
index 0000000..9bf0f36
--- /dev/null
+++ b/ops/sr/sra24.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra24) {
+ NEXT_OP(sp, (sreg_t)a >> 24, x, y, o);
+}
diff --git a/ops/sr/sra25.c b/ops/sr/sra25.c
new file mode 100644
index 0000000..c7d023f
--- /dev/null
+++ b/ops/sr/sra25.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra25) {
+ NEXT_OP(sp, (sreg_t)a >> 25, x, y, o);
+}
diff --git a/ops/sr/sra26.c b/ops/sr/sra26.c
new file mode 100644
index 0000000..e5196f7
--- /dev/null
+++ b/ops/sr/sra26.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra26) {
+ NEXT_OP(sp, (sreg_t)a >> 26, x, y, o);
+}
diff --git a/ops/sr/sra27.c b/ops/sr/sra27.c
new file mode 100644
index 0000000..ddd9d52
--- /dev/null
+++ b/ops/sr/sra27.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra27) {
+ NEXT_OP(sp, (sreg_t)a >> 27, x, y, o);
+}
diff --git a/ops/sr/sra28.c b/ops/sr/sra28.c
new file mode 100644
index 0000000..103e0a3
--- /dev/null
+++ b/ops/sr/sra28.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra28) {
+ NEXT_OP(sp, (sreg_t)a >> 28, x, y, o);
+}
diff --git a/ops/sr/sra29.c b/ops/sr/sra29.c
new file mode 100644
index 0000000..4d2d6ec
--- /dev/null
+++ b/ops/sr/sra29.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra29) {
+ NEXT_OP(sp, (sreg_t)a >> 29, x, y, o);
+}
diff --git a/ops/sr/sra3.c b/ops/sr/sra3.c
new file mode 100644
index 0000000..dea03fb
--- /dev/null
+++ b/ops/sr/sra3.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra3) {
+ NEXT_OP(sp, (sreg_t)a >> 3, x, y, o);
+}
diff --git a/ops/sr/sra30.c b/ops/sr/sra30.c
new file mode 100644
index 0000000..18474e9
--- /dev/null
+++ b/ops/sr/sra30.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra30) {
+ NEXT_OP(sp, (sreg_t)a >> 30, x, y, o);
+}
diff --git a/ops/sr/sra31.c b/ops/sr/sra31.c
new file mode 100644
index 0000000..7de3f92
--- /dev/null
+++ b/ops/sr/sra31.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra31) {
+ NEXT_OP(sp, (sreg_t)a >> 31, x, y, o);
+}
diff --git a/ops/sr/sra32.c b/ops/sr/sra32.c
new file mode 100644
index 0000000..457b596
--- /dev/null
+++ b/ops/sr/sra32.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra32) {
+ NEXT_OP(sp, (sreg_t)a >> 32, x, y, o);
+}
diff --git a/ops/sr/sra33.c b/ops/sr/sra33.c
new file mode 100644
index 0000000..e8c5b33
--- /dev/null
+++ b/ops/sr/sra33.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra33) {
+ NEXT_OP(sp, (sreg_t)a >> 33, x, y, o);
+}
diff --git a/ops/sr/sra34.c b/ops/sr/sra34.c
new file mode 100644
index 0000000..518181a
--- /dev/null
+++ b/ops/sr/sra34.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra34) {
+ NEXT_OP(sp, (sreg_t)a >> 34, x, y, o);
+}
diff --git a/ops/sr/sra35.c b/ops/sr/sra35.c
new file mode 100644
index 0000000..08c3e1a
--- /dev/null
+++ b/ops/sr/sra35.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra35) {
+ NEXT_OP(sp, (sreg_t)a >> 35, x, y, o);
+}
diff --git a/ops/sr/sra36.c b/ops/sr/sra36.c
new file mode 100644
index 0000000..67cd694
--- /dev/null
+++ b/ops/sr/sra36.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra36) {
+ NEXT_OP(sp, (sreg_t)a >> 36, x, y, o);
+}
diff --git a/ops/sr/sra37.c b/ops/sr/sra37.c
new file mode 100644
index 0000000..3a3d9ff
--- /dev/null
+++ b/ops/sr/sra37.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra37) {
+ NEXT_OP(sp, (sreg_t)a >> 37, x, y, o);
+}
diff --git a/ops/sr/sra38.c b/ops/sr/sra38.c
new file mode 100644
index 0000000..69fffb0
--- /dev/null
+++ b/ops/sr/sra38.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra38) {
+ NEXT_OP(sp, (sreg_t)a >> 38, x, y, o);
+}
diff --git a/ops/sr/sra39.c b/ops/sr/sra39.c
new file mode 100644
index 0000000..8dc52e2
--- /dev/null
+++ b/ops/sr/sra39.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra39) {
+ NEXT_OP(sp, (sreg_t)a >> 39, x, y, o);
+}
diff --git a/ops/sr/sra4.c b/ops/sr/sra4.c
new file mode 100644
index 0000000..34b0409
--- /dev/null
+++ b/ops/sr/sra4.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra4) {
+ NEXT_OP(sp, (sreg_t)a >> 4, x, y, o);
+}
diff --git a/ops/sr/sra40.c b/ops/sr/sra40.c
new file mode 100644
index 0000000..61bf2db
--- /dev/null
+++ b/ops/sr/sra40.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra40) {
+ NEXT_OP(sp, (sreg_t)a >> 40, x, y, o);
+}
diff --git a/ops/sr/sra41.c b/ops/sr/sra41.c
new file mode 100644
index 0000000..0bc472b
--- /dev/null
+++ b/ops/sr/sra41.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra41) {
+ NEXT_OP(sp, (sreg_t)a >> 41, x, y, o);
+}
diff --git a/ops/sr/sra42.c b/ops/sr/sra42.c
new file mode 100644
index 0000000..4644992
--- /dev/null
+++ b/ops/sr/sra42.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra42) {
+ NEXT_OP(sp, (sreg_t)a >> 42, x, y, o);
+}
diff --git a/ops/sr/sra43.c b/ops/sr/sra43.c
new file mode 100644
index 0000000..31553f3
--- /dev/null
+++ b/ops/sr/sra43.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra43) {
+ NEXT_OP(sp, (sreg_t)a >> 43, x, y, o);
+}
diff --git a/ops/sr/sra44.c b/ops/sr/sra44.c
new file mode 100644
index 0000000..15fe642
--- /dev/null
+++ b/ops/sr/sra44.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra44) {
+ NEXT_OP(sp, (sreg_t)a >> 44, x, y, o);
+}
diff --git a/ops/sr/sra45.c b/ops/sr/sra45.c
new file mode 100644
index 0000000..95c2f2c
--- /dev/null
+++ b/ops/sr/sra45.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra45) {
+ NEXT_OP(sp, (sreg_t)a >> 45, x, y, o);
+}
diff --git a/ops/sr/sra46.c b/ops/sr/sra46.c
new file mode 100644
index 0000000..6242141
--- /dev/null
+++ b/ops/sr/sra46.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra46) {
+ NEXT_OP(sp, (sreg_t)a >> 46, x, y, o);
+}
diff --git a/ops/sr/sra47.c b/ops/sr/sra47.c
new file mode 100644
index 0000000..1b5a583
--- /dev/null
+++ b/ops/sr/sra47.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra47) {
+ NEXT_OP(sp, (sreg_t)a >> 47, x, y, o);
+}
diff --git a/ops/sr/sra48.c b/ops/sr/sra48.c
new file mode 100644
index 0000000..4708f08
--- /dev/null
+++ b/ops/sr/sra48.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra48) {
+ NEXT_OP(sp, (sreg_t)a >> 48, x, y, o);
+}
diff --git a/ops/sr/sra49.c b/ops/sr/sra49.c
new file mode 100644
index 0000000..8c1b8b4
--- /dev/null
+++ b/ops/sr/sra49.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra49) {
+ NEXT_OP(sp, (sreg_t)a >> 49, x, y, o);
+}
diff --git a/ops/sr/sra5.c b/ops/sr/sra5.c
new file mode 100644
index 0000000..11329d4
--- /dev/null
+++ b/ops/sr/sra5.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra5) {
+ NEXT_OP(sp, (sreg_t)a >> 5, x, y, o);
+}
diff --git a/ops/sr/sra50.c b/ops/sr/sra50.c
new file mode 100644
index 0000000..f3d2b87
--- /dev/null
+++ b/ops/sr/sra50.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra50) {
+ NEXT_OP(sp, (sreg_t)a >> 50, x, y, o);
+}
diff --git a/ops/sr/sra51.c b/ops/sr/sra51.c
new file mode 100644
index 0000000..5d2b118
--- /dev/null
+++ b/ops/sr/sra51.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra51) {
+ NEXT_OP(sp, (sreg_t)a >> 51, x, y, o);
+}
diff --git a/ops/sr/sra52.c b/ops/sr/sra52.c
new file mode 100644
index 0000000..6f5a428
--- /dev/null
+++ b/ops/sr/sra52.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra52) {
+ NEXT_OP(sp, (sreg_t)a >> 52, x, y, o);
+}
diff --git a/ops/sr/sra53.c b/ops/sr/sra53.c
new file mode 100644
index 0000000..b1171e6
--- /dev/null
+++ b/ops/sr/sra53.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra53) {
+ NEXT_OP(sp, (sreg_t)a >> 53, x, y, o);
+}
diff --git a/ops/sr/sra54.c b/ops/sr/sra54.c
new file mode 100644
index 0000000..7b52c08
--- /dev/null
+++ b/ops/sr/sra54.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra54) {
+ NEXT_OP(sp, (sreg_t)a >> 54, x, y, o);
+}
diff --git a/ops/sr/sra55.c b/ops/sr/sra55.c
new file mode 100644
index 0000000..55a86a8
--- /dev/null
+++ b/ops/sr/sra55.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra55) {
+ NEXT_OP(sp, (sreg_t)a >> 55, x, y, o);
+}
diff --git a/ops/sr/sra56.c b/ops/sr/sra56.c
new file mode 100644
index 0000000..6e77dd4
--- /dev/null
+++ b/ops/sr/sra56.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra56) {
+ NEXT_OP(sp, (sreg_t)a >> 56, x, y, o);
+}
diff --git a/ops/sr/sra57.c b/ops/sr/sra57.c
new file mode 100644
index 0000000..29cef96
--- /dev/null
+++ b/ops/sr/sra57.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra57) {
+ NEXT_OP(sp, (sreg_t)a >> 57, x, y, o);
+}
diff --git a/ops/sr/sra58.c b/ops/sr/sra58.c
new file mode 100644
index 0000000..8c21884
--- /dev/null
+++ b/ops/sr/sra58.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra58) {
+ NEXT_OP(sp, (sreg_t)a >> 58, x, y, o);
+}
diff --git a/ops/sr/sra59.c b/ops/sr/sra59.c
new file mode 100644
index 0000000..718e4c1
--- /dev/null
+++ b/ops/sr/sra59.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra59) {
+ NEXT_OP(sp, (sreg_t)a >> 59, x, y, o);
+}
diff --git a/ops/sr/sra6.c b/ops/sr/sra6.c
new file mode 100644
index 0000000..c845a12
--- /dev/null
+++ b/ops/sr/sra6.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra6) {
+ NEXT_OP(sp, (sreg_t)a >> 6, x, y, o);
+}
diff --git a/ops/sr/sra60.c b/ops/sr/sra60.c
new file mode 100644
index 0000000..a2eab11
--- /dev/null
+++ b/ops/sr/sra60.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra60) {
+ NEXT_OP(sp, (sreg_t)a >> 60, x, y, o);
+}
diff --git a/ops/sr/sra61.c b/ops/sr/sra61.c
new file mode 100644
index 0000000..fc4902c
--- /dev/null
+++ b/ops/sr/sra61.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra61) {
+ NEXT_OP(sp, (sreg_t)a >> 61, x, y, o);
+}
diff --git a/ops/sr/sra62.c b/ops/sr/sra62.c
new file mode 100644
index 0000000..45443e2
--- /dev/null
+++ b/ops/sr/sra62.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra62) {
+ NEXT_OP(sp, (sreg_t)a >> 62, x, y, o);
+}
diff --git a/ops/sr/sra63.c b/ops/sr/sra63.c
new file mode 100644
index 0000000..f7b7662
--- /dev/null
+++ b/ops/sr/sra63.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra63) {
+ NEXT_OP(sp, (sreg_t)a >> 63, x, y, o);
+}
diff --git a/ops/sr/sra7.c b/ops/sr/sra7.c
new file mode 100644
index 0000000..204c251
--- /dev/null
+++ b/ops/sr/sra7.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra7) {
+ NEXT_OP(sp, (sreg_t)a >> 7, x, y, o);
+}
diff --git a/ops/sr/sra8.c b/ops/sr/sra8.c
new file mode 100644
index 0000000..a59ccd6
--- /dev/null
+++ b/ops/sr/sra8.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra8) {
+ NEXT_OP(sp, (sreg_t)a >> 8, x, y, o);
+}
diff --git a/ops/sr/sra9.c b/ops/sr/sra9.c
new file mode 100644
index 0000000..e01433a
--- /dev/null
+++ b/ops/sr/sra9.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sra9) {
+ NEXT_OP(sp, (sreg_t)a >> 9, x, y, o);
+}
diff --git a/ops/sr/sro0.c b/ops/sr/sro0.c
new file mode 100644
index 0000000..5d7eb64
--- /dev/null
+++ b/ops/sr/sro0.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro0) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 0);
+}
diff --git a/ops/sr/sro1.c b/ops/sr/sro1.c
new file mode 100644
index 0000000..0fa3c68
--- /dev/null
+++ b/ops/sr/sro1.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro1) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 1);
+}
diff --git a/ops/sr/sro10.c b/ops/sr/sro10.c
new file mode 100644
index 0000000..4fcb78f
--- /dev/null
+++ b/ops/sr/sro10.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro10) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 10);
+}
diff --git a/ops/sr/sro11.c b/ops/sr/sro11.c
new file mode 100644
index 0000000..b7635f4
--- /dev/null
+++ b/ops/sr/sro11.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro11) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 11);
+}
diff --git a/ops/sr/sro12.c b/ops/sr/sro12.c
new file mode 100644
index 0000000..80f106f
--- /dev/null
+++ b/ops/sr/sro12.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro12) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 12);
+}
diff --git a/ops/sr/sro13.c b/ops/sr/sro13.c
new file mode 100644
index 0000000..1b19655
--- /dev/null
+++ b/ops/sr/sro13.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro13) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 13);
+}
diff --git a/ops/sr/sro14.c b/ops/sr/sro14.c
new file mode 100644
index 0000000..4e0725b
--- /dev/null
+++ b/ops/sr/sro14.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro14) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 14);
+}
diff --git a/ops/sr/sro15.c b/ops/sr/sro15.c
new file mode 100644
index 0000000..746c556
--- /dev/null
+++ b/ops/sr/sro15.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro15) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 15);
+}
diff --git a/ops/sr/sro16.c b/ops/sr/sro16.c
new file mode 100644
index 0000000..efba8a7
--- /dev/null
+++ b/ops/sr/sro16.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro16) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 16);
+}
diff --git a/ops/sr/sro17.c b/ops/sr/sro17.c
new file mode 100644
index 0000000..fbf4b03
--- /dev/null
+++ b/ops/sr/sro17.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro17) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 17);
+}
diff --git a/ops/sr/sro18.c b/ops/sr/sro18.c
new file mode 100644
index 0000000..17e1a18
--- /dev/null
+++ b/ops/sr/sro18.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro18) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 18);
+}
diff --git a/ops/sr/sro19.c b/ops/sr/sro19.c
new file mode 100644
index 0000000..0cad209
--- /dev/null
+++ b/ops/sr/sro19.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro19) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 19);
+}
diff --git a/ops/sr/sro2.c b/ops/sr/sro2.c
new file mode 100644
index 0000000..9f7cd3e
--- /dev/null
+++ b/ops/sr/sro2.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro2) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 2);
+}
diff --git a/ops/sr/sro20.c b/ops/sr/sro20.c
new file mode 100644
index 0000000..751f966
--- /dev/null
+++ b/ops/sr/sro20.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro20) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 20);
+}
diff --git a/ops/sr/sro21.c b/ops/sr/sro21.c
new file mode 100644
index 0000000..0926e34
--- /dev/null
+++ b/ops/sr/sro21.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro21) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 21);
+}
diff --git a/ops/sr/sro22.c b/ops/sr/sro22.c
new file mode 100644
index 0000000..2b7edc3
--- /dev/null
+++ b/ops/sr/sro22.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro22) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 22);
+}
diff --git a/ops/sr/sro23.c b/ops/sr/sro23.c
new file mode 100644
index 0000000..f625873
--- /dev/null
+++ b/ops/sr/sro23.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro23) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 23);
+}
diff --git a/ops/sr/sro24.c b/ops/sr/sro24.c
new file mode 100644
index 0000000..fe52809
--- /dev/null
+++ b/ops/sr/sro24.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro24) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 24);
+}
diff --git a/ops/sr/sro25.c b/ops/sr/sro25.c
new file mode 100644
index 0000000..6a8add4
--- /dev/null
+++ b/ops/sr/sro25.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro25) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 25);
+}
diff --git a/ops/sr/sro26.c b/ops/sr/sro26.c
new file mode 100644
index 0000000..2ad4030
--- /dev/null
+++ b/ops/sr/sro26.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro26) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 26);
+}
diff --git a/ops/sr/sro27.c b/ops/sr/sro27.c
new file mode 100644
index 0000000..f66a18a
--- /dev/null
+++ b/ops/sr/sro27.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro27) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 27);
+}
diff --git a/ops/sr/sro28.c b/ops/sr/sro28.c
new file mode 100644
index 0000000..886ee54
--- /dev/null
+++ b/ops/sr/sro28.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro28) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 28);
+}
diff --git a/ops/sr/sro29.c b/ops/sr/sro29.c
new file mode 100644
index 0000000..53f94ce
--- /dev/null
+++ b/ops/sr/sro29.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro29) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 29);
+}
diff --git a/ops/sr/sro3.c b/ops/sr/sro3.c
new file mode 100644
index 0000000..88f7ff0
--- /dev/null
+++ b/ops/sr/sro3.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro3) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 3);
+}
diff --git a/ops/sr/sro30.c b/ops/sr/sro30.c
new file mode 100644
index 0000000..bd4e2b4
--- /dev/null
+++ b/ops/sr/sro30.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro30) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 30);
+}
diff --git a/ops/sr/sro31.c b/ops/sr/sro31.c
new file mode 100644
index 0000000..d4fd7d3
--- /dev/null
+++ b/ops/sr/sro31.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro31) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 31);
+}
diff --git a/ops/sr/sro32.c b/ops/sr/sro32.c
new file mode 100644
index 0000000..6593a76
--- /dev/null
+++ b/ops/sr/sro32.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro32) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 32);
+}
diff --git a/ops/sr/sro33.c b/ops/sr/sro33.c
new file mode 100644
index 0000000..b47fc2e
--- /dev/null
+++ b/ops/sr/sro33.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro33) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 33);
+}
diff --git a/ops/sr/sro34.c b/ops/sr/sro34.c
new file mode 100644
index 0000000..e2c13d2
--- /dev/null
+++ b/ops/sr/sro34.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro34) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 34);
+}
diff --git a/ops/sr/sro35.c b/ops/sr/sro35.c
new file mode 100644
index 0000000..105b863
--- /dev/null
+++ b/ops/sr/sro35.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro35) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 35);
+}
diff --git a/ops/sr/sro36.c b/ops/sr/sro36.c
new file mode 100644
index 0000000..6b6fd62
--- /dev/null
+++ b/ops/sr/sro36.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro36) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 36);
+}
diff --git a/ops/sr/sro37.c b/ops/sr/sro37.c
new file mode 100644
index 0000000..f74d2b6
--- /dev/null
+++ b/ops/sr/sro37.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro37) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 37);
+}
diff --git a/ops/sr/sro38.c b/ops/sr/sro38.c
new file mode 100644
index 0000000..f658a5c
--- /dev/null
+++ b/ops/sr/sro38.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro38) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 38);
+}
diff --git a/ops/sr/sro39.c b/ops/sr/sro39.c
new file mode 100644
index 0000000..81efd4d
--- /dev/null
+++ b/ops/sr/sro39.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro39) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 39);
+}
diff --git a/ops/sr/sro4.c b/ops/sr/sro4.c
new file mode 100644
index 0000000..7f6abb8
--- /dev/null
+++ b/ops/sr/sro4.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro4) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 4);
+}
diff --git a/ops/sr/sro40.c b/ops/sr/sro40.c
new file mode 100644
index 0000000..e2b8f71
--- /dev/null
+++ b/ops/sr/sro40.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro40) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 40);
+}
diff --git a/ops/sr/sro41.c b/ops/sr/sro41.c
new file mode 100644
index 0000000..d6e016f
--- /dev/null
+++ b/ops/sr/sro41.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro41) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 41);
+}
diff --git a/ops/sr/sro42.c b/ops/sr/sro42.c
new file mode 100644
index 0000000..7249d27
--- /dev/null
+++ b/ops/sr/sro42.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro42) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 42);
+}
diff --git a/ops/sr/sro43.c b/ops/sr/sro43.c
new file mode 100644
index 0000000..d68b95f
--- /dev/null
+++ b/ops/sr/sro43.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro43) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 43);
+}
diff --git a/ops/sr/sro44.c b/ops/sr/sro44.c
new file mode 100644
index 0000000..f4b5363
--- /dev/null
+++ b/ops/sr/sro44.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro44) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 44);
+}
diff --git a/ops/sr/sro45.c b/ops/sr/sro45.c
new file mode 100644
index 0000000..69d086c
--- /dev/null
+++ b/ops/sr/sro45.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro45) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 45);
+}
diff --git a/ops/sr/sro46.c b/ops/sr/sro46.c
new file mode 100644
index 0000000..4dd1983
--- /dev/null
+++ b/ops/sr/sro46.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro46) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 46);
+}
diff --git a/ops/sr/sro47.c b/ops/sr/sro47.c
new file mode 100644
index 0000000..cc5b3f0
--- /dev/null
+++ b/ops/sr/sro47.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro47) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 47);
+}
diff --git a/ops/sr/sro48.c b/ops/sr/sro48.c
new file mode 100644
index 0000000..b9dedd2
--- /dev/null
+++ b/ops/sr/sro48.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro48) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 48);
+}
diff --git a/ops/sr/sro49.c b/ops/sr/sro49.c
new file mode 100644
index 0000000..818f1d1
--- /dev/null
+++ b/ops/sr/sro49.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro49) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 49);
+}
diff --git a/ops/sr/sro5.c b/ops/sr/sro5.c
new file mode 100644
index 0000000..6fc73a1
--- /dev/null
+++ b/ops/sr/sro5.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro5) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 5);
+}
diff --git a/ops/sr/sro50.c b/ops/sr/sro50.c
new file mode 100644
index 0000000..b1007da
--- /dev/null
+++ b/ops/sr/sro50.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro50) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 50);
+}
diff --git a/ops/sr/sro51.c b/ops/sr/sro51.c
new file mode 100644
index 0000000..6e5777e
--- /dev/null
+++ b/ops/sr/sro51.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro51) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 51);
+}
diff --git a/ops/sr/sro52.c b/ops/sr/sro52.c
new file mode 100644
index 0000000..10a48cc
--- /dev/null
+++ b/ops/sr/sro52.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro52) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 52);
+}
diff --git a/ops/sr/sro53.c b/ops/sr/sro53.c
new file mode 100644
index 0000000..639d181
--- /dev/null
+++ b/ops/sr/sro53.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro53) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 53);
+}
diff --git a/ops/sr/sro54.c b/ops/sr/sro54.c
new file mode 100644
index 0000000..1e37395
--- /dev/null
+++ b/ops/sr/sro54.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro54) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 54);
+}
diff --git a/ops/sr/sro55.c b/ops/sr/sro55.c
new file mode 100644
index 0000000..d7a05a5
--- /dev/null
+++ b/ops/sr/sro55.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro55) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 55);
+}
diff --git a/ops/sr/sro56.c b/ops/sr/sro56.c
new file mode 100644
index 0000000..8ecfc1e
--- /dev/null
+++ b/ops/sr/sro56.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro56) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 56);
+}
diff --git a/ops/sr/sro57.c b/ops/sr/sro57.c
new file mode 100644
index 0000000..f7a772e
--- /dev/null
+++ b/ops/sr/sro57.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro57) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 57);
+}
diff --git a/ops/sr/sro58.c b/ops/sr/sro58.c
new file mode 100644
index 0000000..37d1ac5
--- /dev/null
+++ b/ops/sr/sro58.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro58) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 58);
+}
diff --git a/ops/sr/sro59.c b/ops/sr/sro59.c
new file mode 100644
index 0000000..d009d10
--- /dev/null
+++ b/ops/sr/sro59.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro59) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 59);
+}
diff --git a/ops/sr/sro6.c b/ops/sr/sro6.c
new file mode 100644
index 0000000..cdd211d
--- /dev/null
+++ b/ops/sr/sro6.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro6) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 6);
+}
diff --git a/ops/sr/sro60.c b/ops/sr/sro60.c
new file mode 100644
index 0000000..e30f394
--- /dev/null
+++ b/ops/sr/sro60.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro60) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 60);
+}
diff --git a/ops/sr/sro61.c b/ops/sr/sro61.c
new file mode 100644
index 0000000..b95b549
--- /dev/null
+++ b/ops/sr/sro61.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro61) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 61);
+}
diff --git a/ops/sr/sro62.c b/ops/sr/sro62.c
new file mode 100644
index 0000000..79cf2e1
--- /dev/null
+++ b/ops/sr/sro62.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro62) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 62);
+}
diff --git a/ops/sr/sro63.c b/ops/sr/sro63.c
new file mode 100644
index 0000000..f37958e
--- /dev/null
+++ b/ops/sr/sro63.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro63) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 63);
+}
diff --git a/ops/sr/sro7.c b/ops/sr/sro7.c
new file mode 100644
index 0000000..37ab716
--- /dev/null
+++ b/ops/sr/sro7.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro7) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 7);
+}
diff --git a/ops/sr/sro8.c b/ops/sr/sro8.c
new file mode 100644
index 0000000..f9deecf
--- /dev/null
+++ b/ops/sr/sro8.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro8) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 8);
+}
diff --git a/ops/sr/sro9.c b/ops/sr/sro9.c
new file mode 100644
index 0000000..bf37b00
--- /dev/null
+++ b/ops/sr/sro9.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sro9) {
+ NEXT_OP(sp, a, x, y, (sreg_t)o >> 9);
+}
diff --git a/ops/sr/srx0.c b/ops/sr/srx0.c
new file mode 100644
index 0000000..89a65da
--- /dev/null
+++ b/ops/sr/srx0.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx0) {
+ NEXT_OP(sp, a, (sreg_t)x >> 0, y, o);
+}
diff --git a/ops/sr/srx1.c b/ops/sr/srx1.c
new file mode 100644
index 0000000..016f7bc
--- /dev/null
+++ b/ops/sr/srx1.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx1) {
+ NEXT_OP(sp, a, (sreg_t)x >> 1, y, o);
+}
diff --git a/ops/sr/srx10.c b/ops/sr/srx10.c
new file mode 100644
index 0000000..4fcaf9d
--- /dev/null
+++ b/ops/sr/srx10.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx10) {
+ NEXT_OP(sp, a, (sreg_t)x >> 10, y, o);
+}
diff --git a/ops/sr/srx11.c b/ops/sr/srx11.c
new file mode 100644
index 0000000..b707233
--- /dev/null
+++ b/ops/sr/srx11.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx11) {
+ NEXT_OP(sp, a, (sreg_t)x >> 11, y, o);
+}
diff --git a/ops/sr/srx12.c b/ops/sr/srx12.c
new file mode 100644
index 0000000..ba78a93
--- /dev/null
+++ b/ops/sr/srx12.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx12) {
+ NEXT_OP(sp, a, (sreg_t)x >> 12, y, o);
+}
diff --git a/ops/sr/srx13.c b/ops/sr/srx13.c
new file mode 100644
index 0000000..90bc39b
--- /dev/null
+++ b/ops/sr/srx13.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx13) {
+ NEXT_OP(sp, a, (sreg_t)x >> 13, y, o);
+}
diff --git a/ops/sr/srx14.c b/ops/sr/srx14.c
new file mode 100644
index 0000000..f2dafc1
--- /dev/null
+++ b/ops/sr/srx14.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx14) {
+ NEXT_OP(sp, a, (sreg_t)x >> 14, y, o);
+}
diff --git a/ops/sr/srx15.c b/ops/sr/srx15.c
new file mode 100644
index 0000000..d54f667
--- /dev/null
+++ b/ops/sr/srx15.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx15) {
+ NEXT_OP(sp, a, (sreg_t)x >> 15, y, o);
+}
diff --git a/ops/sr/srx16.c b/ops/sr/srx16.c
new file mode 100644
index 0000000..33da6c6
--- /dev/null
+++ b/ops/sr/srx16.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx16) {
+ NEXT_OP(sp, a, (sreg_t)x >> 16, y, o);
+}
diff --git a/ops/sr/srx17.c b/ops/sr/srx17.c
new file mode 100644
index 0000000..10eb81b
--- /dev/null
+++ b/ops/sr/srx17.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx17) {
+ NEXT_OP(sp, a, (sreg_t)x >> 17, y, o);
+}
diff --git a/ops/sr/srx18.c b/ops/sr/srx18.c
new file mode 100644
index 0000000..4f49fba
--- /dev/null
+++ b/ops/sr/srx18.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx18) {
+ NEXT_OP(sp, a, (sreg_t)x >> 18, y, o);
+}
diff --git a/ops/sr/srx19.c b/ops/sr/srx19.c
new file mode 100644
index 0000000..fe48085
--- /dev/null
+++ b/ops/sr/srx19.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx19) {
+ NEXT_OP(sp, a, (sreg_t)x >> 19, y, o);
+}
diff --git a/ops/sr/srx2.c b/ops/sr/srx2.c
new file mode 100644
index 0000000..2fd039c
--- /dev/null
+++ b/ops/sr/srx2.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx2) {
+ NEXT_OP(sp, a, (sreg_t)x >> 2, y, o);
+}
diff --git a/ops/sr/srx20.c b/ops/sr/srx20.c
new file mode 100644
index 0000000..c08ad8d
--- /dev/null
+++ b/ops/sr/srx20.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx20) {
+ NEXT_OP(sp, a, (sreg_t)x >> 20, y, o);
+}
diff --git a/ops/sr/srx21.c b/ops/sr/srx21.c
new file mode 100644
index 0000000..3d75eaf
--- /dev/null
+++ b/ops/sr/srx21.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx21) {
+ NEXT_OP(sp, a, (sreg_t)x >> 21, y, o);
+}
diff --git a/ops/sr/srx22.c b/ops/sr/srx22.c
new file mode 100644
index 0000000..331a2d5
--- /dev/null
+++ b/ops/sr/srx22.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx22) {
+ NEXT_OP(sp, a, (sreg_t)x >> 22, y, o);
+}
diff --git a/ops/sr/srx23.c b/ops/sr/srx23.c
new file mode 100644
index 0000000..9c55ae6
--- /dev/null
+++ b/ops/sr/srx23.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx23) {
+ NEXT_OP(sp, a, (sreg_t)x >> 23, y, o);
+}
diff --git a/ops/sr/srx24.c b/ops/sr/srx24.c
new file mode 100644
index 0000000..3ab047a
--- /dev/null
+++ b/ops/sr/srx24.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx24) {
+ NEXT_OP(sp, a, (sreg_t)x >> 24, y, o);
+}
diff --git a/ops/sr/srx25.c b/ops/sr/srx25.c
new file mode 100644
index 0000000..9823d6d
--- /dev/null
+++ b/ops/sr/srx25.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx25) {
+ NEXT_OP(sp, a, (sreg_t)x >> 25, y, o);
+}
diff --git a/ops/sr/srx26.c b/ops/sr/srx26.c
new file mode 100644
index 0000000..9723cfd
--- /dev/null
+++ b/ops/sr/srx26.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx26) {
+ NEXT_OP(sp, a, (sreg_t)x >> 26, y, o);
+}
diff --git a/ops/sr/srx27.c b/ops/sr/srx27.c
new file mode 100644
index 0000000..b00add2
--- /dev/null
+++ b/ops/sr/srx27.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx27) {
+ NEXT_OP(sp, a, (sreg_t)x >> 27, y, o);
+}
diff --git a/ops/sr/srx28.c b/ops/sr/srx28.c
new file mode 100644
index 0000000..44f118a
--- /dev/null
+++ b/ops/sr/srx28.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx28) {
+ NEXT_OP(sp, a, (sreg_t)x >> 28, y, o);
+}
diff --git a/ops/sr/srx29.c b/ops/sr/srx29.c
new file mode 100644
index 0000000..4a3c481
--- /dev/null
+++ b/ops/sr/srx29.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx29) {
+ NEXT_OP(sp, a, (sreg_t)x >> 29, y, o);
+}
diff --git a/ops/sr/srx3.c b/ops/sr/srx3.c
new file mode 100644
index 0000000..0fc4814
--- /dev/null
+++ b/ops/sr/srx3.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx3) {
+ NEXT_OP(sp, a, (sreg_t)x >> 3, y, o);
+}
diff --git a/ops/sr/srx30.c b/ops/sr/srx30.c
new file mode 100644
index 0000000..49de8ed
--- /dev/null
+++ b/ops/sr/srx30.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx30) {
+ NEXT_OP(sp, a, (sreg_t)x >> 30, y, o);
+}
diff --git a/ops/sr/srx31.c b/ops/sr/srx31.c
new file mode 100644
index 0000000..60666cf
--- /dev/null
+++ b/ops/sr/srx31.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx31) {
+ NEXT_OP(sp, a, (sreg_t)x >> 31, y, o);
+}
diff --git a/ops/sr/srx32.c b/ops/sr/srx32.c
new file mode 100644
index 0000000..1e41280
--- /dev/null
+++ b/ops/sr/srx32.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx32) {
+ NEXT_OP(sp, a, (sreg_t)x >> 32, y, o);
+}
diff --git a/ops/sr/srx33.c b/ops/sr/srx33.c
new file mode 100644
index 0000000..4bb49b1
--- /dev/null
+++ b/ops/sr/srx33.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx33) {
+ NEXT_OP(sp, a, (sreg_t)x >> 33, y, o);
+}
diff --git a/ops/sr/srx34.c b/ops/sr/srx34.c
new file mode 100644
index 0000000..8167373
--- /dev/null
+++ b/ops/sr/srx34.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx34) {
+ NEXT_OP(sp, a, (sreg_t)x >> 34, y, o);
+}
diff --git a/ops/sr/srx35.c b/ops/sr/srx35.c
new file mode 100644
index 0000000..b7305d9
--- /dev/null
+++ b/ops/sr/srx35.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx35) {
+ NEXT_OP(sp, a, (sreg_t)x >> 35, y, o);
+}
diff --git a/ops/sr/srx36.c b/ops/sr/srx36.c
new file mode 100644
index 0000000..a51d26d
--- /dev/null
+++ b/ops/sr/srx36.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx36) {
+ NEXT_OP(sp, a, (sreg_t)x >> 36, y, o);
+}
diff --git a/ops/sr/srx37.c b/ops/sr/srx37.c
new file mode 100644
index 0000000..2dad0ea
--- /dev/null
+++ b/ops/sr/srx37.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx37) {
+ NEXT_OP(sp, a, (sreg_t)x >> 37, y, o);
+}
diff --git a/ops/sr/srx38.c b/ops/sr/srx38.c
new file mode 100644
index 0000000..4097de4
--- /dev/null
+++ b/ops/sr/srx38.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx38) {
+ NEXT_OP(sp, a, (sreg_t)x >> 38, y, o);
+}
diff --git a/ops/sr/srx39.c b/ops/sr/srx39.c
new file mode 100644
index 0000000..4936025
--- /dev/null
+++ b/ops/sr/srx39.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx39) {
+ NEXT_OP(sp, a, (sreg_t)x >> 39, y, o);
+}
diff --git a/ops/sr/srx4.c b/ops/sr/srx4.c
new file mode 100644
index 0000000..5ad583e
--- /dev/null
+++ b/ops/sr/srx4.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx4) {
+ NEXT_OP(sp, a, (sreg_t)x >> 4, y, o);
+}
diff --git a/ops/sr/srx40.c b/ops/sr/srx40.c
new file mode 100644
index 0000000..b987514
--- /dev/null
+++ b/ops/sr/srx40.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx40) {
+ NEXT_OP(sp, a, (sreg_t)x >> 40, y, o);
+}
diff --git a/ops/sr/srx41.c b/ops/sr/srx41.c
new file mode 100644
index 0000000..3910b6a
--- /dev/null
+++ b/ops/sr/srx41.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx41) {
+ NEXT_OP(sp, a, (sreg_t)x >> 41, y, o);
+}
diff --git a/ops/sr/srx42.c b/ops/sr/srx42.c
new file mode 100644
index 0000000..43d6bdd
--- /dev/null
+++ b/ops/sr/srx42.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx42) {
+ NEXT_OP(sp, a, (sreg_t)x >> 42, y, o);
+}
diff --git a/ops/sr/srx43.c b/ops/sr/srx43.c
new file mode 100644
index 0000000..d0f4693
--- /dev/null
+++ b/ops/sr/srx43.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx43) {
+ NEXT_OP(sp, a, (sreg_t)x >> 43, y, o);
+}
diff --git a/ops/sr/srx44.c b/ops/sr/srx44.c
new file mode 100644
index 0000000..c25f5b0
--- /dev/null
+++ b/ops/sr/srx44.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx44) {
+ NEXT_OP(sp, a, (sreg_t)x >> 44, y, o);
+}
diff --git a/ops/sr/srx45.c b/ops/sr/srx45.c
new file mode 100644
index 0000000..6352cfe
--- /dev/null
+++ b/ops/sr/srx45.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx45) {
+ NEXT_OP(sp, a, (sreg_t)x >> 45, y, o);
+}
diff --git a/ops/sr/srx46.c b/ops/sr/srx46.c
new file mode 100644
index 0000000..e879f8b
--- /dev/null
+++ b/ops/sr/srx46.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx46) {
+ NEXT_OP(sp, a, (sreg_t)x >> 46, y, o);
+}
diff --git a/ops/sr/srx47.c b/ops/sr/srx47.c
new file mode 100644
index 0000000..7126548
--- /dev/null
+++ b/ops/sr/srx47.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx47) {
+ NEXT_OP(sp, a, (sreg_t)x >> 47, y, o);
+}
diff --git a/ops/sr/srx48.c b/ops/sr/srx48.c
new file mode 100644
index 0000000..a2c1784
--- /dev/null
+++ b/ops/sr/srx48.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx48) {
+ NEXT_OP(sp, a, (sreg_t)x >> 48, y, o);
+}
diff --git a/ops/sr/srx49.c b/ops/sr/srx49.c
new file mode 100644
index 0000000..c891144
--- /dev/null
+++ b/ops/sr/srx49.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx49) {
+ NEXT_OP(sp, a, (sreg_t)x >> 49, y, o);
+}
diff --git a/ops/sr/srx5.c b/ops/sr/srx5.c
new file mode 100644
index 0000000..66cd2be
--- /dev/null
+++ b/ops/sr/srx5.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx5) {
+ NEXT_OP(sp, a, (sreg_t)x >> 5, y, o);
+}
diff --git a/ops/sr/srx50.c b/ops/sr/srx50.c
new file mode 100644
index 0000000..79d18b4
--- /dev/null
+++ b/ops/sr/srx50.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx50) {
+ NEXT_OP(sp, a, (sreg_t)x >> 50, y, o);
+}
diff --git a/ops/sr/srx51.c b/ops/sr/srx51.c
new file mode 100644
index 0000000..15e1010
--- /dev/null
+++ b/ops/sr/srx51.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx51) {
+ NEXT_OP(sp, a, (sreg_t)x >> 51, y, o);
+}
diff --git a/ops/sr/srx52.c b/ops/sr/srx52.c
new file mode 100644
index 0000000..f1d98e2
--- /dev/null
+++ b/ops/sr/srx52.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx52) {
+ NEXT_OP(sp, a, (sreg_t)x >> 52, y, o);
+}
diff --git a/ops/sr/srx53.c b/ops/sr/srx53.c
new file mode 100644
index 0000000..393f280
--- /dev/null
+++ b/ops/sr/srx53.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx53) {
+ NEXT_OP(sp, a, (sreg_t)x >> 53, y, o);
+}
diff --git a/ops/sr/srx54.c b/ops/sr/srx54.c
new file mode 100644
index 0000000..5b93485
--- /dev/null
+++ b/ops/sr/srx54.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx54) {
+ NEXT_OP(sp, a, (sreg_t)x >> 54, y, o);
+}
diff --git a/ops/sr/srx55.c b/ops/sr/srx55.c
new file mode 100644
index 0000000..de895c1
--- /dev/null
+++ b/ops/sr/srx55.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx55) {
+ NEXT_OP(sp, a, (sreg_t)x >> 55, y, o);
+}
diff --git a/ops/sr/srx56.c b/ops/sr/srx56.c
new file mode 100644
index 0000000..3793f1e
--- /dev/null
+++ b/ops/sr/srx56.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx56) {
+ NEXT_OP(sp, a, (sreg_t)x >> 56, y, o);
+}
diff --git a/ops/sr/srx57.c b/ops/sr/srx57.c
new file mode 100644
index 0000000..f450194
--- /dev/null
+++ b/ops/sr/srx57.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx57) {
+ NEXT_OP(sp, a, (sreg_t)x >> 57, y, o);
+}
diff --git a/ops/sr/srx58.c b/ops/sr/srx58.c
new file mode 100644
index 0000000..3f8e47b
--- /dev/null
+++ b/ops/sr/srx58.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx58) {
+ NEXT_OP(sp, a, (sreg_t)x >> 58, y, o);
+}
diff --git a/ops/sr/srx59.c b/ops/sr/srx59.c
new file mode 100644
index 0000000..5b3040c
--- /dev/null
+++ b/ops/sr/srx59.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx59) {
+ NEXT_OP(sp, a, (sreg_t)x >> 59, y, o);
+}
diff --git a/ops/sr/srx6.c b/ops/sr/srx6.c
new file mode 100644
index 0000000..556fa97
--- /dev/null
+++ b/ops/sr/srx6.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx6) {
+ NEXT_OP(sp, a, (sreg_t)x >> 6, y, o);
+}
diff --git a/ops/sr/srx60.c b/ops/sr/srx60.c
new file mode 100644
index 0000000..695a74f
--- /dev/null
+++ b/ops/sr/srx60.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx60) {
+ NEXT_OP(sp, a, (sreg_t)x >> 60, y, o);
+}
diff --git a/ops/sr/srx61.c b/ops/sr/srx61.c
new file mode 100644
index 0000000..f058691
--- /dev/null
+++ b/ops/sr/srx61.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx61) {
+ NEXT_OP(sp, a, (sreg_t)x >> 61, y, o);
+}
diff --git a/ops/sr/srx62.c b/ops/sr/srx62.c
new file mode 100644
index 0000000..19b643a
--- /dev/null
+++ b/ops/sr/srx62.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx62) {
+ NEXT_OP(sp, a, (sreg_t)x >> 62, y, o);
+}
diff --git a/ops/sr/srx63.c b/ops/sr/srx63.c
new file mode 100644
index 0000000..49a4e7a
--- /dev/null
+++ b/ops/sr/srx63.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx63) {
+ NEXT_OP(sp, a, (sreg_t)x >> 63, y, o);
+}
diff --git a/ops/sr/srx7.c b/ops/sr/srx7.c
new file mode 100644
index 0000000..fb762cb
--- /dev/null
+++ b/ops/sr/srx7.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx7) {
+ NEXT_OP(sp, a, (sreg_t)x >> 7, y, o);
+}
diff --git a/ops/sr/srx8.c b/ops/sr/srx8.c
new file mode 100644
index 0000000..8f139a5
--- /dev/null
+++ b/ops/sr/srx8.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx8) {
+ NEXT_OP(sp, a, (sreg_t)x >> 8, y, o);
+}
diff --git a/ops/sr/srx9.c b/ops/sr/srx9.c
new file mode 100644
index 0000000..cc9a27f
--- /dev/null
+++ b/ops/sr/srx9.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(srx9) {
+ NEXT_OP(sp, a, (sreg_t)x >> 9, y, o);
+}
diff --git a/ops/sr/sry0.c b/ops/sr/sry0.c
new file mode 100644
index 0000000..1be74cf
--- /dev/null
+++ b/ops/sr/sry0.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry0) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 0, o);
+}
diff --git a/ops/sr/sry1.c b/ops/sr/sry1.c
new file mode 100644
index 0000000..6245cdc
--- /dev/null
+++ b/ops/sr/sry1.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry1) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 1, o);
+}
diff --git a/ops/sr/sry10.c b/ops/sr/sry10.c
new file mode 100644
index 0000000..94c6492
--- /dev/null
+++ b/ops/sr/sry10.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry10) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 10, o);
+}
diff --git a/ops/sr/sry11.c b/ops/sr/sry11.c
new file mode 100644
index 0000000..d653d4c
--- /dev/null
+++ b/ops/sr/sry11.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry11) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 11, o);
+}
diff --git a/ops/sr/sry12.c b/ops/sr/sry12.c
new file mode 100644
index 0000000..17d0b08
--- /dev/null
+++ b/ops/sr/sry12.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry12) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 12, o);
+}
diff --git a/ops/sr/sry13.c b/ops/sr/sry13.c
new file mode 100644
index 0000000..7f74aaf
--- /dev/null
+++ b/ops/sr/sry13.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry13) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 13, o);
+}
diff --git a/ops/sr/sry14.c b/ops/sr/sry14.c
new file mode 100644
index 0000000..37cdaac
--- /dev/null
+++ b/ops/sr/sry14.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry14) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 14, o);
+}
diff --git a/ops/sr/sry15.c b/ops/sr/sry15.c
new file mode 100644
index 0000000..573bd2c
--- /dev/null
+++ b/ops/sr/sry15.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry15) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 15, o);
+}
diff --git a/ops/sr/sry16.c b/ops/sr/sry16.c
new file mode 100644
index 0000000..c877801
--- /dev/null
+++ b/ops/sr/sry16.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry16) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 16, o);
+}
diff --git a/ops/sr/sry17.c b/ops/sr/sry17.c
new file mode 100644
index 0000000..ea11e76
--- /dev/null
+++ b/ops/sr/sry17.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry17) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 17, o);
+}
diff --git a/ops/sr/sry18.c b/ops/sr/sry18.c
new file mode 100644
index 0000000..9baaace
--- /dev/null
+++ b/ops/sr/sry18.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry18) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 18, o);
+}
diff --git a/ops/sr/sry19.c b/ops/sr/sry19.c
new file mode 100644
index 0000000..b67c220
--- /dev/null
+++ b/ops/sr/sry19.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry19) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 19, o);
+}
diff --git a/ops/sr/sry2.c b/ops/sr/sry2.c
new file mode 100644
index 0000000..a946974
--- /dev/null
+++ b/ops/sr/sry2.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry2) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 2, o);
+}
diff --git a/ops/sr/sry20.c b/ops/sr/sry20.c
new file mode 100644
index 0000000..257e81c
--- /dev/null
+++ b/ops/sr/sry20.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry20) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 20, o);
+}
diff --git a/ops/sr/sry21.c b/ops/sr/sry21.c
new file mode 100644
index 0000000..a4f7082
--- /dev/null
+++ b/ops/sr/sry21.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry21) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 21, o);
+}
diff --git a/ops/sr/sry22.c b/ops/sr/sry22.c
new file mode 100644
index 0000000..49a3c8a
--- /dev/null
+++ b/ops/sr/sry22.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry22) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 22, o);
+}
diff --git a/ops/sr/sry23.c b/ops/sr/sry23.c
new file mode 100644
index 0000000..53e7980
--- /dev/null
+++ b/ops/sr/sry23.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry23) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 23, o);
+}
diff --git a/ops/sr/sry24.c b/ops/sr/sry24.c
new file mode 100644
index 0000000..6c41f88
--- /dev/null
+++ b/ops/sr/sry24.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry24) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 24, o);
+}
diff --git a/ops/sr/sry25.c b/ops/sr/sry25.c
new file mode 100644
index 0000000..dcc22cb
--- /dev/null
+++ b/ops/sr/sry25.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry25) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 25, o);
+}
diff --git a/ops/sr/sry26.c b/ops/sr/sry26.c
new file mode 100644
index 0000000..e1c6eec
--- /dev/null
+++ b/ops/sr/sry26.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry26) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 26, o);
+}
diff --git a/ops/sr/sry27.c b/ops/sr/sry27.c
new file mode 100644
index 0000000..2096395
--- /dev/null
+++ b/ops/sr/sry27.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry27) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 27, o);
+}
diff --git a/ops/sr/sry28.c b/ops/sr/sry28.c
new file mode 100644
index 0000000..8ce58f9
--- /dev/null
+++ b/ops/sr/sry28.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry28) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 28, o);
+}
diff --git a/ops/sr/sry29.c b/ops/sr/sry29.c
new file mode 100644
index 0000000..be9600b
--- /dev/null
+++ b/ops/sr/sry29.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry29) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 29, o);
+}
diff --git a/ops/sr/sry3.c b/ops/sr/sry3.c
new file mode 100644
index 0000000..2512146
--- /dev/null
+++ b/ops/sr/sry3.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry3) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 3, o);
+}
diff --git a/ops/sr/sry30.c b/ops/sr/sry30.c
new file mode 100644
index 0000000..2538a6a
--- /dev/null
+++ b/ops/sr/sry30.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry30) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 30, o);
+}
diff --git a/ops/sr/sry31.c b/ops/sr/sry31.c
new file mode 100644
index 0000000..cdb1f75
--- /dev/null
+++ b/ops/sr/sry31.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry31) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 31, o);
+}
diff --git a/ops/sr/sry32.c b/ops/sr/sry32.c
new file mode 100644
index 0000000..fabeb1e
--- /dev/null
+++ b/ops/sr/sry32.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry32) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 32, o);
+}
diff --git a/ops/sr/sry33.c b/ops/sr/sry33.c
new file mode 100644
index 0000000..02fb238
--- /dev/null
+++ b/ops/sr/sry33.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry33) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 33, o);
+}
diff --git a/ops/sr/sry34.c b/ops/sr/sry34.c
new file mode 100644
index 0000000..bc7d76f
--- /dev/null
+++ b/ops/sr/sry34.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry34) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 34, o);
+}
diff --git a/ops/sr/sry35.c b/ops/sr/sry35.c
new file mode 100644
index 0000000..b0acf55
--- /dev/null
+++ b/ops/sr/sry35.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry35) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 35, o);
+}
diff --git a/ops/sr/sry36.c b/ops/sr/sry36.c
new file mode 100644
index 0000000..05a189f
--- /dev/null
+++ b/ops/sr/sry36.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry36) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 36, o);
+}
diff --git a/ops/sr/sry37.c b/ops/sr/sry37.c
new file mode 100644
index 0000000..19b2806
--- /dev/null
+++ b/ops/sr/sry37.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry37) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 37, o);
+}
diff --git a/ops/sr/sry38.c b/ops/sr/sry38.c
new file mode 100644
index 0000000..439ddb1
--- /dev/null
+++ b/ops/sr/sry38.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry38) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 38, o);
+}
diff --git a/ops/sr/sry39.c b/ops/sr/sry39.c
new file mode 100644
index 0000000..314d532
--- /dev/null
+++ b/ops/sr/sry39.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry39) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 39, o);
+}
diff --git a/ops/sr/sry4.c b/ops/sr/sry4.c
new file mode 100644
index 0000000..30cf4da
--- /dev/null
+++ b/ops/sr/sry4.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry4) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 4, o);
+}
diff --git a/ops/sr/sry40.c b/ops/sr/sry40.c
new file mode 100644
index 0000000..c242b6e
--- /dev/null
+++ b/ops/sr/sry40.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry40) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 40, o);
+}
diff --git a/ops/sr/sry41.c b/ops/sr/sry41.c
new file mode 100644
index 0000000..8c5b5c9
--- /dev/null
+++ b/ops/sr/sry41.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry41) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 41, o);
+}
diff --git a/ops/sr/sry42.c b/ops/sr/sry42.c
new file mode 100644
index 0000000..d996632
--- /dev/null
+++ b/ops/sr/sry42.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry42) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 42, o);
+}
diff --git a/ops/sr/sry43.c b/ops/sr/sry43.c
new file mode 100644
index 0000000..58bf2ac
--- /dev/null
+++ b/ops/sr/sry43.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry43) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 43, o);
+}
diff --git a/ops/sr/sry44.c b/ops/sr/sry44.c
new file mode 100644
index 0000000..57fe5c3
--- /dev/null
+++ b/ops/sr/sry44.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry44) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 44, o);
+}
diff --git a/ops/sr/sry45.c b/ops/sr/sry45.c
new file mode 100644
index 0000000..e5d5450
--- /dev/null
+++ b/ops/sr/sry45.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry45) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 45, o);
+}
diff --git a/ops/sr/sry46.c b/ops/sr/sry46.c
new file mode 100644
index 0000000..1046429
--- /dev/null
+++ b/ops/sr/sry46.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry46) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 46, o);
+}
diff --git a/ops/sr/sry47.c b/ops/sr/sry47.c
new file mode 100644
index 0000000..6bc4ebb
--- /dev/null
+++ b/ops/sr/sry47.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry47) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 47, o);
+}
diff --git a/ops/sr/sry48.c b/ops/sr/sry48.c
new file mode 100644
index 0000000..25a4dca
--- /dev/null
+++ b/ops/sr/sry48.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry48) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 48, o);
+}
diff --git a/ops/sr/sry49.c b/ops/sr/sry49.c
new file mode 100644
index 0000000..4772a96
--- /dev/null
+++ b/ops/sr/sry49.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry49) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 49, o);
+}
diff --git a/ops/sr/sry5.c b/ops/sr/sry5.c
new file mode 100644
index 0000000..c11c67a
--- /dev/null
+++ b/ops/sr/sry5.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry5) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 5, o);
+}
diff --git a/ops/sr/sry50.c b/ops/sr/sry50.c
new file mode 100644
index 0000000..7c313bc
--- /dev/null
+++ b/ops/sr/sry50.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry50) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 50, o);
+}
diff --git a/ops/sr/sry51.c b/ops/sr/sry51.c
new file mode 100644
index 0000000..13704f9
--- /dev/null
+++ b/ops/sr/sry51.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry51) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 51, o);
+}
diff --git a/ops/sr/sry52.c b/ops/sr/sry52.c
new file mode 100644
index 0000000..63af3f3
--- /dev/null
+++ b/ops/sr/sry52.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry52) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 52, o);
+}
diff --git a/ops/sr/sry53.c b/ops/sr/sry53.c
new file mode 100644
index 0000000..0f751b1
--- /dev/null
+++ b/ops/sr/sry53.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry53) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 53, o);
+}
diff --git a/ops/sr/sry54.c b/ops/sr/sry54.c
new file mode 100644
index 0000000..c34b5eb
--- /dev/null
+++ b/ops/sr/sry54.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry54) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 54, o);
+}
diff --git a/ops/sr/sry55.c b/ops/sr/sry55.c
new file mode 100644
index 0000000..3cc2d49
--- /dev/null
+++ b/ops/sr/sry55.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry55) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 55, o);
+}
diff --git a/ops/sr/sry56.c b/ops/sr/sry56.c
new file mode 100644
index 0000000..2a3926f
--- /dev/null
+++ b/ops/sr/sry56.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry56) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 56, o);
+}
diff --git a/ops/sr/sry57.c b/ops/sr/sry57.c
new file mode 100644
index 0000000..f7435bd
--- /dev/null
+++ b/ops/sr/sry57.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry57) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 57, o);
+}
diff --git a/ops/sr/sry58.c b/ops/sr/sry58.c
new file mode 100644
index 0000000..09c8551
--- /dev/null
+++ b/ops/sr/sry58.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry58) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 58, o);
+}
diff --git a/ops/sr/sry59.c b/ops/sr/sry59.c
new file mode 100644
index 0000000..105529a
--- /dev/null
+++ b/ops/sr/sry59.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry59) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 59, o);
+}
diff --git a/ops/sr/sry6.c b/ops/sr/sry6.c
new file mode 100644
index 0000000..be0f722
--- /dev/null
+++ b/ops/sr/sry6.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry6) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 6, o);
+}
diff --git a/ops/sr/sry60.c b/ops/sr/sry60.c
new file mode 100644
index 0000000..d865d55
--- /dev/null
+++ b/ops/sr/sry60.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry60) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 60, o);
+}
diff --git a/ops/sr/sry61.c b/ops/sr/sry61.c
new file mode 100644
index 0000000..76a53fd
--- /dev/null
+++ b/ops/sr/sry61.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry61) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 61, o);
+}
diff --git a/ops/sr/sry62.c b/ops/sr/sry62.c
new file mode 100644
index 0000000..895ec2f
--- /dev/null
+++ b/ops/sr/sry62.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry62) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 62, o);
+}
diff --git a/ops/sr/sry63.c b/ops/sr/sry63.c
new file mode 100644
index 0000000..db7a38a
--- /dev/null
+++ b/ops/sr/sry63.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry63) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 63, o);
+}
diff --git a/ops/sr/sry7.c b/ops/sr/sry7.c
new file mode 100644
index 0000000..81faa7b
--- /dev/null
+++ b/ops/sr/sry7.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry7) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 7, o);
+}
diff --git a/ops/sr/sry8.c b/ops/sr/sry8.c
new file mode 100644
index 0000000..d17e82a
--- /dev/null
+++ b/ops/sr/sry8.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry8) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 8, o);
+}
diff --git a/ops/sr/sry9.c b/ops/sr/sry9.c
new file mode 100644
index 0000000..2238e86
--- /dev/null
+++ b/ops/sr/sry9.c
@@ -0,0 +1,4 @@
+#include "../common.h"
+DEFINE_OP(sry9) {
+ NEXT_OP(sp, a, x, (sreg_t)y >> 9, o);
+}