[PATCH 0/4] x86: operand handling consolidation
Jan Beulich
JBeulich@suse.com
Fri Dec 15 09:54:00 GMT 2017
This is another step towards a better maintainable opcode table.
The 4th patch does only a first part of the then possible template
reduction. Something similar ought to be possible for AVX512 ones,
just that the broadcasting then needs dealing with in tc-i386.c.
As to further table size reduction, there are two choices:
- keep Reg8 etc and drop now redundant Byte from such
templates
- replace Reg8 etc by just Reg, keeping Byte etc
I'd prefer the former (and the 4th patch moves along those
lines for RegXMM and RegYMM), not the least for the bigger
win in readability.
1: replace Reg8, Reg16, Reg32, and Reg64
2: drop FloatReg and FloatAcc
3: fold RegXMM/RegYMM/RegZMM into RegSIMD
4: fold certain AVX and AVX2 templates
Just for reference I'm also going to send a 5th patch which I've
used to find the templates which need splitting (in patch 1, other
than I had feared there were no splits necessary in patch 3). I
didn't want to rely on just the testsuite to spot them all. I don't
anticipate that this patch will want committing, but if others
think it's worthwhile I could certainly bring it into committable
shape.
Jan
More information about the Binutils
mailing list