[all-commits] [llvm/llvm-project] c07a01: Revert "[AArch64] Select SMULL for zero extended v...

Florian Hahn via All-commits all-commits at lists.llvm.org
Thu Dec 8 02:29:26 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c07a01c2bb0d1f95689f809fd5be23829e364393
      https://github.com/llvm/llvm-project/commit/c07a01c2bb0d1f95689f809fd5be23829e364393
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2022-12-08 (Thu, 08 Dec 2022)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/aarch64-smull.ll

  Log Message:
  -----------
  Revert "[AArch64] Select SMULL for zero extended vectors when top bit is zero"

This reverts commit f9e0390751cb5eefbbbc191f851c52422acacab1.

The patch causes a crash for the IR below:

target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
target triple = "arm64-apple-macosx"

define void @test(ptr %data, <8 x i16> %v) {
entry:
  %0 = sext <8 x i16> %v to <8 x i32>
  %1 = mul <8 x i32> %0, <i32 35584, i32 35584, i32 35584, i32 35584, i32 35584, i32 35584, i32 35584, i32 35584>
  %2 = lshr <8 x i32> %1, <i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1>
  %3 = trunc <8 x i32> %2 to <8 x i16>
  store <8 x i16> %3, ptr %data, align 2
  ret void
}




More information about the All-commits mailing list