search for: vecinit2

Displaying 9 results from an estimated 9 matches for "vecinit2".

Did you mean: vecinit
2017 Sep 13
2
RFC phantom memory intrinsic
...r inbounds double, double* %ptr, i64 %i %0 = load double, double* %arrayidx, align 8 %vecinit = insertelement <4 x double> undef, double %0, i32 0 %add = add i64 %i, 1 %arrayidx1 = getelementptr inbounds double, double* %ptr, i64 %add %1 = load double, double* %arrayidx1, align 8 %vecinit2 = insertelement <4 x double> %vecinit, double %1, i32 1 %add3 = add i64 %i, 2 %arrayidx4 = getelementptr inbounds double, double* %ptr, i64 %add3 %2 = load double, double* %arrayidx4, align 8 %vecinit5 = insertelement <4 x double> %vecinit2, double %2, i32 2 %add6 = add i64 %i...
2017 Sep 13
2
RFC phantom memory intrinsic
...d double, double* %arrayidx, align 8 >> %vecinit = insertelement <4 x double> undef, double %0, i32 0 >> %add = add i64 %i, 1 >> %arrayidx1 = getelementptr inbounds double, double* %ptr, i64 %add >> %1 = load double, double* %arrayidx1, align 8 >> %vecinit2 = insertelement <4 x double> %vecinit, double %1, i32 1 >> %add3 = add i64 %i, 2 >> %arrayidx4 = getelementptr inbounds double, double* %ptr, i64 %add3 >> %2 = load double, double* %arrayidx4, align 8 >> %vecinit5 = insertelement <4 x double> %vecinit...
2017 Sep 26
0
RFC phantom memory intrinsic
...dx, align 8 >>> %vecinit = insertelement <4 x double> undef, double %0, i32 0 >>> %add = add i64 %i, 1 >>> %arrayidx1 = getelementptr inbounds double, double* %ptr, i64 %add >>> %1 = load double, double* %arrayidx1, align 8 >>> %vecinit2 = insertelement <4 x double> %vecinit, double %1, i32 1 >>> %add3 = add i64 %i, 2 >>> %arrayidx4 = getelementptr inbounds double, double* %ptr, i64 %add3 >>> %2 = load double, double* %arrayidx4, align 8 >>> %vecinit5 = insertelement <4 x...
2020 Jan 11
2
[RFC][SDAG] Convert build_vector of ops on extractelts into ops on input vectors
...is an example that shows the difference (simplified to <2 x double> for brevity): define dso_local <2 x double> @test(i64 %a, i64 %b) { entry: %conv = uitofp i64 %a to double %conv1 = uitofp i64 %b to double %vecinit = insertelement <2 x double> undef, double %conv, i32 0 %vecinit2 = insertelement <2 x double> %vecinit, double %conv1, i32 1 ret <2 x double> %vecinit2 } The inputs here are scalars so I suppose it is quite possible (perhaps likely) that on some targets, doing the insert with integers and then converting the vector is cheaper (although this is def...
2017 Sep 26
2
RFC phantom memory intrinsic
...>> %vecinit = insertelement <4 x double> undef, double %0, i32 0 >>>> %add = add i64 %i, 1 >>>> %arrayidx1 = getelementptr inbounds double, double* %ptr, i64 %add >>>> %1 = load double, double* %arrayidx1, align 8 >>>> %vecinit2 = insertelement <4 x double> %vecinit, double %1, i32 1 >>>> %add3 = add i64 %i, 2 >>>> %arrayidx4 = getelementptr inbounds double, double* %ptr, i64 %add3 >>>> %2 = load double, double* %arrayidx4, align 8 >>>> %vecinit5 = inser...
2017 Sep 26
0
RFC phantom memory intrinsic
...t = insertelement <4 x double> undef, double %0, i32 0 >>>>> %add = add i64 %i, 1 >>>>> %arrayidx1 = getelementptr inbounds double, double* %ptr, i64 %add >>>>> %1 = load double, double* %arrayidx1, align 8 >>>>> %vecinit2 = insertelement <4 x double> %vecinit, double %1, i32 1 >>>>> %add3 = add i64 %i, 2 >>>>> %arrayidx4 = getelementptr inbounds double, double* %ptr, i64 %add3 >>>>> %2 = load double, double* %arrayidx4, align 8 >>>>>...
2020 Jan 11
2
[RFC][SDAG] Convert build_vector of ops on extractelts into ops on input vectors
...<2 x double> for brevity): >> define dso_local <2 x double> @test(i64 %a, i64 %b) { >> entry: >> %conv = uitofp i64 %a to double >> %conv1 = uitofp i64 %b to double >> %vecinit = insertelement <2 x double> undef, double %conv, i32 0 >> %vecinit2 = insertelement <2 x double> %vecinit, double %conv1, i32 1 >> ret <2 x double> %vecinit2 >> } >> >> The inputs here are scalars so I suppose it is quite possible (perhaps >> likely) that on some targets, doing the insert with integers and then >> c...
2017 Sep 12
3
RFC phantom memory intrinsic
Hi, For PR21780 solution, I plan to add a new functionality to restore memory operations that was once deleted, in this particular case it is the load operations that were deleted by InstCombine, please note that once the load was removed there is no way to restore it back and that prevents us from vectorizing the shuffle operation. There are probably more similar issues where this approach could
2020 Jan 10
2
[RFC][SDAG] Convert build_vector of ops on extractelts into ops on input vectors
I have added a few PPC-specific DAG combines in the past that follow this pattern on specific operations. Now that it appears that this would be useful to do on yet another operation, I'm wondering what people think about doing this in the target-independent DAG Combiner for any legal/custom operation on the target. TL; DR; The generic pattern would look like this: (build_vector (op