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/69010] New: Boolean vector constant with a scalar mode is expanded incorrectly


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

            Bug ID: 69010
           Summary: Boolean vector constant with a scalar mode is expanded
                    incorrectly
           Product: gcc
           Version: 6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ienkovich at gcc dot gnu.org
  Target Milestone: ---

Created attachment 37102
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37102&action=edit
Reproducer

Attached testcase fails when is vectorized for AVX-512:

>gcc test.c -O2 -ftree-vectorize -march=skylake-avx512
>sde -- ./a.out
libc: Fatal signal 6 (SIGABRT), code -6 in tid 13272
Aborted (core dumped)

Looking into expand dump we can see vector constant is translated incorrectly:

;; vect__14.9_99 = MASK_LOAD (b_12(D), 4B, { -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0 });

(insn 45 44 46 (set (reg:HI 139)
        (const_int 255 [0xff])) test.c:10 -1
     (nil))

(insn 46 45 0 (set (reg:V16SI 120 [ vect__14.9 ])
        (vec_merge:V16SI (mem:V16SI (reg/v/f:DI 125 [ b ]) [1 MEM[(int
*)b_12(D)]+0 S64 A8])
            (reg:V16SI 120 [ vect__14.9 ])
            (reg:HI 139))) test.c:10 -1
     (nil))

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