Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8329030 Intel Advanced Performance Extension support
  3. JDK-8359965

Enable paired pushp and popp instruction usage for APX enabled CPUs

XMLWordPrintable

    • Icon: Sub-task Sub-task
    • Resolution: Fixed
    • Icon: P4 P4
    • 26
    • 26
    • hotspot
    • b08
    • x86
    • generic

      Intel APX introduces a new feature called Push-Pop Acceleration (PPX), which adds a performance hint to legacy PUSH and POP instructions, enabling the PUSHP and POPP forms. The PPX hint improves performance by accelerating register value forwarding between matching push/pop pairs.

      Purpose: PPX is a performance hint that allows the processor to bypass memory and the training loop of Fast Store Forwarding Predictor (FSFP) by directly forwarding data between paired PUSHP and POPP instructions.

      Requirements: Both the PUSH and its matching POP must be marked with PPX. A "matching" pair accesses the same stack address (e.g., typical function prolog/epilog). Standalone PUSH instructions (e.g. for argument passing) must not be marked.

      Encoding: PUSHP/POPP is a replacement for legacy PUSH/POP (0x50+rd / 0x58+rd) and uses REX2.W = 1 (implies 64-bit operand size). PPX cannot be encoded with 16-bit operand size as REX2.W overrides the 0x66 prefix.

            sparasa Srinivas Parasa
            sparasa Srinivas Parasa
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: