diff options
author | hovertank3d <[email protected]> | 2025-01-18 13:57:23 +0100 |
---|---|---|
committer | hovertank3d <[email protected]> | 2025-01-18 13:57:23 +0100 |
commit | 342b251a2f24263651a4a4104ab8129560d7dd53 (patch) | |
tree | ddf66d565ef1837ff617de64d4478cec1a369d69 | |
parent | f60aec7f3669d9cd2e099d75b9d4ccd37035da57 (diff) | |
download | lzcnt.space-342b251a2f24263651a4a4104ab8129560d7dd53.tar.xz lzcnt.space-342b251a2f24263651a4a4104ab8129560d7dd53.zip |
use genhl instead of hardcoding syntax
-rw-r--r-- | log2.s | 8 | ||||
-rw-r--r-- | templates/gen.go | 3 | ||||
-rw-r--r-- | templates/index.html | 53 | ||||
-rw-r--r-- | templates/log2.s.html | 11 | ||||
-rw-r--r-- | templates/reset.html | 1 | ||||
-rw-r--r-- | templates/source_code.html | 1 |
6 files changed, 27 insertions, 50 deletions
@@ -1,8 +1,10 @@ .section .text .global log2lzcnt .type log2lzcnt, @function -log2lzcnt: - lzcnt %rdi, %rdi +# {{template "source_code.html" .}} +# {{template "reset.html" .}} +log2lzcnt: # log2lzcnt({{.Requests}}); + lzcnt %rdi, %rdi movq $63, %rax sub %rdi, %rax - ret + ret # 2^{{.Log2lzcnt}} requests handled diff --git a/templates/gen.go b/templates/gen.go new file mode 100644 index 0000000..852291d --- /dev/null +++ b/templates/gen.go @@ -0,0 +1,3 @@ +package templates + +//go:generate bash -c "cat ../log2.s | genhl > log2.s.html" diff --git a/templates/index.html b/templates/index.html index dd4cb2a..85eccab 100644 --- a/templates/index.html +++ b/templates/index.html @@ -20,56 +20,15 @@ <meta name='viewport' content='width=device-width, initial-scale=1'> <title>LZCNT</title> - <!--fdfd--> - <style> - .ins { - color: rgb(254, 254, 91) - } - - .imm { - color: rgb(31, 145, 31) - } - - .reg { - color: rgb(115, 158, 213); - font-weight: bold; - } - - .label { - color: rgb(70, 70, 240) - } - - .comment { - color: rgb(31, 145, 31); - font-weight: bold; - } - - .listing { - color: white; - display: flex; - justify-content: center; - } - - .listing code { - background-color: rgb(31, 31, 31); - } - </style> - <form id="reset" action="/reset" method="get"></form> + <form id="reset" action="/reset" method="get"></form> </head> <body> - <div style="display: flex; justify-content: center;"></div> - <h2 style="text-align: center;"><code>LZCNT - Count the Number of Leading Zero Bits</code></h2> - <pre class="listing"><code> - <code class="comment"># <a href="https://github.com/hovertank3d/lzcnt.space">[source code]</a></code> - <code class="comment"># <a href="javascript:{}" onclick="document.getElementById('reset').submit(); return false;">[reset counter]</a></code> - <code class="label">log2lzcnt:</code> <code class="comment"># log2lzcnt({{.Requests}});</code> - <b><code class="ins"> lzcnt </code></b><code class="reg">%rdi</code>, <code class="reg">%rdi</code> - <code class="ins"> movq </code><code class="imm">$63</code>, <code class="reg">%rax</code> - <code class="ins"> sub </code><code class="reg">%rdi</code>, <code class="reg">%rax</code> - <code class="ins"> ret </code> <code class="comment"># 2^{{.Log2lzcnt}} requests handled</code> - -</code></pre> + <div style="display: flex; justify-content: center;"> + <h2 style="text-align: center;"><code>LZCNT - Count the Number of Leading Zero Bits</code></h2> + </div> + <div style="width: fit-content; margin-left: auto; margin-right: auto;"> + {{template "log2.s.html" .}} </div> </body> diff --git a/templates/log2.s.html b/templates/log2.s.html new file mode 100644 index 0000000..a16ccca --- /dev/null +++ b/templates/log2.s.html @@ -0,0 +1,11 @@ +<style>.stx0{background-color: rgb(33,33,33);}.stx1{color: rgb(255,255,255);}.stx2{color: rgb(220,150,28);font-weight: bold;}.stx3{color: rgb(181,120,206);}.stx4{color: rgb(70,70,240);}.stx5{color: rgb(254,254,91);font-weight: bold;}.stx6{color: rgb(115,158,213);font-weight: bold;}.stx7{color: rgb(24,212,236);}.stx8{color: rgb(139,15,127);font-weight: bold;}.stx9{color: rgb(11,84,118);}.stxa{color: rgb(31,145,31);font-weight: bold;}</style><div class="stx0"><pre><code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx8">.section</code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx3">.text</code><code class="stx1"> +</code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx8">.global</code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx3">log2lzcnt</code><code class="stx1"> +</code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx8">.type</code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx3">log2lzcnt</code><code class="stx1">,</code><code class="stx1"> </code><code class="stx3">@function</code><code class="stx1"> +</code><code class="stxa"># {{template "source_code.html" .}} +</code><code class="stxa"># {{template "reset.html" .}} +</code><code class="stx9">log2lzcnt:</code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stxa"># log2lzcnt({{.Requests}}); +</code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx5">lzcnt</code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx6">%rdi</code><code class="stx1">,</code><code class="stx1"> </code><code class="stx6">%rdi</code><code class="stx1"> </code><code class="stx1"> +</code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx5">movq</code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx3">$63</code><code class="stx1">,</code><code class="stx1"> </code><code class="stx1"> </code><code class="stx6">%rax</code><code class="stx1"> +</code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx5">sub</code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx6">%rdi</code><code class="stx1">,</code><code class="stx1"> </code><code class="stx6">%rax</code><code class="stx1"> +</code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx5">ret</code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stx1"> </code><code class="stxa"># 2^{{.Log2lzcnt}} requests handled +</code></code></pre></div>
\ No newline at end of file diff --git a/templates/reset.html b/templates/reset.html new file mode 100644 index 0000000..090b273 --- /dev/null +++ b/templates/reset.html @@ -0,0 +1 @@ +<a href="javascript:{}" onclick="document.getElementById('reset').submit(); return false;">[reset counter]</a>
\ No newline at end of file diff --git a/templates/source_code.html b/templates/source_code.html new file mode 100644 index 0000000..631c649 --- /dev/null +++ b/templates/source_code.html @@ -0,0 +1 @@ +<a href="https://github.com/hovertank3d/lzcnt.space">[source code]</a>
\ No newline at end of file |