This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/69010] New: Boolean vector constant with a scalar mode is expanded incorrectly
- From: "ienkovich at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 22 Dec 2015 11:34:50 +0000
- Subject: [Bug target/69010] New: Boolean vector constant with a scalar mode is expanded incorrectly
- Auto-submitted: auto-generated
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))