https://sourceware.org/bugzilla/show_bug.cgi?id=24348
Bug ID: 24348 Summary: GNU (g)as is confusing about vmovdqu mnemonics Product: binutils Version: 2.30 Status: UNCONFIRMED Severity: normal Priority: P2 Component: gas Assignee: unassigned at sourceware dot org Reporter: hgreving at google dot com Target Milestone: --- 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!0000000000 -- You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils