[all-commits] [llvm/llvm-project] 85157c: [WebAssembly] Codegen for pmin and pmax

Thomas Lively via All-commits all-commits at lists.llvm.org
Fri Jul 23 14:49:38 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 85157c0079031b51c0446b222894aec4aad71b53
      https://github.com/llvm/llvm-project/commit/85157c0079031b51c0446b222894aec4aad71b53
  Author: Thomas Lively <tlively at google.com>
  Date:   2021-07-23 (Fri, 23 Jul 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-arith.ll
    M llvm/test/CodeGen/WebAssembly/simd-intrinsics.ll

  Log Message:
  -----------
  [WebAssembly] Codegen for pmin and pmax

Replace the clang builtins and LLVM intrinsics for {f32x4,f64x2}.{pmin,pmax}
with standard codegen patterns. Since wasm_simd128.h uses an integer vector as
the standard single vector type, the IR for the pmin and pmax intrinsic
functions contains bitcasts that would not be there otherwise. Add extra codegen
patterns that can still select the pmin and pmax instructions in the presence of
these bitcasts.

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




More information about the All-commits mailing list