[PATCH] x86: Extract extended states from instruction template
Jan Beulich
jbeulich@suse.com
Fri Jul 10 15:17:44 GMT 2020
More information about the Binutils mailing list
Fri Jul 10 15:17:44 GMT 2020
- Previous message (by thread): [PATCH] x86: Extract extended states from instruction template
- Next message (by thread): [PATCH] x86: Extract extended states from instruction template
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 10.07.2020 15:41, H.J. Lu wrote: > On Fri, Jul 10, 2020 at 12:02 AM Jan Beulich <jbeulich@suse.com> wrote: >> >> On 09.07.2020 18:22, H.J. Lu wrote: >>> On Thu, Jul 9, 2020 at 9:17 AM H.J. Lu <hjl.tools@gmail.com> wrote: >>>> On Thu, Jul 9, 2020 at 9:13 AM Jan Beulich <jbeulich@suse.com> wrote: >>>>> On 09.07.2020 17:44, H.J. Lu wrote: >>>>>> Should we add a field to i386 opcode table for this? >>>>> >>>>> I was wanting to try without, to see how much logic would be needed. >>>>> If it gets too much, doing so may be the better choice. >>>> >>>> I am checking in this patch. >>> >>> Here is the right patch. >> >> Well, this is certainly an improvement. But it doesn't come close to >> what's needed. Again - imo the concept of i.has_reg* isn't helpful >> at all. It's not the registers an insn _actually_ accesses, but the >> ones the template says it might access. Think of vfpclass* with a >> memory operand, for example. Or see some of the extra checks of >> certain opcodes when setting the MMX bit, which could be avoided by >> using such an alternative model. >> >> I'm leaving aside here special cases where the templates don't carry >> enough information. I'm also leaving aside the need to e.g. record >> mask register use in some form (maybe translating to ZMM use if you >> want to avoid introducing a separate tracking bit), as well as >> various other issues I had spotted without looking very closely yet. > > Here is a patch to extract extended states from operand types in > instruction template and set xstate_zmm for master register move. Ah yes, I appreciate this move. >> I believe a fundamental issue here is the very scarce testing: While >> it may be avoidable to add an attribute to the insn templates, there >> should be full testing coverage of _all_ insns with _all_ possible >> operand type combinations, if the resulting notes are to be >> dependable. If such (presumably table based) testing was there (and >> of course if the table reflected the real needs rather than what >> gas currently happens to produce), you'd easily notice the issues >> I've spotted (and likely more). > > This is just a starting point. I will fix any issues discovered. I'll see to get to running this over the various little examples I have, once it got committed (and I got around to re-basing). I don't think altering existing test cases is a good idea though - accumulating the flags from multiple instructions will leave it unclear which insn caused which flag(s) to get set. As said before, I am of the pretty strong opinion that testsuite-wise the only helpful thing here is to individually test insns (and in various cases even the same insn with varying operands). Jan
- Previous message (by thread): [PATCH] x86: Extract extended states from instruction template
- Next message (by thread): [PATCH] x86: Extract extended states from instruction template
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Binutils mailing list