Created attachment 21245
reduced testcase
This test case contains a loop with a load that gets a disabling (300000) cost,
so normally this would not get vectorized.
Still, if vectorization is forced bad code is generated, which should probably
be investigated:
opt -mtriple=s390x-unknown-linux -mcpu=z13 -o out.opt.ll tc_LV_width2.ll -O3 -
S -force-vector-width=2 -unroll-count=1
Instruction does not dominate all uses!
%17 = phi <2 x double> [ %10, %pred.load.continue ], [ %16, %pred.load.if3 ]
%2 = shufflevector <2 x double> %vector.recur, <2 x double> %17, <2 x i32> <i32 1, i32 2>
tc_LV_width2.ll
(11961 bytes, text/plain)