diff options
Diffstat (limited to 'src/buildvm_x86.dasc')
-rw-r--r-- | src/buildvm_x86.dasc | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/buildvm_x86.dasc b/src/buildvm_x86.dasc index 268aa5d4..4a0bbeab 100644 --- a/src/buildvm_x86.dasc +++ b/src/buildvm_x86.dasc | |||
@@ -3074,14 +3074,12 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
3074 | |6: | 3074 | |6: |
3075 | | je <5 // x^1 ==> x | 3075 | | je <5 // x^1 ==> x |
3076 | | jb >7 | 3076 | | jb >7 |
3077 | | push RDa | 3077 | | neg eax |
3078 | | call <1 | ||
3078 | | sseconst_1 xmm1, RDa | 3079 | | sseconst_1 xmm1, RDa |
3079 | | divsd xmm1, xmm0 | 3080 | | divsd xmm1, xmm0 |
3080 | | pop RDa | ||
3081 | | movaps xmm0, xmm1 | 3081 | | movaps xmm0, xmm1 |
3082 | | neg eax | 3082 | | ret |
3083 | | cmp eax, 1; je <5 // x^-1 ==> 1/x | ||
3084 | | jmp <1 // x^-i ==> (1/x)^i | ||
3085 | |7: | 3083 | |7: |
3086 | | sseconst_1 xmm0, RDa | 3084 | | sseconst_1 xmm0, RDa |
3087 | | ret | 3085 | | ret |