search for: cmpeq

Displaying 10 results from an estimated 10 matches for "cmpeq".

Did you mean: pcmpeq
2005 May 19
1
[LLVMdev] Re: Preferring cast over seteq with 0
...have a simple testcase that shows the problem? > >-Chris Hi Chris, I am targeting the alpha platform. I pasted a portion of the problem code below. I starred a select in the join block that is fed by the seteq (%tmp.37) in the entry block. The resultant alpha code places an unnecessary cmpeq in block 'entry'. When I move the definition of %tmp.37 to block 'join', the Alpha backend correctly eliminates the cmpeq. I think rather than changing the cast/seteq behavior, I can get the same results for alpha by moving the seteq to the block where it is used. -Eric implemen...
2006 Nov 03
4
[LLVMdev] is createCFGSimplificationPass unused?
...e problems for architectures that use conditional moves to implement select (alpha and ARM). For example, on 2006/09/03 a "if (a) return 0; else return 1;" compiled to ---------------------------------------- zapnot $17,15,$1 zapnot $16,15,$2 bis $31,$31,$0 cmpeq $2,$1,$1 cmoveq $1,1,$0 ret $31,($26),1 ---------------------------------------- Now it compiles to ---------------------------------- zapnot $17,15,$0 zapnot $16,15,$1 cmpeq $1,$0,$0 beq $0,$BB1_2 #return $BB1_1: #cond_true bis $31,$31,$0...
2012 Feb 02
2
[LLVMdev] register allocation
...ckend on which I have been working, we have a compare instruction that sets a flag (true or false), and a conditional branch instruction, that jumps if the flag is true. Initially, I tried to specify this by providing a lowering of the compare instruction : (CCReg only contains one register) def CMPEQ : Instr< (outs CCReg:$dst), (ins IntRegs:$lhs, IntRegs:$rhs), "cmpeq $lhs, $src", [(cmpeq IntRegs:$dst, IntRegs:$src)>; def BCC : Instr< (outs), (ins CCReg:$cc, brtarget:$addr), "bcc $addr", [(brcond CCReg:$cc, bb:$addr)] >; This worked, but for m...
2006 Nov 03
0
[LLVMdev] is createCFGSimplificationPass unused?
...how it handles select. For example: int %foo(int %x) { %b = seteq int %x, 5 %r = select bool %b, int 3, int 7 ret int %r } int %bar(int %x) { %b = seteq int %x, 5 br bool %b, label %t, label %f t: ret int 1 f: ret int 2 } compiles to: foo: lda $0,3($31) zapnot $16,15,$1 cmpeq $1,5,$1 cmoveq $1,7,$0 ret $31,($26),1 bar: zapnot $16,15,$0 cmpeq $0,5,$0 beq $0,$BB2_2 #f $BB2_1: #t lda $0,1($31) ret $31,($26),1 $BB2_2: #f lda $0,2($31) ret $31,($26),1 Which is not a problem with the instruction select...
2012 Jan 20
0
[LLVMdev] register allocation
On Jan 20, 2012, at 6:40 AM, Jonas Paulsson wrote: > > What exactly are you proposing? Why can't you do what the PowerPC and Hexagon targets do? > > Yes, I can move a CR to a GPR and save it to the stack, but due to a very irregular register file this is about 10 times more expensive than saving/restoring an ordinary register. These registers should basically never > have to
2012 Jan 20
3
[LLVMdev] register allocation
> On Jan 19, 2012, at 5:31 AM, Jonas Paulsson wrote: > LLVM would have to be extended with an RegClass/register-attribute 'spillable' > > > What exactly are you proposing? Why can't you do what the PowerPC and Hexagon targets do? Yes, I can move a CR to a GPR and save it to the stack, but due to a very irregular register file this is about 10 times more expensive
2017 Feb 13
2
ARM Backend: Emit conditional move
Hi, I'm trying to emit a conditional move in the ARM backend for a custom intrinsic. Basically, I want to emit the following the following instruction sequence: cmp r0, r1 moveq r2, #1 To implement this, I first emit a compare instruction and then I'm trying to emit the conditional move, which is failing. BuildMI(&MBB, DL, TII->get(ARM::CMPrr))
2012 Feb 02
0
[LLVMdev] How to improve code generated for 'getelementptr' ?
...mov R4 , R1 add R1 , 1 mov R5 , R0 sll R4 , 2 cmpne R1 , R3 add R5 , R4 bcc24 _BB1_1 sw R2 , R5, 0 ;; BB#2: ;; %for.end b r15 nop .globl _Init2 _Init2: ;; @Init2 ;; BB#0: ;; %entry cmpeq R0 , R1 bcc24 _BB2_3 nop ;; BB#1: ldi R2 , 4 _BB2_2: ;; %while.body ;; =>This Inner Loop Header: Depth=1 sw R2 , R0, 0 add R0 , 4 cmpne R1 , R0 bcc24 _BB2_2 nop _BB2_3: ;; %wh...
2012 Jan 09
39
[PATCH v4 00/25] xen: ARMv7 with virtualization extensions
Hello everyone, this is the fourth version of the patch series that introduces ARMv7 with virtualization extensions support in Xen. The series allows Xen and Dom0 to boot on a Cortex-A15 based Versatile Express simulator. See the following announce email for more informations about what we are trying to achieve, as well as the original git history: See
2011 Dec 06
57
[PATCH RFC 00/25] xen: ARMv7 with virtualization extensions
Hello everyone, this is the very first version of the patch series that introduces ARMv7 with virtualization extensions support in Xen. The series allows Xen and Dom0 to boot on a Cortex-A15 based Versatile Express simulator. See the following announce email for more informations about what we are trying to achieve, as well as the original git history: See