[Bug 264590] assembler generates wrong opcodes of instructions fdiv fdivp fdivr fdivrp fsub fsubp fsubr fsubrp

From: <bugzilla-noreply_at_freebsd.org>
Date: Fri, 10 Jun 2022 13:19:04 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=264590

--- Comment #4 from var@schellong.biz ---
The assembler exchanges  fdivp <==> fdivrp, fsubp <==> fsubrp

Old code from 1991:
I have therein to change fsubr --> fsub, fdivr --> fdiv
to get _today_ correct behavior.
--------------------------------------------------------
;       sc/24.1.91
        TITLE   acos87
        .386
        .387
        .MODEL small
PUBLIC  _acos87
        .DATA
COMM _deg_87:DWORD
        .DATA?
        .CONST
$radtodeg       DT      57.295779513082320876798
ALIGN 4
        .CODE
_acos87 PROC
        fld     QWORD PTR [esp+4]
        fld     st
        fmul    st, st
        fld1
        fsubr
        fsqrt
        fdivr
        fld1
        fpatan
        mov     eax, _deg_87
        cmp     eax, 0
        jg      SHORT $deg
        ret

-- 
You are receiving this mail because:
You are the assignee for the bug.