x86: fix 3-operand insn reverse-matching
authorJan Beulich <jbeulich@suse.com>
Wed, 6 Jul 2022 13:39:03 +0000 (15:39 +0200)
committerJan Beulich <jbeulich@suse.com>
Wed, 6 Jul 2022 13:39:03 +0000 (15:39 +0200)
commitc975cec5fffacc073866be11c0599c97054b3052
tree005a0a805a95451a4637a4df50f1c26ddbd97aec
parentad349f2493f934573c0809ead35ea299286beecd
x86: fix 3-operand insn reverse-matching

The middle operand would have gone entirely unchecked, allowing e.g.

vmovss %xmm0, %esp, %xmm2

to assemble successfully, or e.g.

vmovss %xmm0, $4, %xmm2

causing an internal error. Alongside dealing with this also drop a
related comment, which hasn't been applicable anymore since the
introduction of 3-operand patterns with D set (and which perhaps never
had been logical to be there, as reverse-matched insns don't make it
there in the first place).
gas/config/tc-i386.c
gas/testsuite/gas/i386/inval-avx.l
gas/testsuite/gas/i386/inval-avx.s