search for: __m256i

Displaying 8 results from an estimated 8 matches for "__m256i".

2017 Apr 08
3
How to insert vector type input parameter for function in C/C++ API?
...LLVM-IR code for the following code by C/C++ API >>>> from LLVM framework. I am using LLVM3.8. >>>> Basically, I want to generate TARGET (Refer to below) LLVM-IR code for >>>> SOURCE function by C/C++ API. >>>> As you see below, the AVX2 data type is __m256i which is vector type. >>>> How can I indicate vector type (function return type, input parameters) for >>>> IRBuiler by C/C++ APIs? >>>> >>>> I don't see any example online and please let me know if anybody has >>>> examples. >>&...
2017 Apr 08
2
How to insert vector type input parameter for function in C/C++ API?
...rking on AVX2 code generation by LLVM framework. I want to generate LLVM-IR code for the following code by C/C++ API from LLVM framework. I am using LLVM3.8. Basically, I want to generate TARGET (Refer to below) LLVM-IR code for SOURCE function by C/C++ API. As you see below, the AVX2 data type is __m256i which is vector type. How can I indicate vector type (function return type, input parameters) for IRBuiler by C/C++ APIs? I don't see any example online and please let me know if anybody has examples. SOURCE: #include "immintrin.h" __m256i sum(__m256i a, __m256i b) { return a+...
2017 Apr 08
2
How to insert vector type input parameter for function in C/C++ API?
...> >> I want to generate LLVM-IR code for the following code by C/C++ API from >> LLVM framework. I am using LLVM3.8. >> Basically, I want to generate TARGET (Refer to below) LLVM-IR code for >> SOURCE function by C/C++ API. >> As you see below, the AVX2 data type is __m256i which is vector type. How >> can I indicate vector type (function return type, input parameters) for >> IRBuiler by C/C++ APIs? >> >> I don't see any example online and please let me know if anybody has >> examples. >> >> >> >> SOURCE: >&...
2018 Jul 20
2
LLVM FunctionType cannot be returned as VectorType?
Dear all, I am using LLVM C++ API to generate some code. In particular, I am dealing with AVX2 SIMD API which uses __m256i. My function input types a set of vectors and return type is also a vector. /////////////////////////////////////////////////////////////////////////////////////////// arguments.push_back(VectorType::get(IntegerType::getIntNTy(TheContext, 64), 4));//int64*4 = __m256i FunctionType...
2018 Jul 23
2
LLVM FunctionType cannot be returned as VectorType?
...st one works. The second one doesn't. This means I didn't pass the _m256I into LLVM function correctly. Could you please take a look at it? I really appreciate your help! Jia //////////////////////////////////////////////////////////// /////////////////////////////// My function call: __m256i input =_mm256_set_epi64x(1, 1, 1, 1); __m256i result = _mm256_load_si256(function(&input,&input,&input,&input,&input,&input,&input,&input)); int64_t r0 = _mm256_extract_epi64(result, 0); int64_t r1 = _mm256_extract_epi64(result, 1); int64_t r2 = _mm256_extract_epi64(...
2018 Jul 23
2
LLVM FunctionType cannot be returned as VectorType?
...std::vector<Type *> vecArguments; for (Uint64 nodeId = startOfLeaves; nodeId < numNodes; ++nodeId) { vecArguments.push_back(vectorDataType); } proto = FunctionType::get(vectorDataType,//int64*4 = __m256i vecArguments, false); //////////////////////////////////////////////////////////// /////////////////////////////// The generated IR: define <4 x i64> @tpchq6(<4 x i64> %leaf7, <4 x i64> %leaf8, <4 x i64> %leaf9, <4 x i64&gt...
2020 May 19
5
[PATCHv2] SSE2/SSSE3 optimized version of get_checksum1() for x86-64
I've read up some more on the subject, and it seems the proper way to do this with GCC is g++ and target attributes. I've refactored the patch that way, and it indeed uses SSSE3 automatically on supporting CPUs, regardless of the build host, so this should be ideal both for home builders and distros. Getting the code to build right in c++ mode (checksum_sse2.cpp only) was a bit of an
2019 Jun 10
2
[RFC] Expose user provided vector function for auto-vectorization.
> What is a `"logically"-widened alwaysinline wrapper for the vector function`? Can you provide an example? Also, what is the `tricky processing` you are referring to that the vectorizer should care about? For the case mentioned earlier: float MyAdd(float* a, int b) { return *a + b; } __declspec(vector_variant(implements(MyAdd(float *a, int b)),