| ... | @@ -1114,7 +1114,6 @@ var zigAnalysis; | ... | @@ -1114,7 +1114,6 @@ var zigAnalysis; |
| 1114 | return exprName(sliceIndex, opts); | 1114 | return exprName(sliceIndex, opts); |
| 1115 | } | 1115 | } |
| 1116 | case "cmpxchg":{ | 1116 | case "cmpxchg":{ |
| 1117 | console.log(expr); | | |
| 1118 | const typeIndex = zigAnalysis.exprs[expr.cmpxchg.type]; | 1117 | const typeIndex = zigAnalysis.exprs[expr.cmpxchg.type]; |
| 1119 | const ptrIndex = zigAnalysis.exprs[expr.cmpxchg.ptr]; | 1118 | const ptrIndex = zigAnalysis.exprs[expr.cmpxchg.ptr]; |
| 1120 | const expectedValueIndex = zigAnalysis.exprs[expr.cmpxchg.expected_value]; | 1119 | const expectedValueIndex = zigAnalysis.exprs[expr.cmpxchg.expected_value]; |
| ... | @@ -1195,6 +1194,7 @@ var zigAnalysis; | ... | @@ -1195,6 +1194,7 @@ var zigAnalysis; |
| 1195 | const param_expr = zigAnalysis.exprs[expr.builtin.param]; | 1194 | const param_expr = zigAnalysis.exprs[expr.builtin.param]; |
| 1196 | let param = exprName(param_expr, opts); | 1195 | let param = exprName(param_expr, opts); |
| 1197 | | 1196 | |
| | 1197 | |
| 1198 | let payloadHtml = "@"; | 1198 | let payloadHtml = "@"; |
| 1199 | switch (expr.builtin.name) { | 1199 | switch (expr.builtin.name) { |
| 1200 | case "align_of": { | 1200 | case "align_of": { |
| ... | @@ -1324,6 +1324,21 @@ var zigAnalysis; | ... | @@ -1324,6 +1324,21 @@ var zigAnalysis; |
| 1324 | case "bit_not": { | 1324 | case "bit_not": { |
| 1325 | return "~" + param; | 1325 | return "~" + param; |
| 1326 | } | 1326 | } |
| | 1327 | case "clz": { |
| | 1328 | return "@clz(T" + ", " + param + ")"; |
| | 1329 | } |
| | 1330 | case "ctz": { |
| | 1331 | return "@ctz(T" + ", " + param + ")"; |
| | 1332 | } |
| | 1333 | case "pop_count": { |
| | 1334 | return "@popCount(T" + ", " + param + ")"; |
| | 1335 | } |
| | 1336 | case "byte_swap": { |
| | 1337 | return "@byteSwap(T" + ", " + param + ")"; |
| | 1338 | } |
| | 1339 | case "bit_reverse": { |
| | 1340 | return "@bitReverse(T" + ", " + param + ")"; |
| | 1341 | } |
| 1327 | default: console.log("builtin function not handled yet or doesn't exist!"); | 1342 | default: console.log("builtin function not handled yet or doesn't exist!"); |
| 1328 | }; | 1343 | }; |
| 1329 | return payloadHtml + "(" + param + ")"; | 1344 | return payloadHtml + "(" + param + ")"; |