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

[ARM64] ConvL2I optimizations

XMLWordPrintable

      Oracle:

        0x000003ffa1324544: ldr x0, [x3]
        0x000003ffa1324548: and x1, x0, #0x7
        0x000003ffa132454c: cmp x1, #0x1
        0x000003ffa1324550: b.ne 0x000003ffa1324658
        0x000003ffa1324554: lsr x0, x0, #8
        0x000003ffa1324558: mov w1, w0 <---- unnecessary ConvL2I
        0x000003ffa132455c: and w0, w1, #0x7fffffff

      openjdk:

        0x000003ff90468bdc: ldr x10, [x13]
        0x000003ff90468be0: and x11, x10, #0x7
        0x000003ff90468be4: cmp x11, #0x1
        0x000003ff90468be8: b.ne 0x000003ff90469014
        0x000003ff90468bec: lsr x10, x10, #8
        0x000003ff90468bf0: and w0, w10, #0x7fffffff

      In the above example, we have an unnecessary ConvL2I. We should do something similar to openjdk's iRegIorL2I.

            Unassigned Unassigned
            dlong Dean Long
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: