[all-commits] [llvm/llvm-project] fec474: [WebAssembly] Lower v2f32 to v2f64 extending loads...

Thomas Lively via All-commits all-commits at lists.llvm.org
Wed Sep 1 10:27:55 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: fec4749200e0068494d8a6cd80b5b6f91403cfbe
      https://github.com/llvm/llvm-project/commit/fec4749200e0068494d8a6cd80b5b6f91403cfbe
  Author: Thomas Lively <tlively at google.com>
  Date:   2021-09-01 (Wed, 01 Sep 2021)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
    A llvm/test/CodeGen/WebAssembly/simd-load-promote-wide.ll
    M llvm/test/CodeGen/WebAssembly/simd-offset.ll

  Log Message:
  -----------
  [WebAssembly] Lower v2f32 to v2f64 extending loads with promote_low

Previously extra wide v4f32 to v4f64 extending loads would be legalized to v2f32
to v2f64 extending loads, which would then be scalarized by legalization. (v2f32
to v2f64 extending loads not produced by legalization were already being emitted
correctly.) Instead, mark v2f32 to v2f64 extending loads as legal and explicitly
lower them using promote_low. This regresses the addressing modes supported for
the extloads not produced by legalization, but that's a fine trade off for now.

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




More information about the All-commits mailing list