search for: vicmp

Displaying 20 results from an estimated 20 matches for "vicmp".

Did you mean: icmp
2009 Jun 25
0
[LLVMdev] killing vicmp and vfcmp
On Jun 24, 2009, at 10:02 AM, Chris Lattner wrote: > > On Jun 24, 2009, at 12:47 AM, Duncan Sands wrote: > >> Hi Nick, >> >>> Now that icmp and fcmp have supported returning vectors of i1 for a >>> while, >> >> the code generators don't know how to codegen vectors of i1, so does >> this actually work? > > No, but there are no
2009 Jun 24
4
[LLVMdev] killing vicmp and vfcmp
Now that icmp and fcmp have supported returning vectors of i1 for a while, I think it's time to remove the vicmp and vfcmp instructions from LLVM. The good news is that we've never shipped a release that included them so we won't be providing auto-upgrade support. There is some existing backend support for vicmp and vfcmp that looks different from what icmp and fcmp do. If this actually matters to...
2009 Jun 24
3
[LLVMdev] killing vicmp and vfcmp
On Jun 24, 2009, at 12:47 AM, Duncan Sands wrote: > Hi Nick, > >> Now that icmp and fcmp have supported returning vectors of i1 for a >> while, > > the code generators don't know how to codegen vectors of i1, so does > this actually work? No, but there are no clients of them yet. -Chris
2008 Dec 25
2
[LLVMdev] vector compare
...as test.ll -o test.bc >> > llc test.bc -filetype=asm >> >> I would expect the code generator to emit a sequence of SSE >> instructions. > > Approaches 1 and 2 depend on some stuff that hasn't really stabilized > yet... you should get much better results with vicmp. Oh wait, I just realized vicmp is a post-2.4 thing... if you really want to generate an SSE comparison using LLVM 2.4, you can use the x86 intrinsics, like @llvm.x86.sse2.pcmpeq.b. -Eli
2008 Dec 26
0
[LLVMdev] vector compare
...>>> llc test.bc -filetype=asm >>> >>> I would expect the code generator to emit a sequence of SSE >>> instructions. >> >> Approaches 1 and 2 depend on some stuff that hasn't really stabilized >> yet... you should get much better results with vicmp. > > Oh wait, I just realized vicmp is a post-2.4 thing... if you really > want to generate an SSE comparison using LLVM 2.4, you can use the x86 > intrinsics, like @llvm.x86.sse2.pcmpeq.b. Thanks for your answer. It looks like vicmp is part of LLVM 2.4. It is documented there, at le...
2009 Jun 24
0
[LLVMdev] killing vicmp and vfcmp
Hi Nick, > Now that icmp and fcmp have supported returning vectors of i1 for a > while, the code generators don't know how to codegen vectors of i1, so does this actually work? Ciao, Duncan.
2008 Jun 09
1
[LLVMdev] [patch] Missing instructions in llvm-c.
Hi. The attached patch adds wrappers for the instructions vicmp, vfcmp, ret (multiple) and getresult, and for the vicmp and vfcmp operations on constants, to llvm-c. Also: 1) There appears to be no way to create intrinsics via llvm-c. Is there? 2) The "extractvalue"[1] and "insertvalue"[2] instructions don't seem to be addable via IRB...
2008 Nov 22
2
[LLVMdev] llvm-py 0.5 released.
Hi. Version 0.5 of llvm-py, Python bindings for LLVM, has been released. This version supports (only) LLVM 2.4. New instructions of LLVM 2.4 (vicmp, vfcmp, insertvalue, extractvalue) are available. Home page: http://mdevan.nfshost.com/llvm-py/ Feedback welcome. Thanks & Regards, -Mahadevan.
2008 Dec 25
0
[LLVMdev] vector compare
...nd line: > > > llvm-as test.ll -o test.bc > > llc test.bc -filetype=asm > > I would expect the code generator to emit a sequence of SSE > instructions. Approaches 1 and 2 depend on some stuff that hasn't really stabilized yet... you should get much better results with vicmp. > define i1 @VectorCompare3(i128 %x, i128 %y) { > %1 = icmp eq i128 %x, %y > ret i1 %1 > } > > This fails with: > > Cannot yet select: 0x10182b4: i8 = setcc 0x101844c, 0x10184d4, 0x100becc The result isn't pretty, but this appears to work on x86 using a recent...
2008 Dec 25
2
[LLVMdev] vector compare
Hi all, is there any way to compare two 128bit values? I have tried 3 different approaches and they all fail with an internal assertion. I'm running llvm 2.4 on x86 with the following command line: > llvm-as test.ll -o test.bc > llc test.bc -filetype=asm I would expect the code generator to emit a sequence of SSE instructions.
2008 Jul 21
0
[LLVMdev] Extending vector operations
...is to the IR gets you for vectors, since "vector of i1" doesn't mean "vector of bits" necessarily. > 5) Vector comparisons that return <N x i1> > > This is maybe not a must-have, and perhaps more a question of > preference. I understand the current vfcmp/vicmp semantics, returning > a vector of iK where K matches the bitwidth of the operands being > compared with the high bit set or not, are there for pragmatic > reasons, and that these functions exist to aid with code emitted that > uses machine-specific intrinsics. I totally disagree with...
2008 Jun 26
0
[LLVMdev] Vector instructions
...ing any problems you encounter. > > > 2. vector select [...] > > 3. vector trunc, sext, zext, fptrunc, fpext [...] > > 4. vector shl, lshr, ashr [...] We agree that these would be useful. There are intentions to add them to LLVM; others can say more. > > > 4. vfcmp, vicmp return types > > This topic came up recently on llvm-dev (thread "VFCmp failing when > unordered or UnsafeFPMath on x86"). Having vector compares return a > vector of integer elements with bit width equal to the element types > being compared seems unnecessarily inconsisten...
2008 Jun 26
2
[LLVMdev] Vector instructions
...e of course two ways to interpret a shift on a vector type: within elements and across elements. To us, shifts within elements (i.e. the equivalent of N scalar shifts) are more important than shifts (or rotates!) across elements, but the latter could be useful in some situations as well. 4. vfcmp, vicmp return types This topic came up recently on llvm-dev (thread "VFCmp failing when unordered or UnsafeFPMath on x86"). Having vector compares return a vector of integer elements with bit width equal to the element types being compared seems unnecessarily inconsistent with the icmp and fcmp...
2008 Nov 23
1
[LLVMdev] llvm-py 0.5 released.
...; charset=US-ASCII; format=flowed; delsp=yes > > > On Nov 22, 2008, at 8:59 AM, Mahadevan R wrote: > >> Hi. >> >> Version 0.5 of llvm-py, Python bindings for LLVM, has been released. >> This version supports (only) LLVM 2.4. New instructions of LLVM 2.4 >> (vicmp, vfcmp, insertvalue, extractvalue) are available. >> >> Home page: http://mdevan.nfshost.com/llvm-py/ > > This is *very* cool. We don't currently have a good way to host links > to projects like yours, but I added it to this page (at the bottom): http://llvm.org/Users.html...
2008 Jul 21
10
[LLVMdev] Extending vector operations
...elect between elements of <N x T> vectors for some basic type T. Vector min, max, sign, etc. can be built on top of this operation. 5) Vector comparisons that return <N x i1> This is maybe not a must-have, and perhaps more a question of preference. I understand the current vfcmp/vicmp semantics, returning a vector of iK where K matches the bitwidth of the operands being compared with the high bit set or not, are there for pragmatic reasons, and that these functions exist to aid with code emitted that uses machine-specific intrinsics. For code that does not use machine i...
2008 Jun 27
2
[LLVMdev] Vector instructions
...zext, fptrunc, fpext >> 4. vector shl, lshr, ashr > [...] > > We agree that these would be useful. There are intentions to add them > to LLVM; others can say more. OK. I'd love to hear more, especially if someone is planning to do this in the short term. >> 4. vfcmp, vicmp return types >> >> This topic came up recently on llvm-dev (thread "VFCmp failing when >> unordered or UnsafeFPMath on x86"). Having vector compares return a >> vector of integer elements with bit width equal to the element types >> being compared seems unnec...
2008 Jun 27
0
[LLVMdev] Vector instructions
...n LLVM. This model more closely matches the model implemented by common SIMD systems like Altivec, SSE, CellSPU, Alpha, etc. The design of the system was picked to model the systems that we know of well, we obviously can't plan to handle systems that we don't know about. >> vicmp and vfcmp are very much aimed at solving practical problems on >> popular architectures without needing significant new infrastructure >> They're relatively new, and as you say, they'll be more useful when >> combined with vector shifts and friends and we start teaching LL...
2008 Nov 23
0
[LLVMdev] llvm-py 0.5 released.
...0400 at mxc.ca> > Content-Type: text/plain; charset=ISO-8859-1; format=flowed > > Mahadevan R wrote: >> Hi. >> >> Version 0.5 of llvm-py, Python bindings for LLVM, has been released. >> This version supports (only) LLVM 2.4. New instructions of LLVM 2.4 >> (vicmp, vfcmp, insertvalue, extractvalue) are available. >> >> Home page: http://mdevan.nfshost.com/llvm-py/ >> >> Feedback welcome. > > This is very nice. I especially appreciate the extensive user guide! > > Why do you use IPRED_xx and RPRED_xx instead of ICMP_xx and...
2008 Jul 21
0
[LLVMdev] Extending vector operations
...ector and most likely introduce illegal vectors. It'll be a lot of work to get these working well for non-trivial cases. > 5) Vector comparisons that return <N x i1> > > This is maybe not a must-have, and perhaps more a question of > preference. I understand the current vfcmp/vicmp semantics, returning > a vector of iK where K matches the bitwidth of the operands being > compared with the high bit set or not, are there for pragmatic > reasons, and that these functions exist to aid with code emitted that > uses machine-specific intrinsics. > > For code that d...
2008 Jul 23
0
[LLVMdev] Extending vector operations
...o, it would be nice to think about generalizing this to apply masks to all vector operations, particularly loads and stores. > 5) Vector comparisons that return <N x i1> > > This is maybe not a must-have, and perhaps more a question of > preference. I understand the current vfcmp/vicmp semantics, returning > a vector of iK where K matches the bitwidth of the operands being > compared with the high bit set or not, are there for pragmatic > reasons, and that these functions exist to aid with code emitted that > uses machine-specific intrinsics. As long as we have some...