Uploaded image for project: 'Harmony'
  1. Harmony
  2. HARMONY-5965

[drlvm][jit]generate Mnemonic_LEA LIR for Op_Shladd HIR in IA32

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • None
    • DRLVM
    • None

    Description

      In IA32 there is a quick (1 cycle) LEA instruction for loading effective address. The function of LEA is a combination of shift-left and addition. For example LEA dst, src, 2, 4 does dst=src<<2+4. It's usually used but not limited in element address calculation for array.

      In current Ia32InstCodeSelector.cpp, the function for translating Op_Shladd HIR generates shl and add. Since LEA has the same semantic, we could deploy it to improve performance.

      Attachments

        1. H5965-V2.patch
          3 kB
          Xiaoming Gu
        2. H5965-V1.patch
          3 kB
          Xiaoming Gu

        Issue Links

          Activity

            People

              Unassigned Unassigned
              xiaoming Xiaoming Gu
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: