This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/70525] New: generating 'vpandn' without the mode suffix, gnu as fails to assemble (-mavx512bw)


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

            Bug ID: 70525
           Summary: generating 'vpandn' without the mode suffix, gnu as
                    fails to assemble (-mavx512bw)
           Product: gcc
           Version: 6.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: ---
            Target: x86_64-pc-linux-gnu

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

Output:
$ gcc -O -mavx512bw testcase.c
/tmp/ccuJjUxJ.s: Assembler messages:
/tmp/ccuJjUxJ.s:8: Error: operand type mismatch for `vpandn'

@@ -5,7 +5,7 @@
foo:                                                                           
  .LFB0:
        .cfi_startproc
-       vpandn  %zmm0, %zmm1, %zmm0
+       vpandnq %zmm0, %zmm1, %zmm0
        ret
        .cfi_endproc
 .LFE0:


Fixes the assembly (similar fix applies for the intel syntax). (vpandnd can be
used as well)

Both the "vpandnq" and "vpandnd" instructions should be available in the
"foundation" instruction set with -mavx512f, but -mavx512bw is needed to force
generation of the instruction. I will create a missed-optimization for this,
unless I am wrong.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]