aboutsummaryrefslogtreecommitdiff
path: root/src/ir.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ir.cpp')
-rw-r--r--src/ir.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/ir.cpp b/src/ir.cpp
index 5e91d4f30..d17951f9f 100644
--- a/src/ir.cpp
+++ b/src/ir.cpp
@@ -4621,6 +4621,15 @@ irValue *ir_emit_arith(irProcedure *proc, TokenKind op, irValue *left, irValue *
}
handle_op:
+
+ // NOTE(bill): Bit Set Aliases for + and -
+ if (is_type_bit_set(type)) {
+ switch (op) {
+ case Token_Add: op = Token_Or; break;
+ case Token_Sub: op = Token_AndNot; break;
+ }
+ }
+
switch (op) {
case Token_Shl:
{