xref: /llvm-project/llvm/test/Bitcode/upgrade-vector-reverse-intrinsic.ll (revision bfc0317153dca75137fba00b5c28758d6f720963)
1; RUN: opt -S < %s | FileCheck %s
2; RUN: llvm-as %s -o - | llvm-dis | FileCheck %s
3
4define <16 x i8> @reverse_fixed(<16 x i8> %a) {
5; CHECK-LABEL: @reverse_fixed
6; CHECK: %res = call <16 x i8> @llvm.vector.reverse.v16i8(<16 x i8> %a)
7
8  %res = call <16 x i8> @llvm.experimental.vector.reverse.v16i8(<16 x i8> %a)
9  ret <16 x i8> %res
10}
11
12define <vscale x 16 x i8> @reverse_scalable(<vscale x 16 x i8> %a) {
13; CHECK-LABEL: @reverse_scalable
14; CHECK: %res = call <vscale x 16 x i8> @llvm.vector.reverse.nxv16i8(<vscale x 16 x i8> %a)
15
16  %res = call <vscale x 16 x i8> @llvm.experimental.vector.reverse.nxv16i8(<vscale x 16 x i8> %a)
17  ret <vscale x 16 x i8> %res
18}
19
20declare <16 x i8> @llvm.experimental.vector.reverse.v16i8(<16 x i8>)
21; CHECK: declare <16 x i8> @llvm.vector.reverse.v16i8(<16 x i8>)
22
23declare <vscale x 16 x i8> @llvm.experimental.vector.reverse.nxv16i8(<vscale x 16 x i8>)
24; CHECK: declare <vscale x 16 x i8> @llvm.vector.reverse.nxv16i8(<vscale x 16 x i8>)
25