Changeset 195093 in webkit


Ignore:
Timestamp:
Jan 15, 2016 12:11:47 AM (8 years ago)
Author:
Julien Brianceau
Message:

[mips] Add countLeadingZeros32 implementation in macro assembler
https://bugs.webkit.org/show_bug.cgi?id=152886

Reviewed by Michael Saboff.

  • assembler/MIPSAssembler.h:

(JSC::MIPSAssembler::lui):
(JSC::MIPSAssembler::clz):
(JSC::MIPSAssembler::addiu):

  • assembler/MacroAssemblerMIPS.h:

(JSC::MacroAssemblerMIPS::and32):
(JSC::MacroAssemblerMIPS::countLeadingZeros32):
(JSC::MacroAssemblerMIPS::lshift32):

Location:
trunk/Source/JavaScriptCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r195084 r195093  
     12016-01-15  Julien Brianceau  <jbriance@cisco.com>
     2
     3        [mips] Add countLeadingZeros32 implementation in macro assembler
     4        https://bugs.webkit.org/show_bug.cgi?id=152886
     5
     6        Reviewed by Michael Saboff.
     7
     8        * assembler/MIPSAssembler.h:
     9        (JSC::MIPSAssembler::lui):
     10        (JSC::MIPSAssembler::clz):
     11        (JSC::MIPSAssembler::addiu):
     12        * assembler/MacroAssemblerMIPS.h:
     13        (JSC::MacroAssemblerMIPS::and32):
     14        (JSC::MacroAssemblerMIPS::countLeadingZeros32):
     15        (JSC::MacroAssemblerMIPS::lshift32):
     16
    1172016-01-14  Filip Pizlo  <fpizlo@apple.com>
    218
  • trunk/Source/JavaScriptCore/assembler/MIPSAssembler.h

    r189357 r195093  
    241241    }
    242242
     243    void clz(RegisterID rd, RegisterID rs)
     244    {
     245        emitInst(0x70000020 | (rd << OP_SH_RD) | (rs << OP_SH_RS) | (rd << OP_SH_RT));
     246    }
     247
    243248    void addiu(RegisterID rt, RegisterID rs, int imm)
    244249    {
  • trunk/Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h

    r194764 r195093  
    312312            m_assembler.andInsn(dest, src, immTempRegister);
    313313        }
     314    }
     315
     316    void countLeadingZeros32(RegisterID src, RegisterID dest)
     317    {
     318#if WTF_MIPS_ISA_AT_LEAST(32)
     319        m_assembler.clz(dest, src);
     320#else
     321        static_assert(false, "CLZ opcode is not available for this ISA");
     322#endif
    314323    }
    315324
Note: See TracChangeset for help on using the changeset viewer.