[00/12] x86: disassembler fixes and some consolidation

Message ID 286bff10-f2d7-e1f5-e171-17565a143ced@suse.com
Headers show
Series
  • x86: disassembler fixes and some consolidation
Related show

Message

Alan Modra via Binutils July 21, 2021, 10:07 a.m.
This has started by me noticing that OP_G() handles "bytemode"
values it never gets passed. But here you go - I've found a
couple of bugs as I was going, and extended / better ways of
cleaning up some code. But the duplication of register printing
was something that has been puzzling me for a while, not the
least because with about every other ISA extension two places
have been getting touched when just one should have done.

01: drop OP_Mask()
02: correct VCVT{,U}SI2SD rounding mode handling
03: generalize OP_G()'s EVEX.R' handling
04: properly bounds-check %bnd<N> in OP_G()
05: fold duplicate register printing code
06: fold duplicate code in MOVSXD_Fixup()
07: correct EVEX.V' handling outside of 64-bit mode
08: drop vex_mode and vex_scalar_mode
09: fold duplicate vector register printing code
10: drop xmm_m{b,w,d,q}_mode
11: drop vex_scalar_w_dq_mode
12: drop dq{b,d}_mode

Jan

Comments

Alan Modra via Binutils July 21, 2021, 12:56 p.m. | #1
On Wed, Jul 21, 2021 at 3:07 AM Jan Beulich <jbeulich@suse.com> wrote:
>

> This has started by me noticing that OP_G() handles "bytemode"

> values it never gets passed. But here you go - I've found a

> couple of bugs as I was going, and extended / better ways of

> cleaning up some code. But the duplication of register printing

> was something that has been puzzling me for a while, not the

> least because with about every other ISA extension two places

> have been getting touched when just one should have done.

>

> 01: drop OP_Mask()

> 02: correct VCVT{,U}SI2SD rounding mode handling

> 03: generalize OP_G()'s EVEX.R' handling

> 04: properly bounds-check %bnd<N> in OP_G()

> 05: fold duplicate register printing code

> 06: fold duplicate code in MOVSXD_Fixup()

> 07: correct EVEX.V' handling outside of 64-bit mode

> 08: drop vex_mode and vex_scalar_mode

> 09: fold duplicate vector register printing code

> 10: drop xmm_m{b,w,d,q}_mode

> 11: drop vex_scalar_w_dq_mode

> 12: drop dq{b,d}_mode

>

> Jan

>


OK for all.

Thanks.

-- 
H.J.