https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114676
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |wrong-code Component|tree-optimization |target Target Milestone|--- |12.4 --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- /* Build a vector type with the alignment of the target location in order to enable correct alignment hints to be generated for vst. */ tree mem_type = build_aligned_type (TREE_TYPE((*arglist)[0]), TYPE_ALIGN (TREE_TYPE (TREE_TYPE ((*arglist)[2])))); return build2 (MODIFY_EXPR, mem_type, build1 (INDIRECT_REF, mem_type, fold_build_pointer_plus ((*arglist)[2], (*arglist)[1])), (*arglist)[0]); Does -fno-strict-aliasing help? I wonder if the above (which is S390_OVERLOADED_BUILTIN_s390_vec_xst from s390_expand_overloaded_builtin) should be have an may_alias variant .