[X86] Move the 'vmovq.s' and similar assembly strings for EVEX vector moves with...
authorCraig Topper <craig.topper@intel.com>
Mon, 18 Jun 2018 01:28:05 +0000 (01:28 +0000)
committerCraig Topper <craig.topper@intel.com>
Mon, 18 Jun 2018 01:28:05 +0000 (01:28 +0000)
commit916d0cf64972f2889322b271fa26c9102c66f72a
tree95a8fdc7d263e6c9e39c2cb0baa634ddb2a128a0
parent2be74395cf0d0d572c69fbade0440735015311b8
[X86] Move the 'vmovq.s' and similar assembly strings for EVEX vector moves with reversed operands to InstAliases.

The .s assembly strings allow the reversed forms to be targeted from assembly which matches gas behavior. But when printing the instructions we should print them without the .s to match other tooling like objdump. By using InstAliases we can use the normal string in the instruction and just hide it from the assembly parser.

Ideally we'd add the .s versions to the legacy SSE and VEX versions as well for full compatibility with gas. Not sure how we got to state where only EVEX was supported.

llvm-svn: 334920
llvm/lib/Target/X86/X86InstrAVX512.td
llvm/test/MC/X86/AVX512F_512-32.s
llvm/test/MC/X86/AVX512F_512-64.s
llvm/test/MC/X86/avx512-encodings.s
llvm/test/MC/X86/x86-64-avx512bw.s
llvm/test/MC/X86/x86-64-avx512bw_vl.s
llvm/test/MC/X86/x86-64-avx512f_vl.s