search for: one_vector

Displaying 4 results from an estimated 4 matches for "one_vector".

2015 Oct 30
2
Vectorizing structure reads, writes, etc on X86-64 AVX
...d uses the XMM registers for the floats, but does 12 loads and then 12 stores. In contrast, if I manually cast to a properly sized float vector I get the desired single load and single store: %two_vector = bitcast %athing* @two to <8 x float>* %b = load <8 x float>* %two_vector %one_vector = bitcast %athing* @one to <8 x float>* store <8 x float> %b, <8 x float>* %one_vector The rest of the file demonstrates that the code for modifying these vectors is pretty good, but has examples of bad ways to initialize the structure and a good way to initialize it. If I try...
2015 Nov 03
2
Vectorizing structure reads, writes, etc on X86-64 AVX
...d then 12 stores. >> >> In contrast, if I manually cast to a properly sized float vector I get >> the desired single load and single store: >> >> %two_vector = bitcast %athing* @two to <8 x float>* >> %b = load <8 x float>* %two_vector >> %one_vector = bitcast %athing* @one to <8 x float>* >> store <8 x float> %b, <8 x float>* %one_vector >> >> The rest of the file demonstrates that the code for modifying these >> vectors is pretty good, but has examples of bad ways to initialize the >> structur...
2015 Nov 03
2
Vectorizing structure reads, writes, etc on X86-64 AVX
...; In contrast, if I manually cast to a properly sized float vector I > >> get > >> the desired single load and single store: > >> > >> %two_vector = bitcast %athing* @two to <8 x float>* > >> %b = load <8 x float>* %two_vector > >> %one_vector = bitcast %athing* @one to <8 x float>* > >> store <8 x float> %b, <8 x float>* %one_vector > >> > >> The rest of the file demonstrates that the code for modifying > >> these > >> vectors is pretty good, but has examples of bad ways to...
2015 Nov 04
2
Vectorizing structure reads, writes, etc on X86-64 AVX
...float vector I > >> >> get > >> >> the desired single load and single store: > >> >> > >> >> %two_vector = bitcast %athing* @two to <8 x float>* > >> >> %b = load <8 x float>* %two_vector > >> >> %one_vector = bitcast %athing* @one to <8 x float>* > >> >> store <8 x float> %b, <8 x float>* %one_vector > >> >> > >> >> The rest of the file demonstrates that the code for modifying > >> >> these > >> >> vectors is...