[0/6] x86: further opcode table compaction plus fallout

Message ID 287ad145-1fe3-2477-327a-30e8d45a4be7@suse.com
Headers show
Series
  • x86: further opcode table compaction plus fallout
Related show

Message

H.J. Lu via Binutils March 26, 2021, 10:48 a.m.
This continues from "[PATCH 0/8] x86: work towards further opcode table
compaction", but there will remain significant gains to be had. It also
remains open whether to also convert VEX/EVEX Space_0F* use into
opcode representation, just like patch 4 does as a side effect of
templating SSE2AVX and their "original" templates.

1: derive opcode encoding space attribute from base opcode
2: shrink some struct insn_template fields
3: undo Prefix_0X<nn> use in opcode table
4: fold SSE2AVX and their base MMX/SSE templates
5: VPSADBW's source operands are also commutative
6: move some opcode table entries

Jan

Comments

H.J. Lu via Binutils March 26, 2021, 9:16 p.m. | #1
On Fri, Mar 26, 2021 at 3:48 AM Jan Beulich <jbeulich@suse.com> wrote:
>

> This continues from "[PATCH 0/8] x86: work towards further opcode table

> compaction", but there will remain significant gains to be had. It also

> remains open whether to also convert VEX/EVEX Space_0F* use into

> opcode representation, just like patch 4 does as a side effect of

> templating SSE2AVX and their "original" templates.

>

> 1: derive opcode encoding space attribute from base opcode

> 2: shrink some struct insn_template fields

> 3: undo Prefix_0X<nn> use in opcode table

> 4: fold SSE2AVX and their base MMX/SSE templates

> 5: VPSADBW's source operands are also commutative

> 6: move some opcode table entries


OK for all.

Thanks.


-- 
H.J.
H.J. Lu via Binutils March 29, 2021, 10:08 a.m. | #2
On 26.03.2021 22:16, H.J. Lu wrote:
> On Fri, Mar 26, 2021 at 3:48 AM Jan Beulich <jbeulich@suse.com> wrote:

>>

>> This continues from "[PATCH 0/8] x86: work towards further opcode table

>> compaction", but there will remain significant gains to be had. It also

>> remains open whether to also convert VEX/EVEX Space_0F* use into

>> opcode representation, just like patch 4 does as a side effect of

>> templating SSE2AVX and their "original" templates.

>>

>> 1: derive opcode encoding space attribute from base opcode

>> 2: shrink some struct insn_template fields

>> 3: undo Prefix_0X<nn> use in opcode table

>> 4: fold SSE2AVX and their base MMX/SSE templates

>> 5: VPSADBW's source operands are also commutative

>> 6: move some opcode table entries

> 

> OK for all.


Thanks, committed. Do you have any thoughts on the post-commit-message
remarks in patches 2 and 4, though?

Jan