From 63f073191319d6b7267664549dc0a171256f6fd4 Mon Sep 17 00:00:00 2001 From: nickysn Date: Sat, 26 Apr 2014 18:58:22 +0000 Subject: [PATCH] * 16/8-bit alu fix in tcgunaryminusnode.emit_float_sign_change git-svn-id: trunk@27672 - --- compiler/ncgmat.pas | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/compiler/ncgmat.pas b/compiler/ncgmat.pas index 3f331cac7b..88baa9a2dd 100644 --- a/compiler/ncgmat.pas +++ b/compiler/ncgmat.pas @@ -166,7 +166,13 @@ implementation internalerror(200406021); end; { flip sign-bit (bit 31/63) of single/double } - cg.a_op_const_ref(current_asmdata.CurrAsmList,OP_XOR,OS_32,aint($80000000),href2); + cg.a_op_const_ref(current_asmdata.CurrAsmList,OP_XOR,OS_32, +{$ifdef cpu64bitalu} + aint($80000000), +{$else cpu64bitalu} + longint($80000000), +{$endif cpu64bitalu} + href2); cg.a_loadfpu_ref_reg(current_asmdata.CurrAsmList,_size,_size,href,r); tg.ungetiftemp(current_asmdata.CurrAsmList,href); end;