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

C2: Sort spilling/unspilling sequence for better ld/st merging into ldp/stp on AArch64

XMLWordPrintable

    • b26
    • generic
    • generic

        Macro-assembler on aarch64 can merge adjacent loads or stores
        into ldp/stp. For example, it can merge:
        ```
        str w20, [sp, #16]
        str w10, [sp, #20]
        ```
        into
        ```
        stp w20, w10, [sp, #16]
        ```

        But C2 may generate a sequence like:
        ```
        str x21, [sp, #8]
        str w20, [sp, #16]
        str x19, [sp, #24]
        str w10, [sp, #20]
        str x11, [sp, #40]
        str w13, [sp, #48]
        str x16, [sp, #56]
        ```
        We can't do any merging for non-adjacent loads or stores.

              fgao Fei Gao
              fgao Fei Gao
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: