[all-commits] [llvm/llvm-project] 5ba931: [Mips] Add intrinsics for 4-byte and 8-byte MSA lo...

Mirko BrkuĊĦanin via All-commits all-commits at lists.llvm.org
Tue Feb 11 02:53:40 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 5ba931a84a3466aebab5d6dde3525e7a27c40c28
      https://github.com/llvm/llvm-project/commit/5ba931a84a3466aebab5d6dde3525e7a27c40c28
  Author: Mirko Brkusanin <Mirko.Brkusanin at rt-rk.com>
  Date:   2020-02-11 (Tue, 11 Feb 2020)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsMips.def
    M clang/lib/Headers/msa.h
    M clang/lib/Sema/SemaChecking.cpp
    M llvm/include/llvm/IR/IntrinsicsMips.td
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.h
    M llvm/lib/Target/Mips/MipsMSAInstrInfo.td
    M llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp
    A llvm/test/CodeGen/Mips/msa/ldr_str.ll

  Log Message:
  -----------
  [Mips] Add intrinsics for 4-byte and 8-byte MSA loads/stores.

New intrinisics are implemented for when we need to port SIMD code from other
arhitectures and only load or store portions of MSA registers.

Following intriniscs are added which only load/store element 0 of a vector:
v4i32 __builtin_msa_ldrq_w (const void *, imm_n2048_2044);
v2i64 __builtin_msa_ldr_d (const void *, imm_n4096_4088);
void __builtin_msa_strq_w (v4i32, void *, imm_n2048_2044);
void __builtin_msa_str_d (v2i64, void *, imm_n4096_4088);

Differential Revision: https://reviews.llvm.org/D73644




More information about the All-commits mailing list