[Bug target/115981] [14/15 Regression] Redundant vmovaps to itself after vmovups
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Jul 18 10:25:49 GMT 2024
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115981
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|Redundant vmovaps to itself |[14/15 Regression]
|after vmovups |Redundant vmovaps to itself
| |after vmovups
Status|UNCONFIRMED |NEW
Last reconfirmed| |2024-07-18
Target Milestone|--- |14.2
Target|X86_64 |x86_64-*-*
Ever confirmed|0 |1
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
(insn 7 3 11 2 (set (reg:V4SF 103 [ _3 ])
(mem:V4SF (reg:DI 108) [0 MEM[(__m128_u * {ref-all})a_2(D)]+0 S16 A8]))
"/spc/space/rguenther/install/gcc-14.1.1/usr/local/lib64/gcc/x86_64-pc-linux-gnu/14.1.1/include/xmmintrin.h":940:10
2036 {movv4sf_internal}
(expr_list:REG_DEAD (reg:DI 108)
(nil)))
(insn 11 7 16 2 (set (reg:V16SF 101)
(vec_merge:V16SF (const_vector:V16SF [
(const_double:SF 0.0 [0x0.0p+0]) repeated x16
])
(vec_duplicate:V16SF (reg:V4SF 103 [ _3 ]))
(const_int 65520 [0xfff0])))
"/spc/space/rguenther/install/gcc-14.1.1/usr/local/lib64/gcc/x86_64-pc-linux-gnu/14.1.1/include/avx512fintrin.h":9206:19
7429 {*avx512f_vinsertf32x4_0}
(expr_list:REG_DEAD (reg:V4SF 103 [ _3 ])
(nil)))
confirmed. Somehow the fact that movups zero-fills isn't seen. On the 13
branch we have combined these:
(insn 11 7 16 2 (set (reg:V16SF 85)
(vec_merge:V16SF (const_vector:V16SF [
(const_double:SF 0.0 [0x0.0p+0]) repeated x16
])
(vec_duplicate:V16SF (mem:V4SF (reg:DI 92) [0 MEM[(__m128_u *
{ref-all})a_2(D)]+0 S16 A8]))
(const_int 65520 [0xfff0])))
"/spc/space/rguenther/install/gcc-13.3/lib64/gcc/x86_64-pc-linux-gnu/13.3.0/include/avx512fintrin.h":6172:19
7123 {*avx512f_vinsertf32x4_0}
(expr_list:REG_DEAD (reg:DI 92)
(nil)))
More information about the Gcc-bugs
mailing list