This is the mail archive of the mailing list for the binutils project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 1/9] binutils,gas,opcodes.elf: remove never used SPARC features and upgrade hwcaps.

    > This patch removes support from GNU binutils for the following SPARC
    > features, which were never released to the public or implemented:
    > - The transactional memory instructions of the cancelled Rock
    >   processor (UltraSPARC-AT10): CHKPT and COMMIT.
    > - The %cps ancillary state register, also introduced in the
    >   UltraSPARC-AT10, along with the associated rd/wr instructions.
    > - The RANDOM instruction.
    These hw capability ELF flags are encoded into binaries and you
    therefore cannot just repurpose them however you like.  You will
    therefore have to allocate new capability flag values for these

I agree in that it is funny to redefine bits like that in a public
interface, but allocating other bits for the JF* caps would imply to
diverge from Solaris.  Is that what you want?

    Furthermore, even though full transactional memory support never got
    into a publicly released processor, recent chips do implement the %cps
    register and implement the chkpt instruction as an unconditional

Huh, which recent chips?.  Every of the following specs document
%asr28 as reserved, and %cps is not mentioned at all:

- UA2005, UA2007, OSA2011
- the T1 supplement to UA2005
- the T2 supplement to UA2005
- the T3 supplement to UA2007
- the T4 supplement to OSA2011
- the M5 supplement to OSA2011

- JPS1
- SPARC64V extensions
- SPARC64VI extensions
- SPARC64VIIIfx extensions
- Athena+

Likewise, to my knowledge the chkpt instruction is not documented on any
of the Sun, Oracle or Fujitsu published specs.

Anyway, I guess we could keep support for chkpt and for referring to
%asr28 as %cps in the assembler.  Would you be happy with the patch in
that case?

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]