Skip to content
  1. Jul 05, 2010
    • Chris Lattner's avatar
      Just rip v2f32 support completely out of the X86 backend. In · 45cc4d74
      Chris Lattner authored
      the example in the testcase, we now generate:
      
      _test1:                                 ## @test1
      	movss	4(%esp), %xmm0
      	addss	8(%esp), %xmm0
      	movl	12(%esp), %eax
      	movss	%xmm0, (%eax)
      	ret
      
      instead of:
      
      _test1:                                                     ## @test1
      	subl	$20, %esp
      	movl	24(%esp), %eax
      	movq	%mm0, (%esp)
      	movq	%mm0, 8(%esp)
      	movss	(%esp), %xmm0
      	addss	12(%esp), %xmm0
      	movss	%xmm0, (%eax)
      	addl	$20, %esp
      	ret
      
      v2f32 support did not work reliably because most of the X86
      backend didn't know it was legal.  It was apparently only added
      to support returning source-level v2f32 values in MMX registers
      in x86-32 mode.  If ABI compatibility is important on this
      GCC-extended-vector type for some reason, then the frontend
      should generate IR that returns v2i32 instead of v2f32.  However,
      we generally don't try very hard to be abi compatible on gcc
      extended vectors. 
      
      llvm-svn: 107601
      45cc4d74
    • Chris Lattner's avatar
      fix PR7518 - terrible codegen of <2 x float>, by only marking · 681b926d
      Chris Lattner authored
      v2f32 as legal in 32-bit mode.  It is just as terrible there,
      but I just care about x86-64 and noone claims it is valuable
      in 64-bit mode.
      
      llvm-svn: 107600
      681b926d
    • Chris Lattner's avatar
      indentation · cb948d33
      Chris Lattner authored
      llvm-svn: 107599
      cb948d33
  2. Jul 04, 2010
  3. Jul 03, 2010
  4. Jul 02, 2010
Loading