public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/95355] New: [11 Regression] Assembler messages: Error: operand size mismatch for `vpmovzxbd' with -masm=intel
@ 2020-05-27  5:00 zsojka at seznam dot cz
  2020-05-27  8:07 ` [Bug target/95355] " rguenth at gcc dot gnu.org
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: zsojka at seznam dot cz @ 2020-05-27  5:00 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95355

            Bug ID: 95355
           Summary: [11 Regression] Assembler messages: Error: operand
                    size mismatch for `vpmovzxbd' with -masm=intel
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Keywords: assemble-failure
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: zsojka at seznam dot cz
  Target Milestone: ---
              Host: x86_64-pc-linux-gnu
            Target: x86_64-pc-linux-gnu

Created attachment 48614
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48614&action=edit
reduced testcase

Compiler output:
$ x86_64-pc-linux-gnu-gcc -O -fno-tree-dominator-opts -fno-tree-fre
-ftree-slp-vectorize -fno-tree-ter -mavx512dq -masm=intel testcase.c 
/tmp/cc4ZYLWX.s: Assembler messages:
/tmp/cc4ZYLWX.s:27: Error: operand size mismatch for `vpmovzxbd'

$ x86_64-pc-linux-gnu-gcc -v
Using built-in specs.
COLLECT_GCC=/repo/gcc-trunk/binary-latest-amd64/bin/x86_64-pc-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/repo/gcc-trunk/binary-trunk-r11-648-20200526221715-gbc48456d085-checking-yes-rtl-df-extra-nobootstrap-amd64/bin/../libexec/gcc/x86_64-pc-linux-gnu/11.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /repo/gcc-trunk//configure --enable-languages=c,c++
--enable-valgrind-annotations --disable-nls --enable-checking=yes,rtl,df,extra
--disable-bootstrap --with-cloog --with-ppl --with-isl
--build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu
--target=x86_64-pc-linux-gnu --with-ld=/usr/bin/x86_64-pc-linux-gnu-ld
--with-as=/usr/bin/x86_64-pc-linux-gnu-as --disable-libstdcxx-pch
--prefix=/repo/gcc-trunk//binary-trunk-r11-648-20200526221715-gbc48456d085-checking-yes-rtl-df-extra-nobootstrap-amd64
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 11.0.0 20200526 (experimental) (GCC)

The offending instruction is:
        vpmovzxbd       zmm0, QWORD PTR [rsp+32]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug target/95355] [11 Regression] Assembler messages: Error: operand size mismatch for `vpmovzxbd' with -masm=intel
  2020-05-27  5:00 [Bug target/95355] New: [11 Regression] Assembler messages: Error: operand size mismatch for `vpmovzxbd' with -masm=intel zsojka at seznam dot cz
@ 2020-05-27  8:07 ` rguenth at gcc dot gnu.org
  2020-05-27  8:40 ` [Bug target/95355] [11 Regression] Assembler messages: Error: operand size mismatch for `vpmovzxbd' with -masm=intel since r11-485-gf6e40195ec3d3b402a5f6c58dbf359479bc4cbfa marxin at gcc dot gnu.org
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-05-27  8:07 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95355

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |11.0

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug target/95355] [11 Regression] Assembler messages: Error: operand size mismatch for `vpmovzxbd' with -masm=intel since r11-485-gf6e40195ec3d3b402a5f6c58dbf359479bc4cbfa
  2020-05-27  5:00 [Bug target/95355] New: [11 Regression] Assembler messages: Error: operand size mismatch for `vpmovzxbd' with -masm=intel zsojka at seznam dot cz
  2020-05-27  8:07 ` [Bug target/95355] " rguenth at gcc dot gnu.org
@ 2020-05-27  8:40 ` marxin at gcc dot gnu.org
  2020-05-27 10:59 ` ubizjak at gmail dot com
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: marxin at gcc dot gnu.org @ 2020-05-27  8:40 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95355

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |marxin at gcc dot gnu.org,
                   |                            |uros at gcc dot gnu.org
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2020-05-27
     Ever confirmed|0                           |1
            Summary|[11 Regression] Assembler   |[11 Regression] Assembler
                   |messages: Error: operand    |messages: Error: operand
                   |size mismatch for           |size mismatch for
                   |`vpmovzxbd' with            |`vpmovzxbd' with
                   |-masm=intel                 |-masm=intel since
                   |                            |r11-485-gf6e40195ec3d3b402a
                   |                            |5f6c58dbf359479bc4cbfa
           Priority|P3                          |P1

--- Comment #1 from Martin Liška <marxin at gcc dot gnu.org> ---
Started with r11-485-gf6e40195ec3d3b402a5f6c58dbf359479bc4cbfa.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug target/95355] [11 Regression] Assembler messages: Error: operand size mismatch for `vpmovzxbd' with -masm=intel since r11-485-gf6e40195ec3d3b402a5f6c58dbf359479bc4cbfa
  2020-05-27  5:00 [Bug target/95355] New: [11 Regression] Assembler messages: Error: operand size mismatch for `vpmovzxbd' with -masm=intel zsojka at seznam dot cz
  2020-05-27  8:07 ` [Bug target/95355] " rguenth at gcc dot gnu.org
  2020-05-27  8:40 ` [Bug target/95355] [11 Regression] Assembler messages: Error: operand size mismatch for `vpmovzxbd' with -masm=intel since r11-485-gf6e40195ec3d3b402a5f6c58dbf359479bc4cbfa marxin at gcc dot gnu.org
@ 2020-05-27 10:59 ` ubizjak at gmail dot com
  2020-05-27 19:04 ` cvs-commit at gcc dot gnu.org
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: ubizjak at gmail dot com @ 2020-05-27 10:59 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95355

--- Comment #2 from Uroš Bizjak <ubizjak at gmail dot com> ---
This is pre-exsisting problem.

There are a couple of wrong %q modifiers in vpmov* insn templates:

--cut here--
diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
index fde65391d7d..1cf1b8cea3b 100644
--- a/gcc/config/i386/sse.md
+++ b/gcc/config/i386/sse.md
@@ -17559,7 +17559,7 @@
        (any_extend:V16SI
          (match_operand:V16QI 1 "nonimmediate_operand" "vm")))]
   "TARGET_AVX512F"
-  "vpmov<extsuffix>bd\t{%1, %0<mask_operand2>|%0<mask_operand2>, %q1}"
+  "vpmov<extsuffix>bd\t{%1, %0<mask_operand2>|%0<mask_operand2>, %1}"
   [(set_attr "type" "ssemov")
    (set_attr "prefix" "evex")
    (set_attr "mode" "XI")])
@@ -17935,7 +17935,7 @@
        (any_extend:V8DI
          (match_operand:V8HI 1 "nonimmediate_operand" "vm")))]
   "TARGET_AVX512F"
-  "vpmov<extsuffix>wq\t{%1, %0<mask_operand2>|%0<mask_operand2>, %q1}"
+  "vpmov<extsuffix>wq\t{%1, %0<mask_operand2>|%0<mask_operand2>, %1}"
   [(set_attr "type" "ssemov")
    (set_attr "prefix" "evex")
    (set_attr "mode" "XI")])
--cut here--

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug target/95355] [11 Regression] Assembler messages: Error: operand size mismatch for `vpmovzxbd' with -masm=intel since r11-485-gf6e40195ec3d3b402a5f6c58dbf359479bc4cbfa
  2020-05-27  5:00 [Bug target/95355] New: [11 Regression] Assembler messages: Error: operand size mismatch for `vpmovzxbd' with -masm=intel zsojka at seznam dot cz
                   ` (2 preceding siblings ...)
  2020-05-27 10:59 ` ubizjak at gmail dot com
@ 2020-05-27 19:04 ` cvs-commit at gcc dot gnu.org
  2020-05-28 11:57 ` cvs-commit at gcc dot gnu.org
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-05-27 19:04 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95355

--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Uros Bizjak <uros@gcc.gnu.org>:

https://gcc.gnu.org/g:7d014acc1ea263df7ed44aa6cb7f75bb8e512aed

commit r11-669-g7d014acc1ea263df7ed44aa6cb7f75bb8e512aed
Author: Uros Bizjak <ubizjak@gmail.com>
Date:   Wed May 27 21:02:51 2020 +0200

    i386: Remove %q modifier from two pmov insn templates [PR95355]

    2020-05-27  Uroš Bizjak  <ubizjak@gmail.com>

    gcc/ChangeLog:
            PR target/95355
            * config/i386/sse.md
            (<mask_codefor>avx512f_<code>v16qiv16si2<mask_name>):
            Remove %q operand modifier from insn template.
            (avx512f_<code>v8hiv8di2<mask_name>): Ditto.

    gcc/testsuite/ChangeLog:
            PR target/95355
            * gcc.target/i386/pr95355.c: New test.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug target/95355] [11 Regression] Assembler messages: Error: operand size mismatch for `vpmovzxbd' with -masm=intel since r11-485-gf6e40195ec3d3b402a5f6c58dbf359479bc4cbfa
  2020-05-27  5:00 [Bug target/95355] New: [11 Regression] Assembler messages: Error: operand size mismatch for `vpmovzxbd' with -masm=intel zsojka at seznam dot cz
                   ` (3 preceding siblings ...)
  2020-05-27 19:04 ` cvs-commit at gcc dot gnu.org
@ 2020-05-28 11:57 ` cvs-commit at gcc dot gnu.org
  2020-05-29 10:11 ` marxin at gcc dot gnu.org
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-05-28 11:57 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95355

--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-10 branch has been updated by Uros Bizjak <uros@gcc.gnu.org>:

https://gcc.gnu.org/g:31d827e98ab32060ef522fa5f3e42c1175e1a439

commit r10-8198-g31d827e98ab32060ef522fa5f3e42c1175e1a439
Author: Uros Bizjak <ubizjak@gmail.com>
Date:   Thu May 28 13:56:54 2020 +0200

    i386: Remove %q modifier from two pmov insn templates [PR95355]

    2020-05-28  Uroš Bizjak  <ubizjak@gmail.com>

    gcc/ChangeLog:
            PR target/95355
            * config/i386/sse.md
            (<mask_codefor>avx512f_<code>v16qiv16si2<mask_name>):
            Remove %q operand modifier from insn template.
            (avx512f_<code>v8hiv8di2<mask_name>): Ditto.

    gcc/testsuite/ChangeLog:
            PR target/95355
            * gcc.target/i386/pr95355.c: New test.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug target/95355] [11 Regression] Assembler messages: Error: operand size mismatch for `vpmovzxbd' with -masm=intel since r11-485-gf6e40195ec3d3b402a5f6c58dbf359479bc4cbfa
  2020-05-27  5:00 [Bug target/95355] New: [11 Regression] Assembler messages: Error: operand size mismatch for `vpmovzxbd' with -masm=intel zsojka at seznam dot cz
                   ` (4 preceding siblings ...)
  2020-05-28 11:57 ` cvs-commit at gcc dot gnu.org
@ 2020-05-29 10:11 ` marxin at gcc dot gnu.org
  2020-06-30 14:00 ` tkoenig at gcc dot gnu.org
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: marxin at gcc dot gnu.org @ 2020-05-29 10:11 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95355

--- Comment #5 from Martin Liška <marxin at gcc dot gnu.org> ---
Can the bug be marked as resolved?

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug target/95355] [11 Regression] Assembler messages: Error: operand size mismatch for `vpmovzxbd' with -masm=intel since r11-485-gf6e40195ec3d3b402a5f6c58dbf359479bc4cbfa
  2020-05-27  5:00 [Bug target/95355] New: [11 Regression] Assembler messages: Error: operand size mismatch for `vpmovzxbd' with -masm=intel zsojka at seznam dot cz
                   ` (5 preceding siblings ...)
  2020-05-29 10:11 ` marxin at gcc dot gnu.org
@ 2020-06-30 14:00 ` tkoenig at gcc dot gnu.org
  2020-07-15 19:30 ` cvs-commit at gcc dot gnu.org
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: tkoenig at gcc dot gnu.org @ 2020-06-30 14:00 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95355

Thomas Koenig <tkoenig at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |tkoenig at gcc dot gnu.org

--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Thomas Kथà¤nig <tkoenig@gcc.gnu.org>:

https://gcc.gnu.org/g:5958b926dcc3332aec0a2e34653c4394d2613401

commit r11-1729-g5958b926dcc3332aec0a2e34653c4394d2613401
Author: Thomas Koenig <tkoenig@gcc.gnu.org>
Date:   Tue Jun 30 13:01:36 2020 +0200

    Use CHARACTER(kind) string for calculating the type hash.

    This regression came about because of a change in the way
    types are displayed in error messages.  The character
    representation is also used to calculate the hashes for
    our types, so this patch restores the old behavior if
    we are indeed calculating a hash.

    The test case also checks for the specific hash value because
    changing that would be an ABI change, which we should not
    be doing unintentionally.

    gcc/fortran/ChangeLog:

    2020-06-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

            PR fortran/95355
            * gfortran.h (gfc_typename): Add optional argument for_hash.
            * misc.c (gfc_typename): When for_hash is true, just retur
              CHARACTER(kind).
            * class.c (gfc_intrinsic_hash_value): Call gfc_typename with
              for_hash = true.

--- Comment #7 from Thomas Koenig <tkoenig at gcc dot gnu.org> ---
(In reply to CVS Commits from comment #6)
> The master branch has been updated by Thomas Kथà¤nig <tkoenig@gcc.gnu.org>:

That last commit was for PR 95366.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug target/95355] [11 Regression] Assembler messages: Error: operand size mismatch for `vpmovzxbd' with -masm=intel since r11-485-gf6e40195ec3d3b402a5f6c58dbf359479bc4cbfa
  2020-05-27  5:00 [Bug target/95355] New: [11 Regression] Assembler messages: Error: operand size mismatch for `vpmovzxbd' with -masm=intel zsojka at seznam dot cz
                   ` (6 preceding siblings ...)
  2020-06-30 14:00 ` tkoenig at gcc dot gnu.org
@ 2020-07-15 19:30 ` cvs-commit at gcc dot gnu.org
  2020-07-15 19:59 ` ubizjak at gmail dot com
  2020-07-15 20:01 ` ubizjak at gmail dot com
  9 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-07-15 19:30 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95355

--- Comment #8 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Uros Bizjak <uros@gcc.gnu.org>:

https://gcc.gnu.org/g:6c2848ad02feef5ac094d1158be3861819b3bb49

commit r11-2140-g6c2848ad02feef5ac094d1158be3861819b3bb49
Author: Uros Bizjak <ubizjak@gmail.com>
Date:   Wed Jul 15 21:27:00 2020 +0200

    i386: Introduce peephole2 to use flags from CMPXCHG more [PR96189]

    CMPXCHG instruction sets ZF flag if the values in the destination operand
    and EAX register are equal; otherwise the ZF flag is cleared and value
    from destination operand is loaded to EAX. Following assembly:

            movl    %esi, %eax
            lock cmpxchgl   %edx, (%rdi)
            cmpl    %esi, %eax
            sete    %al

    can be optimized by removing the unneeded comparison, since set ZF flag
    signals that no update to EAX happened.

    2020-15-07  Uroš Bizjak  <ubizjak@gmail.com>

    gcc/ChangeLog:
            PR target/95355
            * config/i386/sync.md
            (peephole2 to remove unneded compare after CMPXCHG): New pattern.

    gcc/testsuite/ChangeLog:
            PR target/95355
            * gcc.target/i386/pr96189.c: New test.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug target/95355] [11 Regression] Assembler messages: Error: operand size mismatch for `vpmovzxbd' with -masm=intel since r11-485-gf6e40195ec3d3b402a5f6c58dbf359479bc4cbfa
  2020-05-27  5:00 [Bug target/95355] New: [11 Regression] Assembler messages: Error: operand size mismatch for `vpmovzxbd' with -masm=intel zsojka at seznam dot cz
                   ` (7 preceding siblings ...)
  2020-07-15 19:30 ` cvs-commit at gcc dot gnu.org
@ 2020-07-15 19:59 ` ubizjak at gmail dot com
  2020-07-15 20:01 ` ubizjak at gmail dot com
  9 siblings, 0 replies; 11+ messages in thread
From: ubizjak at gmail dot com @ 2020-07-15 19:59 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95355

--- Comment #9 from Uroš Bizjak <ubizjak at gmail dot com> ---
(In reply to CVS Commits from comment #8)
> The master branch has been updated by Uros Bizjak <uros@gcc.gnu.org>:

Bah. Wrong PR reference, should be PR96189.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug target/95355] [11 Regression] Assembler messages: Error: operand size mismatch for `vpmovzxbd' with -masm=intel since r11-485-gf6e40195ec3d3b402a5f6c58dbf359479bc4cbfa
  2020-05-27  5:00 [Bug target/95355] New: [11 Regression] Assembler messages: Error: operand size mismatch for `vpmovzxbd' with -masm=intel zsojka at seznam dot cz
                   ` (8 preceding siblings ...)
  2020-07-15 19:59 ` ubizjak at gmail dot com
@ 2020-07-15 20:01 ` ubizjak at gmail dot com
  9 siblings, 0 replies; 11+ messages in thread
From: ubizjak at gmail dot com @ 2020-07-15 20:01 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95355

Uroš Bizjak <ubizjak at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|11.0                        |10.2
         Resolution|---                         |FIXED
             Status|NEW                         |RESOLVED

--- Comment #10 from Uroš Bizjak <ubizjak at gmail dot com> ---
(In reply to Martin Liška from comment #5)
> Can the bug be marked as resolved?

Yes, this particular problem is fixed for gcc-10.2+.

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2020-07-15 20:01 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-27  5:00 [Bug target/95355] New: [11 Regression] Assembler messages: Error: operand size mismatch for `vpmovzxbd' with -masm=intel zsojka at seznam dot cz
2020-05-27  8:07 ` [Bug target/95355] " rguenth at gcc dot gnu.org
2020-05-27  8:40 ` [Bug target/95355] [11 Regression] Assembler messages: Error: operand size mismatch for `vpmovzxbd' with -masm=intel since r11-485-gf6e40195ec3d3b402a5f6c58dbf359479bc4cbfa marxin at gcc dot gnu.org
2020-05-27 10:59 ` ubizjak at gmail dot com
2020-05-27 19:04 ` cvs-commit at gcc dot gnu.org
2020-05-28 11:57 ` cvs-commit at gcc dot gnu.org
2020-05-29 10:11 ` marxin at gcc dot gnu.org
2020-06-30 14:00 ` tkoenig at gcc dot gnu.org
2020-07-15 19:30 ` cvs-commit at gcc dot gnu.org
2020-07-15 19:59 ` ubizjak at gmail dot com
2020-07-15 20:01 ` ubizjak at gmail dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).