From f189e46b8e1ee7207febb667b79d2b8d1411f265 Mon Sep 17 00:00:00 2001 From: Vallahor Date: Fri, 3 Jun 2022 21:13:34 -0300 Subject: [PATCH] autodoc: add some tags --- lib/docs/main.js | 17 ++++++++++++++++- src/Autodoc.zig | 6 ++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/lib/docs/main.js b/lib/docs/main.js index 942b3f9f09..cc812fdad9 100644 --- a/lib/docs/main.js +++ b/lib/docs/main.js @@ -1114,7 +1114,6 @@ var zigAnalysis; return exprName(sliceIndex, opts); } case "cmpxchg":{ - console.log(expr); const typeIndex = zigAnalysis.exprs[expr.cmpxchg.type]; const ptrIndex = zigAnalysis.exprs[expr.cmpxchg.ptr]; const expectedValueIndex = zigAnalysis.exprs[expr.cmpxchg.expected_value]; @@ -1195,6 +1194,7 @@ var zigAnalysis; const param_expr = zigAnalysis.exprs[expr.builtin.param]; let param = exprName(param_expr, opts); + let payloadHtml = "@"; switch (expr.builtin.name) { case "align_of": { @@ -1324,6 +1324,21 @@ var zigAnalysis; case "bit_not": { return "~" + param; } + case "clz": { + return "@clz(T" + ", " + param + ")"; + } + case "ctz": { + return "@ctz(T" + ", " + param + ")"; + } + case "pop_count": { + return "@popCount(T" + ", " + param + ")"; + } + case "byte_swap": { + return "@byteSwap(T" + ", " + param + ")"; + } + case "bit_reverse": { + return "@bitReverse(T" + ", " + param + ")"; + } default: console.log("builtin function not handled yet or doesn't exist!"); }; return payloadHtml + "(" + param + ")"; diff --git a/src/Autodoc.zig b/src/Autodoc.zig index f2c45bb9ed..42b433120b 100644 --- a/src/Autodoc.zig +++ b/src/Autodoc.zig @@ -1357,6 +1357,12 @@ fn walkInstruction( .minimum, .maximum, .bit_not, + // @check + .clz, + .ctz, + .pop_count, + .byte_swap, + .bit_reverse, => { const un_node = data[inst_index].un_node; const bin_index = self.exprs.items.len;