Skip to content
  1. Apr 15, 2006
  2. Apr 14, 2006
  3. Apr 13, 2006
  4. Apr 12, 2006
    • Evan Cheng's avatar
      All "integer" logical ops (pand, por, pxor) are now promoted to v2i64. · 92232307
      Evan Cheng authored
      Clean up and fix various logical ops issues.
      
      llvm-svn: 27633
      92232307
    • Evan Cheng's avatar
      Promote vector AND, OR, and XOR · 119266ea
      Evan Cheng authored
      llvm-svn: 27632
      119266ea
    • Reid Spencer's avatar
      Make sure CVS versions of yacc and lex files get distributed. · 7c8fef2c
      Reid Spencer authored
      llvm-svn: 27630
      7c8fef2c
    • Reid Spencer's avatar
      Get rid of a signed/unsigned compare warning. · 13a1a7a4
      Reid Spencer authored
      llvm-svn: 27625
      13a1a7a4
    • Chris Lattner's avatar
      Add a new way to match vector constants, which make it easier to bang bits of · 147e50e1
      Chris Lattner authored
      different types.
      
      Codegen spltw(0x7FFFFFFF) and spltw(0x80000000) without a constant pool load,
      implementing PowerPC/vec_constants.ll:test1.  This compiles:
      
      typedef float vf __attribute__ ((vector_size (16)));
      typedef int vi __attribute__ ((vector_size (16)));
      void test(vi *P1, vi *P2, vf *P3) {
        *P1 &= (vi){0x80000000,0x80000000,0x80000000,0x80000000};
        *P2 &= (vi){0x7FFFFFFF,0x7FFFFFFF,0x7FFFFFFF,0x7FFFFFFF};
        *P3 = vec_abs((vector float)*P3);
      }
      
      to:
      
      _test:
              mfspr r2, 256
              oris r6, r2, 49152
              mtspr 256, r6
              vspltisw v0, -1
              vslw v0, v0, v0
              lvx v1, 0, r3
              vand v1, v1, v0
              stvx v1, 0, r3
              lvx v1, 0, r4
              vandc v1, v1, v0
              stvx v1, 0, r4
              lvx v1, 0, r5
              vandc v0, v1, v0
              stvx v0, 0, r5
              mtspr 256, r2
              blr
      
      instead of (with two constant pool entries):
      
      _test:
              mfspr r2, 256
              oris r6, r2, 49152
              mtspr 256, r6
              li r6, lo16(LCPI1_0)
              lis r7, ha16(LCPI1_0)
              li r8, lo16(LCPI1_1)
              lis r9, ha16(LCPI1_1)
              lvx v0, r7, r6
              lvx v1, 0, r3
              vand v0, v1, v0
              stvx v0, 0, r3
              lvx v0, r9, r8
              lvx v1, 0, r4
              vand v1, v1, v0
              stvx v1, 0, r4
              lvx v1, 0, r5
              vand v0, v1, v0
              stvx v0, 0, r5
              mtspr 256, r2
              blr
      
      GCC produces (with 2 cp entries):
      
      _test:
              mfspr r0,256
              stw r0,-4(r1)
              oris r0,r0,0xc00c
              mtspr 256,r0
              lis r2,ha16(LC0)
              lis r9,ha16(LC1)
              la r2,lo16(LC0)(r2)
              lvx v0,0,r3
              lvx v1,0,r5
              la r9,lo16(LC1)(r9)
              lwz r12,-4(r1)
              lvx v12,0,r2
              lvx v13,0,r9
              vand v0,v0,v12
              stvx v0,0,r3
              vspltisw v0,-1
              vslw v12,v0,v0
              vandc v1,v1,v12
              stvx v1,0,r5
              lvx v0,0,r4
              vand v0,v0,v13
              stvx v0,0,r4
              mtspr 256,r12
              blr
      
      llvm-svn: 27624
      147e50e1
    • Chris Lattner's avatar
      Turn casts into getelementptr's when possible. This enables SROA to be more · b19a5c66
      Chris Lattner authored
      aggressive in some cases where LLVMGCC 4 is inserting casts for no reason.
      
      This implements InstCombine/cast.ll:test27/28.
      
      llvm-svn: 27620
      b19a5c66
    • Reid Spencer's avatar
      Don't emit useless warning messages. · 175d57c4
      Reid Spencer authored
      llvm-svn: 27617
      175d57c4
    • Chris Lattner's avatar
      Rename get_VSPLI_elt -> get_VSPLTI_elt · 74cf9ff7
      Chris Lattner authored
      Canonicalize BUILD_VECTOR's that match VSPLTI's into a single type for each
      form, eliminating a bunch of Pat patterns in the .td file and allowing us to
      CSE stuff more aggressively.  This implements
      PowerPC/buildvec_canonicalize.ll:VSPLTI
      
      llvm-svn: 27614
      74cf9ff7
    • Evan Cheng's avatar
      Promote v4i32, v8i16, v16i8 load to v2i64 load. · e2157c6e
      Evan Cheng authored
      llvm-svn: 27612
      e2157c6e
Loading