Skip to content
  1. Dec 19, 2010
    • Chris Lattner's avatar
      now that generic vector types aren't selected onto MMX operations, · c37bb023
      Chris Lattner authored
      we don't need -disable-mmx anymore.
      
      llvm-svn: 122189
      c37bb023
    • Chris Lattner's avatar
      reduce copy/paste programming with the power of for loops. · ae756e19
      Chris Lattner authored
      llvm-svn: 122187
      ae756e19
    • Chris Lattner's avatar
      X86 supports i8/i16 overflow ops (except i8 multiplies), we should · 1e8c032a
      Chris Lattner authored
      generate them.  
      
      Now we compile:
      
      define zeroext i8 @X(i8 signext %a, i8 signext %b) nounwind ssp {
      entry:
        %0 = tail call %0 @llvm.sadd.with.overflow.i8(i8 %a, i8 %b)
        %cmp = extractvalue %0 %0, 1
        br i1 %cmp, label %if.then, label %if.end
      
      into:
      
      _X:                                     ## @X
      ## BB#0:                                ## %entry
      	subl	$12, %esp
      	movb	16(%esp), %al
      	addb	20(%esp), %al
      	jo	LBB0_2
      
      Before we were generating:
      
      _X:                                     ## @X
      ## BB#0:                                ## %entry
      	pushl	%ebp
      	movl	%esp, %ebp
      	subl	$8, %esp
      	movb	12(%ebp), %al
      	testb	%al, %al
      	setge	%cl
      	movb	8(%ebp), %dl
      	testb	%dl, %dl
      	setge	%ah
      	cmpb	%cl, %ah
      	sete	%cl
      	addb	%al, %dl
      	testb	%dl, %dl
      	setge	%al
      	cmpb	%al, %ah
      	setne	%al
      	andb	%cl, %al
      	testb	%al, %al
      	jne	LBB0_2
      
      llvm-svn: 122186
      1e8c032a
    • Chris Lattner's avatar
      recognize an unsigned add with overflow idiom into uadd. · 5e0c0c72
      Chris Lattner authored
      This resolves a README entry and technically resolves PR4916,
      but we still get poor code for the testcase in that PR because
      GVN isn't CSE'ing uadd with add, filed as PR8817.
      
      Previously we got:
      
      _test7:                                 ## @test7
      	addq	%rsi, %rdi
      	cmpq	%rdi, %rsi
      	movl	$42, %eax
      	cmovaq	%rsi, %rax
      	ret
      
      Now we get:
      
      _test7:                                 ## @test7
      	addq	%rsi, %rdi
      	movl	$42, %eax
      	cmovbq	%rsi, %rax
      	ret
      
      llvm-svn: 122182
      5e0c0c72
  2. Dec 18, 2010
  3. Dec 17, 2010
  4. Dec 16, 2010
Loading