summaryrefslogtreecommitdiff
path: root/regress/sys/arch/sparc64/emul-popc/simm/genasm.pl
diff options
context:
space:
mode:
Diffstat (limited to 'regress/sys/arch/sparc64/emul-popc/simm/genasm.pl')
-rw-r--r--regress/sys/arch/sparc64/emul-popc/simm/genasm.pl20
1 files changed, 20 insertions, 0 deletions
diff --git a/regress/sys/arch/sparc64/emul-popc/simm/genasm.pl b/regress/sys/arch/sparc64/emul-popc/simm/genasm.pl
new file mode 100644
index 00000000000..aeb33c3e184
--- /dev/null
+++ b/regress/sys/arch/sparc64/emul-popc/simm/genasm.pl
@@ -0,0 +1,20 @@
+
+print "/* AUTOMATICALLY GENERATED, DO NOT EDIT */\n";
+print "#include <machine/asm.h>\n";
+print "#include <machine/trap.h>\n";
+print "#include <machine/frame.h>\n";
+print "\n";
+
+for ($i = -4096; $i <= 4095; $i++) {
+ print "ENTRY(popc";
+ if ($i < 0) {
+ $v = -$i;
+ print "__$v";
+ } else {
+ print "_$i";
+ }
+ print ")\n";
+
+ print "\tretl\n";
+ print "\t popc $i, %o0\n\n";
+}