aboutsummaryrefslogtreecommitdiffhomepage
path: root/codegen.c
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2025-07-29 08:51:00 +0900
committernsfisis <nsfisis@gmail.com>2025-08-15 10:04:36 +0900
commitf30a6e048ccadd33c889caaa8012cfabfd5c2da9 (patch)
treed64763931b2013024feb8505785840d47c51a03f /codegen.c
parentbfd0e04870c7cc55e8c2a9ee5e7b3e39fc9286c2 (diff)
downloadducc-f30a6e048ccadd33c889caaa8012cfabfd5c2da9.tar.gz
ducc-f30a6e048ccadd33c889caaa8012cfabfd5c2da9.tar.zst
ducc-f30a6e048ccadd33c889caaa8012cfabfd5c2da9.zip
feat: implement bitwise or
Diffstat (limited to 'codegen.c')
-rw-r--r--codegen.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/codegen.c b/codegen.c
index 4bb15e2..234b4e5 100644
--- a/codegen.c
+++ b/codegen.c
@@ -152,6 +152,8 @@ void codegen_binary_expr(CodeGen* g, AstNode* ast, GenMode gen_mode) {
printf(" cqo\n");
printf(" idiv rdi\n");
printf(" mov rax, rdx\n");
+ } else if (ast->node_op == TokenKind_or) {
+ printf(" or rax, rdi\n");
} else if (ast->node_op == TokenKind_eq) {
printf(" cmp rax, rdi\n");
printf(" sete al\n");