On Thu, Jun 26, 2025 at 2:02 PM H.J. Lu <hjl.to...@gmail.com> wrote: > > Since float vector constant > > (const_vector:V4SF [(const_double:SF -QNaN [-QNaN]) repeated x4]) > > is an all 1s float vector constant, update the remove_redundant_vector > pass to replace > > (insn 20 18 21 2 (set (reg:V4SF 124) > (const_vector:V4SF [ > (const_double:SF -QNaN [-QNaN]) repeated x4 > ])) "x.cc":26:5 2426 {movv4sf_internal} > (nil)) > > with > > (insn 49 2 5 2 (set (reg:V16QI 135) > (const_vector:V16QI [ > (const_int -1 [0xffffffffffffffff]) repeated x16 > ])) -1 > (nil)) > ... > (insn 20 18 21 2 (set (reg:V4SF 124) > (subreg:V4SF (reg:V16QI 135) 0)) "x.cc":26:5 2426 {movv4sf_internal} > (nil)) > > gcc/ > > PR target/120819 > * config/i386/i386-features.cc (ix86_broadcast_inner): Also handle > all 1s float vector constant. > > gcc/testsuite/ > > PR target/120819 > * g++.target/i386/pr120819.C: New test. > > OK for master?
Ok. > > Thanks. > > > -- > H.J. -- BR, Hongtao