All pastes #1978489 Raw Edit

[lightspark PATCH] Use LLVM's fl

public diff v1 · immutable
#1978489 ·published 2010-11-01 06:53 UTC
rendered paste body
From e18194c0e09df04aaa97e6f662ef7e7ff71d8b5e Mon Sep 17 00:00:00 2001From: nobled <nobled@dreamwidth.org>Date: Sun, 31 Oct 2010 20:19:37 +0000Subject: [PATCH] Use LLVM's floating-point operatorsOnly the FMul, FAdd, FSub, and FNeg instructions are supposed to beused with floating-point operands.--- scripting/abc_codesynt.cpp |   16 ++++++++-------- 1 files changed, 8 insertions(+), 8 deletions(-)diff --git a/scripting/abc_codesynt.cpp b/scripting/abc_codesynt.cppindex 5dc6468..f1eb6b0 100644--- a/scripting/abc_codesynt.cpp+++ b/scripting/abc_codesynt.cpp@@ -3318,20 +3318,20 @@ SyntheticFunction::synt_function method_info::synt_method() 				{ 					//TODO: 32bit check 					v1.first=Builder.CreateSIToFP(v1.first,number_type);-					value=Builder.CreateAdd(v1.first, v2.first);+					value=Builder.CreateFAdd(v1.first, v2.first); 					static_stack_push(static_stack,stack_entry(value,STACK_NUMBER)); 				} 				else if(v1.second==STACK_NUMBER && v2.second==STACK_INT) 				{ 					//TODO: 32bit check 					v2.first=Builder.CreateSIToFP(v2.first,number_type);-					value=Builder.CreateAdd(v1.first, v2.first);+					value=Builder.CreateFAdd(v1.first, v2.first); 					static_stack_push(static_stack,stack_entry(value,STACK_NUMBER)); 				} 				else if(v1.second==STACK_NUMBER && v2.second==STACK_NUMBER) 				{ 					//TODO: 32bit check-					value=Builder.CreateAdd(v1.first, v2.first);+					value=Builder.CreateFAdd(v1.first, v2.first); 					static_stack_push(static_stack,stack_entry(value,STACK_NUMBER)); 				} 				else@@ -3352,19 +3352,19 @@ SyntheticFunction::synt_function method_info::synt_method() 				} 				else if(v1.second==STACK_NUMBER && v2.second==STACK_NUMBER) 				{-					value=Builder.CreateSub(v2.first, v1.first);+					value=Builder.CreateFSub(v2.first, v1.first); 					static_stack_push(static_stack,stack_entry(value,STACK_NUMBER)); 				} 				else if(v1.second==STACK_INT && v2.second==STACK_NUMBER) 				{ 					v1.first=Builder.CreateSIToFP(v1.first,number_type);-					value=Builder.CreateSub(v2.first, v1.first);+					value=Builder.CreateFSub(v2.first, v1.first); 					static_stack_push(static_stack,stack_entry(value,STACK_NUMBER)); 				} 				else if(v1.second==STACK_NUMBER && v2.second==STACK_INT) 				{ 					v2.first=Builder.CreateSIToFP(v2.first,number_type);-					value=Builder.CreateSub(v2.first, v1.first);+					value=Builder.CreateFSub(v2.first, v1.first); 					static_stack_push(static_stack,stack_entry(value,STACK_NUMBER)); 				} 				else if(v1.second==STACK_OBJECT && v2.second==STACK_INT)@@ -3416,13 +3416,13 @@ SyntheticFunction::synt_function method_info::synt_method() 				else if(v1.second==STACK_NUMBER && v2.second==STACK_INT) 				{ 					v2.first=Builder.CreateSIToFP(v2.first,number_type);-					value=Builder.CreateMul(v1.first, v2.first);+					value=Builder.CreateFMul(v1.first, v2.first); 					static_stack_push(static_stack,stack_entry(value,STACK_NUMBER)); 				} 				else if(v1.second==STACK_INT && v2.second==STACK_NUMBER) 				{ 					v1.first=Builder.CreateSIToFP(v1.first,number_type);-					value=Builder.CreateMul(v1.first, v2.first);+					value=Builder.CreateFMul(v1.first, v2.first); 					static_stack_push(static_stack,stack_entry(value,STACK_NUMBER)); 				} 				else-- 1.7.0.4