[Bug target/121985] [RISCV] [Miscompile] GCC - riscv64 target, miscompiles at -O3 as well as -O2 on valid code

amacleod at redhat dot com gcc-bugzilla@gcc.gnu.org
Tue Oct 28 16:53:48 GMT 2025


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

--- Comment #7 from Andrew Macleod <amacleod at redhat dot com> ---
Ranger is picking up a global value of [1,1] that was set in  red.c.t186.vect 

a.c:7:22: note:   === vect_make_slp_decision === 
a.c:7:22: missed:  no stmts to vectorize.
a.c:7:22: note:  ***** Analysis failed with vector mode V1QI
a.c:7:22: note:  ***** Choosing vector mode RVVM8HI
a.c:7:22: optimized: loop vectorized using masked 512 byte vectors and unroll
factor 256
a.c:7:22: note:  === vec_transform_loop ===
Global Exported: bnd.9_10 = [irange] char [1, 1]

It is properly calculating bnd.9_10 as [6, 6] - [0, 5] resulting in [1, 6], but
then applies the global range of [1, 1].   That is why dom3 is getting [1,1]


More information about the Gcc-bugs mailing list