| Line 1... | 
        Line 1... | 
      
      
         
  | 
        /* =============================================================================
  | 
      
      
        /*
  | 
           | 
      
      
        ===============================================================================
  | 
           | 
      
      
         
  | 
         
  | 
      
      
        This GNU assembler source file is part of TestFloat, Release 2a, a package
  | 
        This GNU assembler source file is part of TestFloat, Release 2a, a package
  | 
      
      
        of programs for testing the correctness of floating-point arithmetic
  | 
        of programs for testing the correctness of floating-point arithmetic
  | 
      
      
        complying to the IEC/IEEE Standard for Floating-Point.
  | 
        complying to the IEC/IEEE Standard for Floating-Point.
  | 
      
      
         
  | 
         
  | 
      
      
        | Line 18... | 
        Line 16... | 
      
      
        Derivative works are acceptable, even for commercial purposes, so long as
  | 
        Derivative works are acceptable, even for commercial purposes, so long as
  | 
      
      
        (1) they include prominent notice that the work is derivative, and (2) they
  | 
        (1) they include prominent notice that the work is derivative, and (2) they
  | 
      
      
        include prominent notice akin to these four paragraphs for those parts of
  | 
        include prominent notice akin to these four paragraphs for those parts of
  | 
      
      
        this code that are retained.
  | 
        this code that are retained.
  | 
      
      
         
  | 
         
  | 
      
      
        Modified for use with or1ksim's testsuite.
  | 
        Modified for use with or1ksim's testsuite. Updated for GCC 4.5.1.
  | 
      
      
         
  | 
         
  | 
      
      
        Contributor Julius Baxter 
  | 
        Contributor Julius Baxter 
  | 
      
      
           | 
        Contributor Jeremy Bennett 
  | 
      
      
         
  | 
         
  | 
      
      
        ===============================================================================
  | 
        ============================================================================= */
  | 
      
      
        */
  | 
           | 
      
      
         
  | 
         
  | 
      
      
                .text
  | 
                .text
  | 
      
      
         
  | 
         
  | 
      
      
        /*
  | 
        /*
  | 
      
      
        -------------------------------------------------------------------------------
  | 
        -------------------------------------------------------------------------------
  | 
      
      
        -------------------------------------------------------------------------------
  | 
        -------------------------------------------------------------------------------
  | 
      
      
        */
  | 
        */
  | 
      
      
                .align 4
  | 
                .align 4
  | 
      
      
                .global _syst_int32_to_float32
  | 
                .global syst_int32_to_float32
  | 
      
      
        _syst_int32_to_float32:
  | 
        syst_int32_to_float32:
  | 
      
      
                lf.itof.s r11, r3
  | 
                lf.itof.s r11, r3
  | 
      
      
                l.jr r9
  | 
                l.jr r9
  | 
      
      
                l.nop
  | 
                l.nop
  | 
      
      
         
  | 
         
  | 
      
      
         
  | 
         
  | 
      
      
        | Line 46... | 
        Line 44... | 
      
      
        /*
  | 
        /*
  | 
      
      
        -------------------------------------------------------------------------------
  | 
        -------------------------------------------------------------------------------
  | 
      
      
        -------------------------------------------------------------------------------
  | 
        -------------------------------------------------------------------------------
  | 
      
      
        */
  | 
        */
  | 
      
      
                .align 4
  | 
                .align 4
  | 
      
      
                .global _syst_float32_to_int32_round_to_zero
  | 
                .global syst_float32_to_int32_round_to_zero
  | 
      
      
        _syst_float32_to_int32_round_to_zero:
  | 
        syst_float32_to_int32_round_to_zero:
  | 
      
      
                lf.ftoi.s r11, r3
  | 
                lf.ftoi.s r11, r3
  | 
      
      
                l.jr r9
  | 
                l.jr r9
  | 
      
      
                l.nop
  | 
                l.nop
  | 
      
      
         
  | 
         
  | 
      
      
        /*
  | 
        /*
  | 
      
      
        -------------------------------------------------------------------------------
  | 
        -------------------------------------------------------------------------------
  | 
      
      
        -------------------------------------------------------------------------------
  | 
        -------------------------------------------------------------------------------
  | 
      
      
        */
  | 
        */
  | 
      
      
                .align 4
  | 
                .align 4
  | 
      
      
                .global _syst_float32_to_int32
  | 
                .global syst_float32_to_int32
  | 
      
      
        _syst_float32_to_int32:
  | 
        syst_float32_to_int32:
  | 
      
      
                lf.ftoi.s r11, r3
  | 
                lf.ftoi.s r11, r3
  | 
      
      
                l.jr r9
  | 
                l.jr r9
  | 
      
      
                l.nop
  | 
                l.nop
  | 
      
      
         
  | 
         
  | 
      
      
        /*
  | 
        /*
  | 
      
      
        -------------------------------------------------------------------------------
  | 
        -------------------------------------------------------------------------------
  | 
      
      
        -------------------------------------------------------------------------------
  | 
        -------------------------------------------------------------------------------
  | 
      
      
        */
  | 
        */
  | 
      
      
                .align 4
  | 
                .align 4
  | 
      
      
                .global _syst_float32_round_to_int
  | 
                .global syst_float32_round_to_int
  | 
      
      
        _syst_float32_round_to_int:
  | 
        syst_float32_round_to_int:
  | 
      
      
                lf.ftoi.s r11, r3
  | 
                lf.ftoi.s r11, r3
  | 
      
      
                l.jr r9
  | 
                l.jr r9
  | 
      
      
                l.nop
  | 
                l.nop
  | 
      
      
         
  | 
         
  | 
      
      
        /*
  | 
        /*
  | 
      
      
        -------------------------------------------------------------------------------
  | 
        -------------------------------------------------------------------------------
  | 
      
      
        -------------------------------------------------------------------------------
  | 
        -------------------------------------------------------------------------------
  | 
      
      
        */
  | 
        */
  | 
      
      
                .align 4
  | 
                .align 4
  | 
      
      
                .global _syst_float32_add
  | 
                .global syst_float32_add
  | 
      
      
        _syst_float32_add:
  | 
        syst_float32_add:
  | 
      
      
                lf.add.s r11, r3, r4
  | 
                lf.add.s r11, r3, r4
  | 
      
      
                l.jr r9
  | 
                l.jr r9
  | 
      
      
                l.nop
  | 
                l.nop
  | 
      
      
         
  | 
         
  | 
      
      
        /*
  | 
        /*
  | 
      
      
        -------------------------------------------------------------------------------
  | 
        -------------------------------------------------------------------------------
  | 
      
      
        -------------------------------------------------------------------------------
  | 
        -------------------------------------------------------------------------------
  | 
      
      
        */
  | 
        */
  | 
      
      
                .align 4
  | 
                .align 4
  | 
      
      
                .global _syst_float32_sub
  | 
                .global syst_float32_sub
  | 
      
      
        _syst_float32_sub:
  | 
        syst_float32_sub:
  | 
      
      
                lf.sub.s r11, r3, r4
  | 
                lf.sub.s r11, r3, r4
  | 
      
      
                l.jr r9
  | 
                l.jr r9
  | 
      
      
                l.nop
  | 
                l.nop
  | 
      
      
         
  | 
         
  | 
      
      
        /*
  | 
        /*
  | 
      
      
        -------------------------------------------------------------------------------
  | 
        -------------------------------------------------------------------------------
  | 
      
      
        -------------------------------------------------------------------------------
  | 
        -------------------------------------------------------------------------------
  | 
      
      
        */
  | 
        */
  | 
      
      
                .align 4
  | 
                .align 4
  | 
      
      
                .global _syst_float32_mul
  | 
                .global syst_float32_mul
  | 
      
      
        _syst_float32_mul:
  | 
        syst_float32_mul:
  | 
      
      
                lf.mul.s r11, r3, r4
  | 
                lf.mul.s r11, r3, r4
  | 
      
      
                l.jr r9
  | 
                l.jr r9
  | 
      
      
                l.nop
  | 
                l.nop
  | 
      
      
         
  | 
         
  | 
      
      
        /*
  | 
        /*
  | 
      
      
        -------------------------------------------------------------------------------
  | 
        -------------------------------------------------------------------------------
  | 
      
      
        -------------------------------------------------------------------------------
  | 
        -------------------------------------------------------------------------------
  | 
      
      
        */
  | 
        */
  | 
      
      
                .align 4
  | 
                .align 4
  | 
      
      
                .global _syst_float32_div
  | 
                .global syst_float32_div
  | 
      
      
        _syst_float32_div:
  | 
        syst_float32_div:
  | 
      
      
                lf.div.s r11, r3, r4
  | 
                lf.div.s r11, r3, r4
  | 
      
      
                l.jr r9
  | 
                l.jr r9
  | 
      
      
                l.nop
  | 
                l.nop
  | 
      
      
         
  | 
         
  | 
      
      
        /*
  | 
        /*
  | 
      
      
        -------------------------------------------------------------------------------
  | 
        -------------------------------------------------------------------------------
  | 
      
      
        -------------------------------------------------------------------------------
  | 
        -------------------------------------------------------------------------------
  | 
      
      
        */
  | 
        */
  | 
      
      
                .align 4
  | 
                .align 4
  | 
      
      
                .global _syst_float32_eq
  | 
                .global syst_float32_eq
  | 
      
      
        _syst_float32_eq:
  | 
        syst_float32_eq:
  | 
      
      
                lf.sfeq.s r3, r4
  | 
                lf.sfeq.s r3, r4
  | 
      
      
                l.bnf 1f
  | 
                l.bnf 1f
  | 
      
      
                l.addi r11, r0, 0
  | 
                l.addi r11, r0, 0
  | 
      
      
                l.addi r11, r0, 1
  | 
                l.addi r11, r0, 1
  | 
      
      
        1:      l.jr r9
  | 
        1:      l.jr r9
  | 
      
      
        | Line 137... | 
        Line 135... | 
      
      
        /*
  | 
        /*
  | 
      
      
        -------------------------------------------------------------------------------
  | 
        -------------------------------------------------------------------------------
  | 
      
      
        -------------------------------------------------------------------------------
  | 
        -------------------------------------------------------------------------------
  | 
      
      
        */
  | 
        */
  | 
      
      
                .align 4
  | 
                .align 4
  | 
      
      
                .global _syst_float32_le
  | 
                .global syst_float32_le
  | 
      
      
        _syst_float32_le:
  | 
        syst_float32_le:
  | 
      
      
                lf.sfle.s r3, r4
  | 
                lf.sfle.s r3, r4
  | 
      
      
                l.bnf 1f
  | 
                l.bnf 1f
  | 
      
      
                l.addi r11, r0, 0
  | 
                l.addi r11, r0, 0
  | 
      
      
                l.addi r11, r0, 1
  | 
                l.addi r11, r0, 1
  | 
      
      
        1:      l.jr r9
  | 
        1:      l.jr r9
  | 
      
      
        | Line 151... | 
        Line 149... | 
      
      
                /*
  | 
                /*
  | 
      
      
        -------------------------------------------------------------------------------
  | 
        -------------------------------------------------------------------------------
  | 
      
      
        -------------------------------------------------------------------------------
  | 
        -------------------------------------------------------------------------------
  | 
      
      
        */
  | 
        */
  | 
      
      
                .align 4
  | 
                .align 4
  | 
      
      
                .global _syst_float32_lt
  | 
                .global syst_float32_lt
  | 
      
      
        _syst_float32_lt:
  | 
        syst_float32_lt:
  | 
      
      
                lf.sflt.s r3, r4
  | 
                lf.sflt.s r3, r4
  | 
      
      
                l.bnf 1f
  | 
                l.bnf 1f
  | 
      
      
                l.addi r11, r0, 0
  | 
                l.addi r11, r0, 0
  | 
      
      
                l.addi r11, r0, 1
  | 
                l.addi r11, r0, 1
  | 
      
      
        1:      l.jr r9
  | 
        1:      l.jr r9
  |