diff --git a/04/4_simd/07_vectorize_0_to_n_mod4/.vim_localrc b/04/4_simd/07_vectorize_0_to_n_mod4/.vim_localrc new file mode 100644 index 00000000..55210bf4 --- /dev/null +++ b/04/4_simd/07_vectorize_0_to_n_mod4/.vim_localrc @@ -0,0 +1,2 @@ +" vim: ft=vim +nnoremap :wa:!make\|\|(echo -n .;read -n1) diff --git a/04/4_simd/07_vectorize_0_to_n_mod4/main.cpp b/04/4_simd/07_vectorize_0_to_n_mod4/main.cpp new file mode 100644 index 00000000..963552f3 --- /dev/null +++ b/04/4_simd/07_vectorize_0_to_n_mod4/main.cpp @@ -0,0 +1,6 @@ +void func(int *a, int n) { + n = n / 4 * 4; + for (int i = 0; i < n; i++) { + a[i] = i; + } +} diff --git a/04/4_simd/07_vectorize_0_to_n_mod4/run.sh b/04/4_simd/07_vectorize_0_to_n_mod4/run.sh new file mode 100755 index 00000000..3553d279 --- /dev/null +++ b/04/4_simd/07_vectorize_0_to_n_mod4/run.sh @@ -0,0 +1,4 @@ +set -e + +gcc -O3 -fomit-frame-pointer -fverbose-asm -S main.cpp -o /tmp/main.S +vim /tmp/main.S diff --git a/04/4_simd/08_vectorize_0_to_n_mod4_aligned/.vim_localrc b/04/4_simd/08_vectorize_0_to_n_mod4_aligned/.vim_localrc new file mode 100644 index 00000000..55210bf4 --- /dev/null +++ b/04/4_simd/08_vectorize_0_to_n_mod4_aligned/.vim_localrc @@ -0,0 +1,2 @@ +" vim: ft=vim +nnoremap :wa:!make\|\|(echo -n .;read -n1) diff --git a/04/4_simd/08_vectorize_0_to_n_mod4_aligned/main.cpp b/04/4_simd/08_vectorize_0_to_n_mod4_aligned/main.cpp new file mode 100644 index 00000000..6af2f0ff --- /dev/null +++ b/04/4_simd/08_vectorize_0_to_n_mod4_aligned/main.cpp @@ -0,0 +1,7 @@ +void func(int *a, int n) { + n = n / 4 * 4; + a = (int *)__builtin_assume_aligned(a, 16); + for (int i = 0; i < n; i++) { + a[i] = i; + } +} diff --git a/04/4_simd/08_vectorize_0_to_n_mod4_aligned/run.sh b/04/4_simd/08_vectorize_0_to_n_mod4_aligned/run.sh new file mode 100755 index 00000000..3553d279 --- /dev/null +++ b/04/4_simd/08_vectorize_0_to_n_mod4_aligned/run.sh @@ -0,0 +1,4 @@ +set -e + +gcc -O3 -fomit-frame-pointer -fverbose-asm -S main.cpp -o /tmp/main.S +vim /tmp/main.S diff --git a/04/slides.pptx b/04/slides.pptx index f626141b..f64f71f6 100644 Binary files a/04/slides.pptx and b/04/slides.pptx differ