x86: correct VCVT{,U}SI2SD rounding mode handling
authorJan Beulich <jbeulich@suse.com>
Thu, 22 Jul 2021 11:02:08 +0000 (13:02 +0200)
committerJan Beulich <jbeulich@suse.com>
Thu, 22 Jul 2021 11:02:08 +0000 (13:02 +0200)
commitbe2f8fcd9df7d50fd17125eccecf7fc0bad6b2c8
treee1c5643331999a38a19673f39b70b19d505df876
parentd0579d4d1c724b524da43ad164ce140218497ead
x86: correct VCVT{,U}SI2SD rounding mode handling

With EVEX.W clear the instruction doesn't ignore the rounding mode, but
(like for other insns without rounding semantics) EVEX.b set causes #UD.
Hence the handling of EVEX.W needs to be done when processing
evex_rounding_64_mode, not at the decode stages.

Derive a new 64-bit testcase from the 32-bit one to cover the different
EVEX.W treatment in both cases.
gas/testsuite/gas/i386/evex.d
gas/testsuite/gas/i386/evex.s
gas/testsuite/gas/i386/i386.exp
gas/testsuite/gas/i386/x86-64-evex.d [new file with mode: 0644]
opcodes/i386-dis-evex-prefix.h
opcodes/i386-dis-evex-w.h
opcodes/i386-dis.c