Changeset 151174 in webkit


Ignore:
Timestamp:
Jun 4, 2013 9:59:04 AM (11 years ago)
Author:
commit-queue@webkit.org
Message:

[sh4] Add floating point absolute function support in baseline JIT.
https://bugs.webkit.org/show_bug.cgi?id=117147

Patch by Julien Brianceau <jbrianceau@nds.com> on 2013-06-04
Reviewed by Geoffrey Garen.

  • assembler/MacroAssemblerSH4.h:

(JSC::MacroAssemblerSH4::supportsFloatingPointAbs):
(JSC::MacroAssemblerSH4::absDouble):

  • assembler/SH4Assembler.h:

(JSC::SH4Assembler::dabs):
(JSC::SH4Assembler::printInstr):

Location:
trunk/Source/JavaScriptCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r151159 r151174  
     12013-06-04  Julien Brianceau  <jbrianceau@nds.com>
     2
     3        [sh4] Add floating point absolute function support in baseline JIT.
     4        https://bugs.webkit.org/show_bug.cgi?id=117147
     5
     6        Reviewed by Geoffrey Garen.
     7
     8        * assembler/MacroAssemblerSH4.h:
     9        (JSC::MacroAssemblerSH4::supportsFloatingPointAbs):
     10        (JSC::MacroAssemblerSH4::absDouble):
     11        * assembler/SH4Assembler.h:
     12        (JSC::SH4Assembler::dabs):
     13        (JSC::SH4Assembler::printInstr):
     14
    1152013-06-04  Zan Dobersek  <zdobersek@igalia.com>
    216
  • trunk/Source/JavaScriptCore/assembler/MacroAssemblerSH4.h

    r151033 r151174  
    947947    static bool supportsFloatingPointTruncate() { return true; }
    948948    static bool supportsFloatingPointSqrt() { return true; }
    949     static bool supportsFloatingPointAbs() { return false; }
     949    static bool supportsFloatingPointAbs() { return true; }
    950950
    951951    void moveDoubleToInts(FPRegisterID src, RegisterID dest1, RegisterID dest2)
     
    13931393    }
    13941394   
    1395     void absDouble(FPRegisterID, FPRegisterID)
    1396     {
    1397         RELEASE_ASSERT_NOT_REACHED();
     1395    void absDouble(FPRegisterID src, FPRegisterID dest)
     1396    {
     1397        moveDouble(src, dest);
     1398        m_assembler.dabs(dest);
    13981399    }
    13991400
  • trunk/Source/JavaScriptCore/assembler/SH4Assembler.h

    r151031 r151174  
    179179    LDSRMFPUL_OPCODE = 0x405a,
    180180    FSTSFPULFRN_OPCODE = 0xf00d,
     181    FABS_OPCODE = 0xf05d,
    181182    FSQRT_OPCODE = 0xf06d,
    182183    FSCHG_OPCODE = 0xf3fd,
     
    958959    }
    959960
     961    void dabs(FPRegisterID dst)
     962    {
     963        uint16_t opc = getOpcodeGroup7(FABS_OPCODE, dst >> 1);
     964        oneShortOp(opc);
     965    }
     966
    960967    void dsqrt(FPRegisterID dst)
    961968    {
     
    18371844            format = "    FTRC FR%d, FPUL\n";
    18381845            break;
     1846        case FABS_OPCODE:
     1847            format = "    FABS FR%d\n";
     1848            break;
    18391849        case FSQRT_OPCODE:
    18401850            format = "    FSQRT FR%d\n";
Note: See TracChangeset for help on using the changeset viewer.