llvm-project/llvm/test/Transforms/Scalarizer/ignore-scalable-vectors.ll
Nicolai Hähnle 1a78c64654 Scalarizer: explicitly exclude scalable vectors
They are unsupported and would previously crash, now we just skip them.

Hypothetically, one could consider "scalarizing" a <vscale x n x T> into
n copies of <vscale x 1 x T>. But (1) it's unclear how to do that
because insertelement etc. don't work with scalable vectors in the
required way, and (2) there is no user of such functionality.

Differential Revision: https://reviews.llvm.org/D139358
2022-12-08 20:48:14 +01:00

12 lines
423 B
LLVM

; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
; RUN: opt %s -passes=scalarizer -S -o - | FileCheck %s
define <vscale x 1 x i32> @test1(<vscale x 1 x i32> %a, <vscale x 1 x i32> %b) {
; CHECK-LABEL: @test1(
; CHECK-NEXT: [[R:%.*]] = add <vscale x 1 x i32> [[A:%.*]], [[B:%.*]]
; CHECK-NEXT: ret <vscale x 1 x i32> [[R]]
;
%r = add <vscale x 1 x i32> %a, %b
ret <vscale x 1 x i32> %r
}