search for: insert_subvector

Displaying 11 results from an estimated 11 matches for "insert_subvector".

2017 Jan 20
3
getScalarizationOverhead()
On 2017-01-20 14:31, Hal Finkel wrote: > > On 01/20/2017 06:11 AM, Jonas Paulsson via llvm-dev wrote: >> Hi, >> >> I wonder why getScalarizationOverhead() does not take into account >> the number of operands of the instruction? This should influence the >> number of extracts needed, so instead of >> >> Scalarization cost = NumEls * (insert +
2014 Sep 05
2
[LLVMdev] Please benchmark new x86 vector shuffle lowering, planning to make it the default very soon!
...of “cannot select" in the LLVM test suite with -march=core-avx-i. E.g., SingleSource/UnitTests/Vector/SSE/sse.isamax.c is failing at O3 -march=core-avx-i with: fatal error: error in backend: Cannot select: 0x7f91b99a6420: v4i32 = bitcast 0x7f91b99b0e10 [ORD=3] [ID=27] 0x7f91b99b0e10: v4i64 = insert_subvector 0x7f91b99a7210, 0x7f91b99a6d68, 0x7f91b99ace70 [ORD=2] [ID=25] 0x7f91b99a7210: v4i64 = undef [ID=15] 0x7f91b99a6d68: v2i64 = scalar_to_vector 0x7f91b99ab840 [ORD=2] [ID=23] 0x7f91b99ab840: i64 = AssertZext 0x7f91b99acc60, 0x7f91b99ac738 [ORD=2] [ID=20] 0x7f91b99acc60: i64,ch =...
2014 Sep 06
2
[LLVMdev] Please benchmark new x86 vector shuffle lowering, planning to make it the default very soon!
...t;> -march=core-avx-i. >> E.g., SingleSource/UnitTests/Vector/SSE/sse.isamax.c is failing at O3 >> -march=core-avx-i with: >> fatal error: error in backend: Cannot select: 0x7f91b99a6420: v4i32 = >> bitcast 0x7f91b99b0e10 [ORD=3] [ID=27] >> 0x7f91b99b0e10: v4i64 = insert_subvector 0x7f91b99a7210, >> 0x7f91b99a6d68, 0x7f91b99ace70 [ORD=2] [ID=25] >> 0x7f91b99a7210: v4i64 = undef [ID=15] >> 0x7f91b99a6d68: v2i64 = scalar_to_vector 0x7f91b99ab840 [ORD=2] >> [ID=23] >> 0x7f91b99ab840: i64 = AssertZext 0x7f91b99acc60, 0x7f91b99ac738 &gt...
2014 Sep 08
2
[LLVMdev] Please benchmark new x86 vector shuffle lowering, planning to make it the default very soon!
...the LLVM test suite with -march=core-avx-i. >> E.g., SingleSource/UnitTests/Vector/SSE/sse.isamax.c is failing at O3 -march=core-avx-i with: >> fatal error: error in backend: Cannot select: 0x7f91b99a6420: v4i32 = bitcast 0x7f91b99b0e10 [ORD=3] [ID=27] >> 0x7f91b99b0e10: v4i64 = insert_subvector 0x7f91b99a7210, 0x7f91b99a6d68, 0x7f91b99ace70 [ORD=2] [ID=25] >> 0x7f91b99a7210: v4i64 = undef [ID=15] >> 0x7f91b99a6d68: v2i64 = scalar_to_vector 0x7f91b99ab840 [ORD=2] [ID=23] >> 0x7f91b99ab840: i64 = AssertZext 0x7f91b99acc60, 0x7f91b99ac738 [ORD=2] [ID=20] >&...
2020 Nov 11
3
An update on scalable vectors in LLVM
...t gives information about the min/max vector-width. As an example of how this was implemented, see e.g. https://reviews.llvm.org/D85117, where the lowering code generates a predicate for the specified VL and passes it to the instruction. * We extended the meaning of ISD::EXTRACT_SUBVECTOR and ISD::INSERT_SUBVECTOR in the context of scalable vectors, so that it is possible to insert/extract a fixed-width vector into or from a scalable vector. (https://reviews.llvm.org/D79806) * We added an intrinsic for vscale and corresponding ISD::VSCALE (https://reviews.llvm.org/D68203) What’s next? ============ The ne...
2014 Sep 09
5
[LLVMdev] Please benchmark new x86 vector shuffle lowering, planning to make it the default very soon!
...vx-i. >>> E.g., SingleSource/UnitTests/Vector/SSE/sse.isamax.c is failing at O3 >>> -march=core-avx-i with: >>> fatal error: error in backend: Cannot select: 0x7f91b99a6420: v4i32 = >>> bitcast 0x7f91b99b0e10 [ORD=3] [ID=27] >>> 0x7f91b99b0e10: v4i64 = insert_subvector 0x7f91b99a7210, >>> 0x7f91b99a6d68, 0x7f91b99ace70 [ORD=2] [ID=25] >>> 0x7f91b99a7210: v4i64 = undef [ID=15] >>> 0x7f91b99a6d68: v2i64 = scalar_to_vector 0x7f91b99ab840 [ORD=2] >>> [ID=23] >>> 0x7f91b99ab840: i64 = AssertZext 0x7f91b99acc60...
2014 Sep 05
3
[LLVMdev] Please benchmark new x86 vector shuffle lowering, planning to make it the default very soon!
On Fri, Sep 5, 2014 at 9:32 AM, Robert Lougher <rob.lougher at gmail.com> wrote: > Unfortunately, another team, while doing internal testing has seen the > new path generating illegal insertps masks. A sample here: > > vinsertps $256, %xmm0, %xmm13, %xmm4 # xmm4 = xmm0[0],xmm13[1,2,3] > vinsertps $256, %xmm1, %xmm0, %xmm6 # xmm6 = xmm1[0],xmm0[1,2,3] >
2016 Jun 01
4
Adding BB input/output registers during ISel
...be lowered into the vector register file. I have this design working for the case where the stack object's lifetime resides entirely within a single basic block: I start with an undef node to represent the set of registers to which the buffer is allocated, and replace stores to the buffer with insert_subvector's and replace loads with extract_subvector's. I'm now looking at generalizing the design for the case where the stack object's lifetime spans across 2 or more basic blocks and am hoping someone from the community will be able to offer a little insight so that if there are major iss...
2016 Nov 04
2
[RFC] Supporting ARM's SVE in LLVM
...resulting in the extraction of the top half of the input vector. This maintains the intension of the original code for both scalable and non-scalable vectors. For common code that truly requires an absolute index we recommend a new distinct ISD node to better differentiate such patterns. ## *ISD::INSERT_SUBVECTOR* {#isdinsertsubvector} `INSERT_SUBVECTOR(VECTOR1, VECTOR2, IDX)` We have made the equivalent change to this node's index parameter to match the behaviour of [ISD::EXTRACT_SUBVECTOR](#ISD::EXTRACT_SUBVECTOR). ## *ISD::PROPAGATE\_FIRST\_ZERO* {#isdpropagatefirstzero} `PROPAGATE_FIRST_ZERO(VEC...
2014 Sep 09
1
[LLVMdev] Please benchmark new x86 vector shuffle lowering, planning to make it the default very soon!
...Source/UnitTests/Vector/SSE/sse.isamax.c is failing at O3 >>>>> -march=core-avx-i with: >>>>> fatal error: error in backend: Cannot select: 0x7f91b99a6420: v4i32 = >>>>> bitcast 0x7f91b99b0e10 [ORD=3] [ID=27] >>>>> 0x7f91b99b0e10: v4i64 = insert_subvector 0x7f91b99a7210, >>>>> 0x7f91b99a6d68, 0x7f91b99ace70 [ORD=2] [ID=25] >>>>> 0x7f91b99a7210: v4i64 = undef [ID=15] >>>>> 0x7f91b99a6d68: v2i64 = scalar_to_vector 0x7f91b99ab840 [ORD=2] >>>>> [ID=23] >>>>> 0x7f91b99a...
2013 Apr 25
11
[LLVMdev] Proposal for new Legalization framework
In the spirit of the (long-term) intent to migrate away from the SelectionDAG framework, it is desirable to implement legalization passes as discrete passes. Attached is a patch which implements the beginning of a new type legalization pass, to help motivate discussion. Is LLVM IR the right level for this? The main alternative approach that's been discussed is to do FastISel to a