server compiler generates 64-bit code that uses the Y register

XMLWordPrintable

    • b14
    • sparc
    • generic

      A fragment of generated code (.../bin/sparcv9/java -server ...):

      ...
      0xffffffff3854f560: smul %l7, %l4, %g0
      0xffffffff3854f564: rd %y, %l2
      0xffffffff3854f568: sra %l7, 0x1f, %g5
      0xffffffff3854f56c: sra %l2, 0x2, %l2
      0xffffffff3854f570: sra %l7, 0x1f, %g3
      0xffffffff3854f574: mov %g3, %y
      ...

      The SPARC architecture manual (version 9) says:

      "The Y register is depricated; it is provided only for compatibility with
      previous versions of the architecture. It should not be used in new SPARC-V9
      software. It is recommended that all instructions that reference the Y register
      (i.e., SMUL, SMULLcc, UMUL, UMULcc, MULScc, SDIV, SDIVcc, UDIV, UDIVcc, RDY and
      WRY) be avoided."

            Assignee:
            Azeem Jiva
            Reporter:
            Oleg Mazurov (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: