Displaying 2 results from an estimated 2 matches for "vecins".
Did you mean:
vecint
2019 Oct 04
2
Opportunity to split store of shuffled vector.
...x float>* %a) #0 {
entry:
%a.addr = alloca <4 x float>*, align 8
store <4 x float>* %a, <4 x float>** %a.addr, align 8, !tbaa !3
%0 = load <4 x float>*, <4 x float>** %a.addr, align 8, !tbaa !3
%1 = load <4 x float>, <4 x float>* %0, align 16
%vecins = insertelement <4 x float> %1, float 1.000000e+00, i32 0
store <4 x float> %vecins, <4 x float>* %0, align 16
%2 = load <4 x float>*, <4 x float>** %a.addr, align 8, !tbaa !3
%3 = load <4 x float>, <4 x float>* %2, align 16
%vecins1 = insertelement...
2019 Sep 27
2
Opportunity to split store of shuffled vector.
...mple below should be successfully compiled in any platform:
typedef float v4sf __attribute__ ((vector_size(16)));
void foo(v4sf *a) {
(*a)[0] = 1;
(*a)[3] = 2;
}
And we can get the IR mentioned before:
%0 = load <4 x float>, <4 x float>* %a, align 16
%vecins1 = shufflevector <4 x float> <float 1.000000e+00, float
undef, float undef, float 2.000000e+00>, <4 x float> %0, <4 x i32>
<i32 0, i32 5, i32 6, i32 3>
store <4 x float> %vecins1, <4 x float>* %a, align 16
Regards,
Qiu Chaofan
Florian Hahn <floria...