[all-commits] [llvm/llvm-project] 88962c: [WebAssembly] Restore builtins and intrinsics for ...

Thomas Lively via All-commits all-commits at lists.llvm.org
Fri Aug 20 09:21:48 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 88962cea46805dbcc60524f7107030c986833052
      https://github.com/llvm/llvm-project/commit/88962cea46805dbcc60524f7107030c986833052
  Author: Thomas Lively <tlively at google.com>
  Date:   2021-08-20 (Fri, 20 Aug 2021)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsWebAssembly.def
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Headers/wasm_simd128.h
    M clang/test/CodeGen/builtins-wasm.c
    M clang/test/Headers/wasm.c
    M llvm/include/llvm/IR/IntrinsicsWebAssembly.td
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
    M llvm/test/CodeGen/WebAssembly/simd-intrinsics.ll

  Log Message:
  -----------
  [WebAssembly] Restore builtins and intrinsics for pmin/pmax

Partially reverts 85157c007903, which had removed these builtins and intrinsics
in favor of normal codegen patterns. It turns out that it is possible for the
patterns to be split over multiple basic blocks, however, which means that DAG
ISel is not able to select them to the pmin/pmax instructions. To make sure the
SIMD intrinsics generate the correct instructions in these cases, reintroduce
the clang builtins and corresponding LLVM intrinsics, but also keep the normal
pattern matching as well.

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




More information about the All-commits mailing list