diff --git a/.gitignore b/.gitignore index d2c603b2..20b49f59 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,5 @@ libsimdpp.files build* venv pywiki +*.o +*.out diff --git a/examples/Makefile b/examples/Makefile new file mode 100644 index 00000000..8448c3fb --- /dev/null +++ b/examples/Makefile @@ -0,0 +1,6 @@ +CXXFLAGS = -std=c++11 -I../ -lstdc++ + +all: vector-add + +vector-add: + g++ $(CXXFLAGS) -DSIMDPP_ARCH_X86_SSE4_1 -msse4 vector-add.cpp \ No newline at end of file diff --git a/examples/vector-add.cpp b/examples/vector-add.cpp new file mode 100644 index 00000000..db4b0b40 --- /dev/null +++ b/examples/vector-add.cpp @@ -0,0 +1,36 @@ +#include +#include + +// Initializes vector to store values +void init_vector(float* a, float* b, size_t size) { + for (int i=0; i xmmA = load(vec_a + i); //loads 4 floats into xmmA + float32<4> xmmB = load(vec_b + i); //loads 4 floats into xmmB + float32<4> xmmC = add(xmmA, xmmB); //Vector add of xmmA and xmmB + store(result + i, xmmC); //Store result into the vector + } + + test_result(result, SIZE); + return 0; +}