Hello, this is meant to be a bug report, hopefully this is the appropriate place.
1) vmovdqu %ymm0, %ymm1 as --64 -o test.o test.s Assembles ok. 2) vmovdqu %ymm0, %ymm16 as --64 -o test.o test.s test.s: Assembler messages: test.s:1: Error: unsupported instruction `vmovdqu' 2) Requires the vmovdqu<8/16/32/64> mnemonic. I understand that vmovdqu is the VEX version, while vmovdqu<8/16/32/64> encodes as EVEX. I also understand that 2) requires EVEX. However, I don't see a reason why 2) could not default to one version of vmovdqu<8/16/32/64> with writemask k0. If it doesn't, the consequence is that inline asm e.g. written in C needs to write vmovdqu for ymm <= 15 and vmovsqu32 for ymm > 15. This is inconvenient e.g. for macros. #ifdef __AVX__ vmovdqu ymm0, [] [..] vmovdqu ymm15, [] #ifdef __AVX512F__ vmovdqu32 ymm15, [] [..] vmovdqu32 ymm31, [] #endif #endif as --version GNU assembler (GNU Binutils for Debian) 2.30 Copyright (C) 2018 Free Software Foundation, Inc. This program is free software; you may redistribute it under the terms of the GNU General Public License version 3 or later. This program has absolutely no warranty. This assembler was configured for a target of `x86_64-linux-gnu'. Thanks in advance! Hendrik Greving
_______________________________________________ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils