From 103bbbc9ec90b1a20c52947d305c8a29db9132f3 Mon Sep 17 00:00:00 2001 From: Taylor R Campbell Date: Thu, 12 Nov 2009 23:04:57 -0500 Subject: [PATCH] Use ja/jb, not jg/jl, in floating-point predicates on x86-64. --- src/microcode/cmpauxmd/x86-64.m4 | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/microcode/cmpauxmd/x86-64.m4 b/src/microcode/cmpauxmd/x86-64.m4 index 7c4f8ac6c..242c57eb6 100644 --- a/src/microcode/cmpauxmd/x86-64.m4 +++ b/src/microcode/cmpauxmd/x86-64.m4 @@ -718,7 +718,7 @@ asm_generic_$1_flo: OP(and,q) TW(rmask,REG(rbx)) movsd TW(QOF(FLONUM_DATA_OFFSET,REG(rdx)),REG(xmm0)) ucomisd TW(QOF(FLONUM_DATA_OFFSET,REG(rbx)),REG(xmm0)) - $3 asm_generic_return_sharp_t + $4 asm_generic_return_sharp_t jmp asm_generic_return_sharp_f asm_generic_$1_fix: @@ -835,11 +835,11 @@ define_binary_operation(subtract,28,sub,subsd) define_binary_operation_with_setup(multiply,29,imul,mulsd, `OP(and,q) TW(rmask,REG(rax))') -# define_binary_predicate(name,index,jcc) +# define_binary_predicate(name,index,fixjcc,flojcc) # define_binary_predicate( $1, $2, $3) -define_binary_predicate(equal,24,je) -define_binary_predicate(greater,25,jg) -define_binary_predicate(less,27,jl) +define_binary_predicate(equal,24,je,je) +define_binary_predicate(greater,25,jg,ja) +define_binary_predicate(less,27,jl,jb) #define_jump_indirection(generic_decrement,22) #define_jump_indirection(generic_divide,23) -- 2.25.1