Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6531696

don't use immediate 16-bits value store to memory on Intel cpus

    XMLWordPrintable

    Details

    • Type: Enhancement
    • Status: Resolved
    • Priority: P2
    • Resolution: Fixed
    • Affects Version/s: 7
    • Fix Version/s: hs10
    • Component/s: hotspot
    • Labels:
      None
    • Subcomponent:
    • Resolved In Build:
      b10
    • CPU:
      sparc
    • OS:
      solaris_9

      Backports

        Description

        By just adding the next predicate to avoid generation of immediate 16-bits stores
        I got +5% jbb2005 on woodcrest:

          // Store Short/Char Immediate
          instruct storeImmI16(memory mem, immI16 src) %{
        + predicate(UseImm16ForStore);
            match(Set mem (StoreC mem src));

            ins_cost(150);
            format %{ "MOV16 $mem,$src" %}
            opcode(0xC7); /* C7 /0 Same as 32 store immediate with prefix */
            ins_encode( SizePrefix, OpcP, RMopc_Mem(0x00,mem), Con16( src ));
            ins_pipe( ialu_mem_imm );
          %}


        hsdev-3% sh compare ref.jbb.n2 ref.jbb.n2_n16s
        ============================================================================
        ref.jbb.n2
          Benchmark Samples Mean Stdev Geomean Weight
          specjbb2000 20 120380.43 591.43
          specjbb2005 20 51259.08 741.56
        ============================================================================
        ref.jbb.n2_n16s
          Benchmark Samples Mean Stdev %Diff P Significant
          specjbb2000 20 122106.15 856.48 1.43 0.000 Yes
          specjbb2005 20 54137.34 989.22 5.62 0.000 Yes
        ============================================================================

          Attachments

            Issue Links

              Activity

                People

                Assignee:
                kvn Vladimir Kozlov
                Reporter:
                kvn Vladimir Kozlov
                Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved:
                  Imported:
                  Indexed: