brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.9 KiB · b7c4762 Raw
83 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=aarch64-linux-gnu -mattr=+sve2p1 < %s | FileCheck %s3; RUN: llc -mtriple=aarch64-linux-gnu -mattr=+sme2 -force-streaming < %s | FileCheck %s4; RUN: llc -mtriple=aarch64-linux-gnu -mattr=+sme,+sve2p1 -force-streaming < %s | FileCheck %s5 6define i64 @test_svcntp_c8_vlx2(target("aarch64.svcount") %pn) nounwind {7; CHECK-LABEL: test_svcntp_c8_vlx2:8; CHECK:       // %bb.0:9; CHECK-NEXT:    cntp x0, pn0.b, vlx210; CHECK-NEXT:    ret11  %res = call i64 @llvm.aarch64.sve.cntp.c8(target("aarch64.svcount") %pn, i32 2)12  ret i64 %res13}14 15define i64 @test_svcntp_c8_vlx4(target("aarch64.svcount") %pn) nounwind {16; CHECK-LABEL: test_svcntp_c8_vlx4:17; CHECK:       // %bb.0:18; CHECK-NEXT:    cntp x0, pn0.b, vlx419; CHECK-NEXT:    ret20  %res = call i64 @llvm.aarch64.sve.cntp.c8(target("aarch64.svcount") %pn, i32 4)21  ret i64 %res22}23 24define i64 @test_svcntp_c16_vlx2(target("aarch64.svcount") %pn) nounwind {25; CHECK-LABEL: test_svcntp_c16_vlx2:26; CHECK:       // %bb.0:27; CHECK-NEXT:    cntp x0, pn0.h, vlx228; CHECK-NEXT:    ret29  %res = call i64 @llvm.aarch64.sve.cntp.c16(target("aarch64.svcount") %pn, i32 2)30  ret i64 %res31}32 33define i64 @test_svcntp_c16_vlx4(target("aarch64.svcount") %pn) nounwind {34; CHECK-LABEL: test_svcntp_c16_vlx4:35; CHECK:       // %bb.0:36; CHECK-NEXT:    cntp x0, pn0.h, vlx437; CHECK-NEXT:    ret38  %res = call i64 @llvm.aarch64.sve.cntp.c16(target("aarch64.svcount") %pn, i32 4)39  ret i64 %res40}41 42define i64 @test_svcntp_c32_vlx2(target("aarch64.svcount") %pn) nounwind {43; CHECK-LABEL: test_svcntp_c32_vlx2:44; CHECK:       // %bb.0:45; CHECK-NEXT:    cntp x0, pn0.s, vlx246; CHECK-NEXT:    ret47  %res = call i64 @llvm.aarch64.sve.cntp.c32(target("aarch64.svcount") %pn, i32 2)48  ret i64 %res49}50 51define i64 @test_svcntp_c32_vlx4(target("aarch64.svcount") %pn) nounwind {52; CHECK-LABEL: test_svcntp_c32_vlx4:53; CHECK:       // %bb.0:54; CHECK-NEXT:    cntp x0, pn0.s, vlx455; CHECK-NEXT:    ret56  %res = call i64 @llvm.aarch64.sve.cntp.c32(target("aarch64.svcount") %pn, i32 4)57  ret i64 %res58}59 60define i64 @test_svcntp_c64_vlx2(target("aarch64.svcount") %pn) nounwind {61; CHECK-LABEL: test_svcntp_c64_vlx2:62; CHECK:       // %bb.0:63; CHECK-NEXT:    cntp x0, pn0.d, vlx264; CHECK-NEXT:    ret65  %res = call i64 @llvm.aarch64.sve.cntp.c64(target("aarch64.svcount") %pn, i32 2)66  ret i64 %res67}68 69define i64 @test_svcntp_c64_vlx4(target("aarch64.svcount") %pn) nounwind {70; CHECK-LABEL: test_svcntp_c64_vlx4:71; CHECK:       // %bb.0:72; CHECK-NEXT:    cntp x0, pn0.d, vlx473; CHECK-NEXT:    ret74  %res = call i64 @llvm.aarch64.sve.cntp.c64(target("aarch64.svcount") %pn, i32 4)75  ret i64 %res76}77 78 79declare i64 @llvm.aarch64.sve.cntp.c8(target("aarch64.svcount"), i32)80declare i64 @llvm.aarch64.sve.cntp.c16(target("aarch64.svcount"), i32)81declare i64 @llvm.aarch64.sve.cntp.c32(target("aarch64.svcount"), i32)82declare i64 @llvm.aarch64.sve.cntp.c64(target("aarch64.svcount"), i32)83