On Mon, Aug 9, 2021 at 7:47 PM H.J. Lu <hjl.to...@gmail.com> wrote: > > On Mon, Aug 9, 2021 at 8:27 AM Uros Bizjak <ubiz...@gmail.com> wrote: > > > > On Mon, Aug 9, 2021 at 5:24 PM H.J. Lu <hjl.to...@gmail.com> wrote: > > > > > > On Sun, Aug 8, 2021 at 1:23 PM Uros Bizjak <ubiz...@gmail.com> wrote: > > > > > > > > On Sat, Aug 7, 2021 at 4:41 PM H.J. Lu <hjl.to...@gmail.com> wrote: > > > > > > > > > > Update vector_all_ones_operand to return true for const all 1s float > > > > > vectors. > > > > > > > > > > gcc/ > > > > > > > > > > PR target/101804 > > > > > * config/i386/predicates.md (vector_all_ones_operand): Return > > > > > true for const all 1s float vectors. > > > > > > > > > > gcc/testsuite/ > > > > > > > > > > PR target/101804 > > > > > * gcc.target/i386/avx2-gather-2.c: Pass -march=skylake instead > > > > > of "-mavx2 -mtune=skylake". Scan vpcmpeqd. > > > > > > > > No, vector_all_ones_operand is intended to be integer minus-one. Use > > > > float_vector_all_ones_operand in a specific place, where it is needed. > > > > > > > > > > Like this? > > > > Please also add a new constraint, BC is intended for integer values. > > > > Uros. > > Here is the v3 patch with the new BF constraint. OK for master?
OK with some comment fixes. +;; C Integer SSE constant -1 operand. +;; F Floating-point SSE constant -1 operand. Maybe we should simply say "... SSE constant with all bits set" here. "... SSE constant -1" is ambiguous, someone can interpret this as a constant -1.0. - "@internal SSE constant -1 operand." + "@internal integer SSE constant -1 operand." Also here. +(define_constraint "BF" + "@internal floating-point SSE constant -1 operand." And here. Thanks, Uros.