This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[PATCH 0/4] x86: operand handling consolidation
- From: "Jan Beulich" <JBeulich at suse dot com>
- To: <binutils at sourceware dot org>
- Cc: "H.J. Lu" <hjl dot tools at gmail dot com>
- Date: Fri, 15 Dec 2017 02:54:16 -0700
- Subject: [PATCH 0/4] x86: operand handling consolidation
- Authentication-results: sourceware.org; auth=none
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