authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2016-01-06 02:44:46-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2016-01-06 02:44:46-07:00
logf751a85d557d11dbbf09a03797a32bfd3edc8d6e
tree789366ec269cc001bf9f46827510866ea6411014
parent8b48e242b8bc61080433ae541653cfcdfa274e59

codegen: arithmetic is all wrapping for now

we'll add optimizations back in when we solve #46

1 files changed, 3 insertions(+), 3 deletions(-)

src/codegen.cpp+3-3
...@@ -554,7 +554,7 @@ static LLVMValueRef gen_arithmetic_bin_op(CodeGen *g, AstNode *source_node,...@@ -554,7 +554,7 @@ static LLVMValueRef gen_arithmetic_bin_op(CodeGen *g, AstNode *source_node,
554 if (op1_type->id == TypeTableEntryIdFloat) {554 if (op1_type->id == TypeTableEntryIdFloat) {
555 return LLVMBuildFAdd(g->builder, val1, val2, "");555 return LLVMBuildFAdd(g->builder, val1, val2, "");
556 } else {556 } else {
557 return LLVMBuildNSWAdd(g->builder, val1, val2, "");557 return LLVMBuildAdd(g->builder, val1, val2, "");
558 }558 }
559 case BinOpTypeSub:559 case BinOpTypeSub:
560 case BinOpTypeAssignMinus:560 case BinOpTypeAssignMinus:
...@@ -562,7 +562,7 @@ static LLVMValueRef gen_arithmetic_bin_op(CodeGen *g, AstNode *source_node,...@@ -562,7 +562,7 @@ static LLVMValueRef gen_arithmetic_bin_op(CodeGen *g, AstNode *source_node,
562 if (op1_type->id == TypeTableEntryIdFloat) {562 if (op1_type->id == TypeTableEntryIdFloat) {
563 return LLVMBuildFSub(g->builder, val1, val2, "");563 return LLVMBuildFSub(g->builder, val1, val2, "");
564 } else {564 } else {
565 return LLVMBuildNSWSub(g->builder, val1, val2, "");565 return LLVMBuildSub(g->builder, val1, val2, "");
566 }566 }
567 case BinOpTypeMult:567 case BinOpTypeMult:
568 case BinOpTypeAssignTimes:568 case BinOpTypeAssignTimes:
...@@ -570,7 +570,7 @@ static LLVMValueRef gen_arithmetic_bin_op(CodeGen *g, AstNode *source_node,...@@ -570,7 +570,7 @@ static LLVMValueRef gen_arithmetic_bin_op(CodeGen *g, AstNode *source_node,
570 if (op1_type->id == TypeTableEntryIdFloat) {570 if (op1_type->id == TypeTableEntryIdFloat) {
571 return LLVMBuildFMul(g->builder, val1, val2, "");571 return LLVMBuildFMul(g->builder, val1, val2, "");
572 } else {572 } else {
573 return LLVMBuildNSWMul(g->builder, val1, val2, "");573 return LLVMBuildMul(g->builder, val1, val2, "");
574 }574 }
575 case BinOpTypeDiv:575 case BinOpTypeDiv:
576 case BinOpTypeAssignDiv:576 case BinOpTypeAssignDiv: