merge add

This commit is contained in:
2026-02-13 08:09:12 -06:00
parent f7e2ff13b5
commit 0acaabd5fa
14 changed files with 98386 additions and 107814 deletions

View File

@@ -277,6 +277,51 @@ var qbe_emit = function(ir, qbe) {
continue
}
// --- Generic arithmetic (VM dispatches int/float) ---
if (op == "add") {
p = fresh()
emit(qbe.add(p, "%ctx", s(a2), s(a3)))
emit(` ${s(a1)} =l copy %${p}`)
wb(a1)
continue
}
if (op == "subtract") {
p = fresh()
emit(qbe.sub(p, "%ctx", s(a2), s(a3)))
emit(` ${s(a1)} =l copy %${p}`)
wb(a1)
continue
}
if (op == "multiply") {
p = fresh()
emit(qbe.mul(p, "%ctx", s(a2), s(a3)))
emit(` ${s(a1)} =l copy %${p}`)
wb(a1)
continue
}
if (op == "divide") {
p = fresh()
emit(qbe.div(p, "%ctx", s(a2), s(a3)))
emit(` ${s(a1)} =l copy %${p}`)
wb(a1)
continue
}
if (op == "modulo") {
p = fresh()
emit(qbe.mod(p, "%ctx", s(a2), s(a3)))
emit(` ${s(a1)} =l copy %${p}`)
wb(a1)
continue
}
if (op == "negate") {
p = fresh()
emit(qbe.neg(p, "%ctx", s(a2)))
emit(` ${s(a1)} =l copy %${p}`)
wb(a1)
continue
}
// --- String concat ---
if (op == "concat") {