This is the mail archive of the
mailing list for the binutils project.
Re: Remove E6500 insns from PPC_OPCODE_ALTIVEC2
On 4/7/17 8:07 PM, Alan Modra wrote:
> On another subject, I'd like your opinion on removing -[mM]htm options
> from gas and the disassembler. I think now that it was a mistake to
> add them in the first place (and every other use of .sticky except for
> -mall and -mraw). I would have liked to remove -[mM]vsx too, but
> "gcc -mvsx" passes on -mvsx to gas, and has done so for quite some
> time. So -mvsx looks impossible to remove without breaking gcc.
> "gcc -mhtm" on the other hand, passes -mpower8 to gas, and it's been
> that way since -mhtm was added to gcc.
I was going to say you cannot remove it, because we use gcc's -mhtm
option to build LIBITM, but if we're passing -mpower8 to the assembler
when using gcc's -mhtm option, then I guess it's ok if there are no
users outside of binutils that use the -mhtm gas option (kernel?).
I'm sure I was going to have gcc pass -mhtm to gas instead of -mpower8,
but since I didn't , I guess this is ok.
I agree, we're stuck keeping -mvsx.
> Also, I'm intending to remove some of PPC_OPCODE_*, for instance
> PPC_OPCODE_ALTIVEC2 can disappear and we then use
> #define PPCVEC2 (PPC_OPCODE_POWER8 | PPC_OPCODE_E6500)
> #define PPCVEC3 PPC_OPCODE_POWER9
> in opcodes/ppc-opc.c which should improve gas opcode checks vs. cpu.
> Dodgy gcc output would then be found at compile time rather than run
Looking at how PPCVEC2 and PPCVEC3 are used, yeah, that should work.
I also like that we can reclaim some bits in the cpu mask, since
there are only a limited amount of them.
Can we also get rid of PPC_OPCODE_HTM and use...?
#define PPCHTM PPC_OPCODE_POWER8
> (assuming -many is removed from powerpc gcc, another little
> project of mine).
I never liked gcc always passing -many to the assembler, so if
you can remove it, I'm all for it!