Skip to content
  1. Jul 11, 2018
  2. Jul 09, 2018
  3. Jul 05, 2018
  4. Jul 04, 2018
  5. May 28, 2018
  6. May 24, 2018
    • Lei Huang's avatar
      [PowerPC] Remove the match pattern in the definition of LXSDX/STXSDX · f4ec6782
      Lei Huang authored
      The match pattern in the definition of LXSDX is xoaddr, so the Pseudo
      instruction XFLOADf64 never gets selected. XFLOADf64 expands to LXSDX/LFDX post
      RA based on the register pressure. To avoid ambiguity, we need to remove the
      select pattern for LXSDX, same as what was done for LXSD. STXSDX also have
      the same issue.
      
      Patch by Qing Shan Zhang (steven.zhang).
      
      Differential Revision: https://reviews.llvm.org/D47178
      
      llvm-svn: 333150
      f4ec6782
  7. May 23, 2018
  8. May 14, 2018
  9. May 08, 2018
  10. Apr 18, 2018
  11. Apr 12, 2018
  12. Apr 04, 2018
  13. Mar 26, 2018
  14. Mar 19, 2018
  15. Mar 12, 2018
  16. Feb 23, 2018
  17. Nov 27, 2017
  18. Nov 20, 2017
    • Tony Jiang's avatar
      [PPC] Heuristic to choose between a X-Form VSX ld/st vs a X-Form FP ld/st. · 438bf4a6
      Tony Jiang authored
      The VSX versions have the advantage of a full 64-register target whereas the FP
      ones have the advantage of lower latency and higher throughput. So what we’re
      after is using the faster instructions in low register pressure situations and
      using the larger register file in high register pressure situations.
      
      The heuristic chooses between the following 7 pairs of instructions.
      PPC::LXSSPX vs PPC::LFSX
      PPC::LXSDX vs PPC::LFDX
      PPC::STXSSPX vs PPC::STFSX
      PPC::STXSDX vs PPC::STFDX
      PPC::LXSIWAX vs PPC::LFIWAX
      PPC::LXSIWZX vs PPC::LFIWZX
      PPC::STXSIWX vs PPC::STFIWX
      
      Differential Revision: https://reviews.llvm.org/D38486
      
      llvm-svn: 318651
      438bf4a6
  19. Nov 07, 2017
  20. Sep 21, 2017
  21. Sep 05, 2017
  22. Aug 14, 2017
    • Lei Huang's avatar
      [PowerPC] Add codegen for VSX word extract convert to FP · 451ef4ad
      Lei Huang authored
      Add codegen for VSX word extract conversion from signed/unsigned to single/double
      precision.
      
      For UINT_TO_FP:
      Extract word unsigned and convert to float was implemented in https://reviews.llvm.org/D20239.
      Here we will add the missing extract integer and conversion to double. This
      utilizes the new P9 instruction xxextractuw to extracting an integer element
      when the result will be converted to double thereby saving 2 direct moves
      (VSR <-> GPR).
      
      For SINT_TO_FP:
      We will implement the following sequence which will also reduce the number of
      instructions by saving 2 direct moves.
      
      v4i32->f32:
              xxspltw
              xvcvsxwsp
              xscvspdpn
      
      v4i32->f64:
              xxspltw
              xvcvsxwdp
      
      Differential Revision: https://reviews.llvm.org/D35859
      
      llvm-svn: 310866
      451ef4ad
  23. Jul 13, 2017
  24. Jul 05, 2017
  25. Jun 12, 2017
    • Tony Jiang's avatar
      [PowerPC] Match vec_revb builtins to P9 instructions. · 1a8eec14
      Tony Jiang authored
      Power9 has instructions that will reverse the bytes within an element for all
      sizes (half-word, word, double-word and quad-word). These can be used for the
      vec_revb builtins in altivec.h. However, we implement these to match vector
      shuffle nodes as that will cover both the builtins and vector shuffles that
      occur in the SDAG through other means.
      
      Differential Revision: https://reviews.llvm.org/D33690
      
      llvm-svn: 305214
      1a8eec14
  26. Jun 08, 2017
    • Zaara Syeda's avatar
      [Power9] Exploit vector integer extend instructions · 79acbbe5
      Zaara Syeda authored
      This patch adds build vector patterns to exploit the vector integer
      extend instructions:
      vextsb2w - Vector Extend Sign Byte To Word
      vextsb2d - Vector Extend Sign Byte To Doubleword
      vextsh2w - Vector Extend Sign Halfword To Word
      vextsh2d - Vector Extend Sign Halfword To Doubleword
      vextsw2d - Vector Extend Sign Word To Doubleword
      
      Differential Revision: https://reviews.llvm.org/D33510
      
      llvm-svn: 304992
      79acbbe5
  27. May 31, 2017
  28. May 29, 2017
    • Hiroshi Inoue's avatar
      [PPC] Fix assertion failure during binary encoding with -mcpu=pwr9 · e3c14ebb
      Hiroshi Inoue authored
      Summary
      clang -c -mcpu=pwr9 test/CodeGen/PowerPC/build-vector-tests.ll causes an assertion failure during the binary encoding.
      The failure occurs when a D-form load instruction takes two register operands instead of a register + an immediate.
      
      This patch fixes the problem and also adds an assertion to catch this failure earlier before the binary encoding (i.e. during lit test).
      The fix is from Nemanja Ivanovic @nemanjai.
      
      Differential Revision: https://reviews.llvm.org/D33482
      
      llvm-svn: 304133
      e3c14ebb
Loading