bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug gas/24348] New: GNU (g)as is confusing about vmovdqu mnemonics


From: hgreving at google dot com
Subject: [Bug gas/24348] New: GNU (g)as is confusing about vmovdqu mnemonics
Date: Fri, 15 Mar 2019 13:40:10 +0000

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.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]