You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
define range(i320, -131070) <4 x i32> @manual_mule(<8 x i16> %a, <8 x i16> %b) unnamed_addr {
start:
%0 = shufflevector <8 x i16> %a, <8 x i16> poison, <4 x i32> <i320, i322, i324, i326>
%1 = zext <4 x i16> %0to <4 x i32>
%2 = shufflevector <8 x i16> %b, <8 x i16> poison, <4 x i32> <i320, i322, i324, i326>
%3 = zext <4 x i16> %2to <4 x i32>
%4 = mulnuw <4 x i32> %3, %1ret <4 x i32> %4
}
does not optimize to the expected output of vec_mule, a single vmleh instruction. The same is true for the other multiplication flavors (low, high, odd).