Revert " [LoongArch][ISel] Check the number of sign bits in `PatGprGpr_32` (#107432)"
[llvm-project.git] / llvm / test / CodeGen / SystemZ / vec-intrinsics-04.ll
blob423346e9bd43a93915c047f37c3fbff17c663a96
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 2
2 ; Test vector intrinsics added with z16.
4 ; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z16 | FileCheck %s
6 declare <4 x float> @llvm.s390.vclfnhs(<8 x i16>, i32)
7 declare <4 x float> @llvm.s390.vclfnls(<8 x i16>, i32)
8 declare <8 x i16> @llvm.s390.vcrnfs(<4 x float>, <4 x float>, i32)
9 declare <8 x i16> @llvm.s390.vcfn(<8 x i16>, i32)
10 declare <8 x i16> @llvm.s390.vcnf(<8 x i16>, i32)
12 ; VCLFNH.
13 define <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
22 ; VCLFNL.
23 define <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
32 ; VCRNF.
33 define <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
42 ; VCFN.
43 define <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
52 ; VCNF.
53 define <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