Skip to content
  • Nate Begeman's avatar
    Teach LLVM how to scalarize packed types. Currently, this only works on · b2e089c3
    Nate Begeman authored
    packed types with an element count of 1, although more generic support is
    coming.  This allows LLVM to turn the following code:
    
    void %foo(<1 x float> * %a) {
    entry:
      %tmp1 = load <1 x float> * %a;
      %tmp2 = add <1 x float> %tmp1, %tmp1
      store <1 x float> %tmp2, <1 x float> *%a
      ret void
    }
    
    Into:
    
    _foo:
            lfs f0, 0(r3)
            fadds f0, f0, f0
            stfs f0, 0(r3)
            blr
    
    llvm-svn: 24416
    b2e089c3
Loading