xref: /llvm-project/llvm/test/CodeGen/SystemZ/vec-intrinsics-04.ll (revision 0c568c2535848d1596a612c15248f299ec8c42be)
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 2
2; Test vector intrinsics added with z16.
3;
4; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z16 | FileCheck %s
5
6declare <4 x float> @llvm.s390.vclfnhs(<8 x i16>, i32)
7declare <4 x float> @llvm.s390.vclfnls(<8 x i16>, i32)
8declare <8 x i16> @llvm.s390.vcrnfs(<4 x float>, <4 x float>, i32)
9declare <8 x i16> @llvm.s390.vcfn(<8 x i16>, i32)
10declare <8 x i16> @llvm.s390.vcnf(<8 x i16>, i32)
11
12; VCLFNH.
13define <4 x float> @test_vclfnhs(<8 x i16> %a) {
14; CHECK-LABEL: test_vclfnhs:
15; CHECK:       # %bb.0:
16; CHECK-NEXT:    vclfnh %v24, %v24, 2, 0
17; CHECK-NEXT:    br %r14
18  %res = call <4 x float> @llvm.s390.vclfnhs(<8 x i16> %a, i32 0)
19  ret <4 x float> %res
20}
21
22; VCLFNL.
23define <4 x float> @test_vclfnls(<8 x i16> %a) {
24; CHECK-LABEL: test_vclfnls:
25; CHECK:       # %bb.0:
26; CHECK-NEXT:    vclfnl %v24, %v24, 2, 0
27; CHECK-NEXT:    br %r14
28  %res = call <4 x float> @llvm.s390.vclfnls(<8 x i16> %a, i32 0)
29  ret <4 x float> %res
30}
31
32; VCRNF.
33define <8 x i16> @test_vcrnfs(<4 x float> %a, <4 x float> %b) {
34; CHECK-LABEL: test_vcrnfs:
35; CHECK:       # %bb.0:
36; CHECK-NEXT:    vcrnf %v24, %v24, %v26, 0, 2
37; CHECK-NEXT:    br %r14
38  %res = call <8 x i16> @llvm.s390.vcrnfs(<4 x float> %a, <4 x float> %b, i32 0)
39  ret <8 x i16> %res
40}
41
42; VCFN.
43define <8 x i16> @test_vcfn(<8 x i16> %a) {
44; CHECK-LABEL: test_vcfn:
45; CHECK:       # %bb.0:
46; CHECK-NEXT:    vcfn %v24, %v24, 1, 0
47; CHECK-NEXT:    br %r14
48  %res = call <8 x i16> @llvm.s390.vcfn(<8 x i16> %a, i32 0)
49  ret <8 x i16> %res
50}
51
52; VCNF.
53define <8 x i16> @test_vcnf(<8 x i16> %a) {
54; CHECK-LABEL: test_vcnf:
55; CHECK:       # %bb.0:
56; CHECK-NEXT:    vcnf %v24, %v24, 0, 1
57; CHECK-NEXT:    br %r14
58  %res = call <8 x i16> @llvm.s390.vcnf(<8 x i16> %a, i32 0)
59  ret <8 x i16> %res
60}
61