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

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

    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: