[all-commits] [llvm/llvm-project] e3b49d: [MIPS GlobalISel] Select MSA vector generic and bu...

petar-avramovic via All-commits all-commits at lists.llvm.org
Thu Oct 24 04:46:41 PDT 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: e3b49df50e4f463f1b0bed5a0a476eafafd1d426
      https://github.com/llvm/llvm-project/commit/e3b49df50e4f463f1b0bed5a0a476eafafd1d426
  Author: Petar Avramovic <Petar.Avramovic at rt-rk.com>
  Date:   2019-10-24 (Thu, 24 Oct 2019)

  Changed paths:
    M llvm/lib/Target/Mips/MipsLegalizerInfo.cpp
    M llvm/lib/Target/Mips/MipsRegisterBankInfo.cpp
    A llvm/test/CodeGen/Mips/GlobalISel/instruction-select/fabs_vec.mir
    A llvm/test/CodeGen/Mips/GlobalISel/legalizer/fabs_vec.mir
    A llvm/test/CodeGen/Mips/GlobalISel/legalizer/fabs_vec_builtin.mir
    A llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/fabs_vec.ll
    A llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/fabs_vec_builtin.ll
    A llvm/test/CodeGen/Mips/GlobalISel/regbankselect/fabs_vec.mir

  Log Message:
  -----------
  [MIPS GlobalISel] Select MSA vector generic and builtin fabs

selectImpl is able to select G_FABS when we set bank for vector
operands to fprb. Add detailed tests.
Note: G_FABS is generated from llvm-ir intrinsics llvm.fabs.*,
and at the moment MIPS is not able to generate this intrinsic for
vector type (some targets generate vector llvm.fabs.* from calls
to a builtin function).
We can handle fabs using __builtin_msa_fmax_a_<format> and passing
same vector as both arguments. __builtin_msa_fmax_a_<format> will
be directly selected into FMAX_A_<format> in legalizeIntrinsic.

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




More information about the All-commits mailing list