diff --git a/llvm/lib/Target/VE/LLVMBuild.txt b/llvm/lib/Target/VE/LLVMBuild.txt deleted file mode 100644 index fe1de675fd6a..000000000000 --- a/llvm/lib/Target/VE/LLVMBuild.txt +++ /dev/null @@ -1,35 +0,0 @@ -;===- ./lib/Target/VE/LLVMBuild.txt ----------------------------*- Conf -*--===; -; -; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -; See https://llvm.org/LICENSE.txt for license information. -; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -; -;===------------------------------------------------------------------------===; -; -; This is an LLVMBuild description file for the components in this subdirectory. -; -; For more information on the LLVMBuild system, please see: -; -; http://llvm.org/docs/LLVMBuild.html -; -;===------------------------------------------------------------------------===; - -[common] -subdirectories = AsmParser Disassembler MCTargetDesc TargetInfo - -[component_0] -type = TargetGroup -name = VE -parent = Target -has_asmparser = 1 -has_asmprinter = 1 -has_disassembler = 1 -has_jit = 1 - -[component_1] -type = Library -name = VECodeGen -parent = VE -required_libraries = Analysis AsmPrinter CodeGen Core MC SelectionDAG - VEDesc VEInfo Support Target -add_to_library_groups = VE diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-andm_MMM.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-andm_MMM.ll deleted file mode 100644 index e184f2721ac9..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-andm_MMM.ll +++ /dev/null @@ -1,104 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/andm_MMM.c' -source_filename = "gen/tests/andm_MMM.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nofree nounwind -define dso_local void @andm_MMM(i64* nocapture %0, i64* nocapture readonly %1, i64* nocapture readonly %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: andm %vm2, %vm2, %vm4 -; CHECK: andm %vm3, %vm3, %vm5 - %5 = load i64, i64* %1, align 8, !tbaa !2 - %6 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> undef, i64 0, i64 %5) - %7 = load i64, i64* %2, align 8, !tbaa !2 - %8 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> undef, i64 0, i64 %7) - %9 = getelementptr inbounds i64, i64* %1, i64 1 - %10 = load i64, i64* %9, align 8, !tbaa !2 - %11 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %6, i64 1, i64 %10) - %12 = getelementptr inbounds i64, i64* %2, i64 1 - %13 = load i64, i64* %12, align 8, !tbaa !2 - %14 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %8, i64 1, i64 %13) - %15 = getelementptr inbounds i64, i64* %1, i64 2 - %16 = load i64, i64* %15, align 8, !tbaa !2 - %17 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %11, i64 2, i64 %16) - %18 = getelementptr inbounds i64, i64* %2, i64 2 - %19 = load i64, i64* %18, align 8, !tbaa !2 - %20 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %14, i64 2, i64 %19) - %21 = getelementptr inbounds i64, i64* %1, i64 3 - %22 = load i64, i64* %21, align 8, !tbaa !2 - %23 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %17, i64 3, i64 %22) - %24 = getelementptr inbounds i64, i64* %2, i64 3 - %25 = load i64, i64* %24, align 8, !tbaa !2 - %26 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %20, i64 3, i64 %25) - %27 = getelementptr inbounds i64, i64* %1, i64 4 - %28 = load i64, i64* %27, align 8, !tbaa !2 - %29 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %23, i64 4, i64 %28) - %30 = getelementptr inbounds i64, i64* %2, i64 4 - %31 = load i64, i64* %30, align 8, !tbaa !2 - %32 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %26, i64 4, i64 %31) - %33 = getelementptr inbounds i64, i64* %1, i64 5 - %34 = load i64, i64* %33, align 8, !tbaa !2 - %35 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %29, i64 5, i64 %34) - %36 = getelementptr inbounds i64, i64* %2, i64 5 - %37 = load i64, i64* %36, align 8, !tbaa !2 - %38 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %32, i64 5, i64 %37) - %39 = getelementptr inbounds i64, i64* %1, i64 6 - %40 = load i64, i64* %39, align 8, !tbaa !2 - %41 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %35, i64 6, i64 %40) - %42 = getelementptr inbounds i64, i64* %2, i64 6 - %43 = load i64, i64* %42, align 8, !tbaa !2 - %44 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %38, i64 6, i64 %43) - %45 = getelementptr inbounds i64, i64* %1, i64 7 - %46 = load i64, i64* %45, align 8, !tbaa !2 - %47 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %41, i64 7, i64 %46) - %48 = getelementptr inbounds i64, i64* %2, i64 7 - %49 = load i64, i64* %48, align 8, !tbaa !2 - %50 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %44, i64 7, i64 %49) - %51 = tail call <512 x i1> @llvm.ve.vl.andm.MMM(<512 x i1> %47, <512 x i1> %50) - %52 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %51, i64 0) - store i64 %52, i64* %0, align 8, !tbaa !2 - %53 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %51, i64 1) - %54 = getelementptr inbounds i64, i64* %0, i64 1 - store i64 %53, i64* %54, align 8, !tbaa !2 - %55 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %51, i64 2) - %56 = getelementptr inbounds i64, i64* %0, i64 2 - store i64 %55, i64* %56, align 8, !tbaa !2 - %57 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %51, i64 3) - %58 = getelementptr inbounds i64, i64* %0, i64 3 - store i64 %57, i64* %58, align 8, !tbaa !2 - %59 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %51, i64 4) - %60 = getelementptr inbounds i64, i64* %0, i64 4 - store i64 %59, i64* %60, align 8, !tbaa !2 - %61 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %51, i64 5) - %62 = getelementptr inbounds i64, i64* %0, i64 5 - store i64 %61, i64* %62, align 8, !tbaa !2 - %63 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %51, i64 6) - %64 = getelementptr inbounds i64, i64* %0, i64 6 - store i64 %63, i64* %64, align 8, !tbaa !2 - %65 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %51, i64 7) - %66 = getelementptr inbounds i64, i64* %0, i64 7 - store i64 %65, i64* %66, align 8, !tbaa !2 - ret void -} - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1>, i64, i64) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.andm.MMM(<512 x i1>, <512 x i1>) #1 - -; Function Attrs: nounwind readnone -declare i64 @llvm.ve.vl.svm.sMs(<512 x i1>, i64) #1 - -attributes #0 = { nofree nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readnone } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} -!2 = !{!3, !3, i64 0} -!3 = !{!"long", !4, i64 0} -!4 = !{!"omnipotent char", !5, i64 0} -!5 = !{!"Simple C/C++ TBAA"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-andm_mmm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-andm_mmm.ll deleted file mode 100644 index d8c056f9b6fe..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-andm_mmm.ll +++ /dev/null @@ -1,67 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/andm_mmm.c' -source_filename = "gen/tests/andm_mmm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nofree nounwind -define dso_local void @andm_mmm(i64* nocapture %0, i64* nocapture readonly %1, i64* nocapture readonly %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: andm %vm1, %vm1, %vm2 - %5 = load i64, i64* %1, align 8, !tbaa !2 - %6 = tail call <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1> undef, i64 0, i64 %5) - %7 = load i64, i64* %2, align 8, !tbaa !2 - %8 = tail call <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1> undef, i64 0, i64 %7) - %9 = getelementptr inbounds i64, i64* %1, i64 1 - %10 = load i64, i64* %9, align 8, !tbaa !2 - %11 = tail call <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1> %6, i64 1, i64 %10) - %12 = getelementptr inbounds i64, i64* %2, i64 1 - %13 = load i64, i64* %12, align 8, !tbaa !2 - %14 = tail call <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1> %8, i64 1, i64 %13) - %15 = getelementptr inbounds i64, i64* %1, i64 2 - %16 = load i64, i64* %15, align 8, !tbaa !2 - %17 = tail call <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1> %11, i64 2, i64 %16) - %18 = getelementptr inbounds i64, i64* %2, i64 2 - %19 = load i64, i64* %18, align 8, !tbaa !2 - %20 = tail call <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1> %14, i64 2, i64 %19) - %21 = getelementptr inbounds i64, i64* %1, i64 3 - %22 = load i64, i64* %21, align 8, !tbaa !2 - %23 = tail call <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1> %17, i64 3, i64 %22) - %24 = getelementptr inbounds i64, i64* %2, i64 3 - %25 = load i64, i64* %24, align 8, !tbaa !2 - %26 = tail call <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1> %20, i64 3, i64 %25) - %27 = tail call <256 x i1> @llvm.ve.vl.andm.mmm(<256 x i1> %23, <256 x i1> %26) - %28 = tail call i64 @llvm.ve.vl.svm.sms(<256 x i1> %27, i64 0) - store i64 %28, i64* %0, align 8, !tbaa !2 - %29 = tail call i64 @llvm.ve.vl.svm.sms(<256 x i1> %27, i64 1) - %30 = getelementptr inbounds i64, i64* %0, i64 1 - store i64 %29, i64* %30, align 8, !tbaa !2 - %31 = tail call i64 @llvm.ve.vl.svm.sms(<256 x i1> %27, i64 2) - %32 = getelementptr inbounds i64, i64* %0, i64 2 - store i64 %31, i64* %32, align 8, !tbaa !2 - %33 = tail call i64 @llvm.ve.vl.svm.sms(<256 x i1> %27, i64 3) - %34 = getelementptr inbounds i64, i64* %0, i64 3 - store i64 %33, i64* %34, align 8, !tbaa !2 - ret void -} - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1>, i64, i64) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.andm.mmm(<256 x i1>, <256 x i1>) #1 - -; Function Attrs: nounwind readnone -declare i64 @llvm.ve.vl.svm.sms(<256 x i1>, i64) #1 - -attributes #0 = { nofree nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readnone } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} -!2 = !{!3, !3, i64 0} -!3 = !{!"long", !4, i64 0} -!4 = !{!"omnipotent char", !5, i64 0} -!5 = !{!"Simple C/C++ TBAA"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-eqvm_MMM.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-eqvm_MMM.ll deleted file mode 100644 index 4eee12eb4168..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-eqvm_MMM.ll +++ /dev/null @@ -1,104 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/eqvm_MMM.c' -source_filename = "gen/tests/eqvm_MMM.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nofree nounwind -define dso_local void @eqvm_MMM(i64* nocapture %0, i64* nocapture readonly %1, i64* nocapture readonly %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: eqvm %vm2, %vm2, %vm4 -; CHECK: eqvm %vm3, %vm3, %vm5 - %5 = load i64, i64* %1, align 8, !tbaa !2 - %6 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> undef, i64 0, i64 %5) - %7 = load i64, i64* %2, align 8, !tbaa !2 - %8 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> undef, i64 0, i64 %7) - %9 = getelementptr inbounds i64, i64* %1, i64 1 - %10 = load i64, i64* %9, align 8, !tbaa !2 - %11 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %6, i64 1, i64 %10) - %12 = getelementptr inbounds i64, i64* %2, i64 1 - %13 = load i64, i64* %12, align 8, !tbaa !2 - %14 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %8, i64 1, i64 %13) - %15 = getelementptr inbounds i64, i64* %1, i64 2 - %16 = load i64, i64* %15, align 8, !tbaa !2 - %17 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %11, i64 2, i64 %16) - %18 = getelementptr inbounds i64, i64* %2, i64 2 - %19 = load i64, i64* %18, align 8, !tbaa !2 - %20 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %14, i64 2, i64 %19) - %21 = getelementptr inbounds i64, i64* %1, i64 3 - %22 = load i64, i64* %21, align 8, !tbaa !2 - %23 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %17, i64 3, i64 %22) - %24 = getelementptr inbounds i64, i64* %2, i64 3 - %25 = load i64, i64* %24, align 8, !tbaa !2 - %26 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %20, i64 3, i64 %25) - %27 = getelementptr inbounds i64, i64* %1, i64 4 - %28 = load i64, i64* %27, align 8, !tbaa !2 - %29 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %23, i64 4, i64 %28) - %30 = getelementptr inbounds i64, i64* %2, i64 4 - %31 = load i64, i64* %30, align 8, !tbaa !2 - %32 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %26, i64 4, i64 %31) - %33 = getelementptr inbounds i64, i64* %1, i64 5 - %34 = load i64, i64* %33, align 8, !tbaa !2 - %35 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %29, i64 5, i64 %34) - %36 = getelementptr inbounds i64, i64* %2, i64 5 - %37 = load i64, i64* %36, align 8, !tbaa !2 - %38 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %32, i64 5, i64 %37) - %39 = getelementptr inbounds i64, i64* %1, i64 6 - %40 = load i64, i64* %39, align 8, !tbaa !2 - %41 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %35, i64 6, i64 %40) - %42 = getelementptr inbounds i64, i64* %2, i64 6 - %43 = load i64, i64* %42, align 8, !tbaa !2 - %44 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %38, i64 6, i64 %43) - %45 = getelementptr inbounds i64, i64* %1, i64 7 - %46 = load i64, i64* %45, align 8, !tbaa !2 - %47 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %41, i64 7, i64 %46) - %48 = getelementptr inbounds i64, i64* %2, i64 7 - %49 = load i64, i64* %48, align 8, !tbaa !2 - %50 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %44, i64 7, i64 %49) - %51 = tail call <512 x i1> @llvm.ve.vl.eqvm.MMM(<512 x i1> %47, <512 x i1> %50) - %52 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %51, i64 0) - store i64 %52, i64* %0, align 8, !tbaa !2 - %53 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %51, i64 1) - %54 = getelementptr inbounds i64, i64* %0, i64 1 - store i64 %53, i64* %54, align 8, !tbaa !2 - %55 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %51, i64 2) - %56 = getelementptr inbounds i64, i64* %0, i64 2 - store i64 %55, i64* %56, align 8, !tbaa !2 - %57 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %51, i64 3) - %58 = getelementptr inbounds i64, i64* %0, i64 3 - store i64 %57, i64* %58, align 8, !tbaa !2 - %59 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %51, i64 4) - %60 = getelementptr inbounds i64, i64* %0, i64 4 - store i64 %59, i64* %60, align 8, !tbaa !2 - %61 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %51, i64 5) - %62 = getelementptr inbounds i64, i64* %0, i64 5 - store i64 %61, i64* %62, align 8, !tbaa !2 - %63 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %51, i64 6) - %64 = getelementptr inbounds i64, i64* %0, i64 6 - store i64 %63, i64* %64, align 8, !tbaa !2 - %65 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %51, i64 7) - %66 = getelementptr inbounds i64, i64* %0, i64 7 - store i64 %65, i64* %66, align 8, !tbaa !2 - ret void -} - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1>, i64, i64) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.eqvm.MMM(<512 x i1>, <512 x i1>) #1 - -; Function Attrs: nounwind readnone -declare i64 @llvm.ve.vl.svm.sMs(<512 x i1>, i64) #1 - -attributes #0 = { nofree nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readnone } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} -!2 = !{!3, !3, i64 0} -!3 = !{!"long", !4, i64 0} -!4 = !{!"omnipotent char", !5, i64 0} -!5 = !{!"Simple C/C++ TBAA"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-eqvm_mmm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-eqvm_mmm.ll deleted file mode 100644 index 9e4469552268..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-eqvm_mmm.ll +++ /dev/null @@ -1,67 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/eqvm_mmm.c' -source_filename = "gen/tests/eqvm_mmm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nofree nounwind -define dso_local void @eqvm_mmm(i64* nocapture %0, i64* nocapture readonly %1, i64* nocapture readonly %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: eqvm %vm1, %vm1, %vm2 - %5 = load i64, i64* %1, align 8, !tbaa !2 - %6 = tail call <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1> undef, i64 0, i64 %5) - %7 = load i64, i64* %2, align 8, !tbaa !2 - %8 = tail call <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1> undef, i64 0, i64 %7) - %9 = getelementptr inbounds i64, i64* %1, i64 1 - %10 = load i64, i64* %9, align 8, !tbaa !2 - %11 = tail call <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1> %6, i64 1, i64 %10) - %12 = getelementptr inbounds i64, i64* %2, i64 1 - %13 = load i64, i64* %12, align 8, !tbaa !2 - %14 = tail call <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1> %8, i64 1, i64 %13) - %15 = getelementptr inbounds i64, i64* %1, i64 2 - %16 = load i64, i64* %15, align 8, !tbaa !2 - %17 = tail call <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1> %11, i64 2, i64 %16) - %18 = getelementptr inbounds i64, i64* %2, i64 2 - %19 = load i64, i64* %18, align 8, !tbaa !2 - %20 = tail call <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1> %14, i64 2, i64 %19) - %21 = getelementptr inbounds i64, i64* %1, i64 3 - %22 = load i64, i64* %21, align 8, !tbaa !2 - %23 = tail call <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1> %17, i64 3, i64 %22) - %24 = getelementptr inbounds i64, i64* %2, i64 3 - %25 = load i64, i64* %24, align 8, !tbaa !2 - %26 = tail call <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1> %20, i64 3, i64 %25) - %27 = tail call <256 x i1> @llvm.ve.vl.eqvm.mmm(<256 x i1> %23, <256 x i1> %26) - %28 = tail call i64 @llvm.ve.vl.svm.sms(<256 x i1> %27, i64 0) - store i64 %28, i64* %0, align 8, !tbaa !2 - %29 = tail call i64 @llvm.ve.vl.svm.sms(<256 x i1> %27, i64 1) - %30 = getelementptr inbounds i64, i64* %0, i64 1 - store i64 %29, i64* %30, align 8, !tbaa !2 - %31 = tail call i64 @llvm.ve.vl.svm.sms(<256 x i1> %27, i64 2) - %32 = getelementptr inbounds i64, i64* %0, i64 2 - store i64 %31, i64* %32, align 8, !tbaa !2 - %33 = tail call i64 @llvm.ve.vl.svm.sms(<256 x i1> %27, i64 3) - %34 = getelementptr inbounds i64, i64* %0, i64 3 - store i64 %33, i64* %34, align 8, !tbaa !2 - ret void -} - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1>, i64, i64) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.eqvm.mmm(<256 x i1>, <256 x i1>) #1 - -; Function Attrs: nounwind readnone -declare i64 @llvm.ve.vl.svm.sms(<256 x i1>, i64) #1 - -attributes #0 = { nofree nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readnone } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} -!2 = !{!3, !3, i64 0} -!3 = !{!"long", !4, i64 0} -!4 = !{!"omnipotent char", !5, i64 0} -!5 = !{!"Simple C/C++ TBAA"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-negm_MM.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-negm_MM.ll deleted file mode 100644 index 038de5e770c7..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-negm_MM.ll +++ /dev/null @@ -1,81 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/negm_MM.c' -source_filename = "gen/tests/negm_MM.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nofree nounwind -define dso_local void @negm_MM(i64* nocapture %0, i64* nocapture readonly %1, i64* nocapture readnone %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: negm %vm2, %vm2 -; CHECK: negm %vm3, %vm3 - %5 = load i64, i64* %1, align 8, !tbaa !2 - %6 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> undef, i64 0, i64 %5) - %7 = getelementptr inbounds i64, i64* %1, i64 1 - %8 = load i64, i64* %7, align 8, !tbaa !2 - %9 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %6, i64 1, i64 %8) - %10 = getelementptr inbounds i64, i64* %1, i64 2 - %11 = load i64, i64* %10, align 8, !tbaa !2 - %12 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %9, i64 2, i64 %11) - %13 = getelementptr inbounds i64, i64* %1, i64 3 - %14 = load i64, i64* %13, align 8, !tbaa !2 - %15 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %12, i64 3, i64 %14) - %16 = getelementptr inbounds i64, i64* %1, i64 4 - %17 = load i64, i64* %16, align 8, !tbaa !2 - %18 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %15, i64 4, i64 %17) - %19 = getelementptr inbounds i64, i64* %1, i64 5 - %20 = load i64, i64* %19, align 8, !tbaa !2 - %21 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %18, i64 5, i64 %20) - %22 = getelementptr inbounds i64, i64* %1, i64 6 - %23 = load i64, i64* %22, align 8, !tbaa !2 - %24 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %21, i64 6, i64 %23) - %25 = getelementptr inbounds i64, i64* %1, i64 7 - %26 = load i64, i64* %25, align 8, !tbaa !2 - %27 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %24, i64 7, i64 %26) - %28 = tail call <512 x i1> @llvm.ve.vl.negm.MM(<512 x i1> %27) - %29 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %28, i64 0) - store i64 %29, i64* %0, align 8, !tbaa !2 - %30 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %28, i64 1) - %31 = getelementptr inbounds i64, i64* %0, i64 1 - store i64 %30, i64* %31, align 8, !tbaa !2 - %32 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %28, i64 2) - %33 = getelementptr inbounds i64, i64* %0, i64 2 - store i64 %32, i64* %33, align 8, !tbaa !2 - %34 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %28, i64 3) - %35 = getelementptr inbounds i64, i64* %0, i64 3 - store i64 %34, i64* %35, align 8, !tbaa !2 - %36 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %28, i64 4) - %37 = getelementptr inbounds i64, i64* %0, i64 4 - store i64 %36, i64* %37, align 8, !tbaa !2 - %38 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %28, i64 5) - %39 = getelementptr inbounds i64, i64* %0, i64 5 - store i64 %38, i64* %39, align 8, !tbaa !2 - %40 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %28, i64 6) - %41 = getelementptr inbounds i64, i64* %0, i64 6 - store i64 %40, i64* %41, align 8, !tbaa !2 - %42 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %28, i64 7) - %43 = getelementptr inbounds i64, i64* %0, i64 7 - store i64 %42, i64* %43, align 8, !tbaa !2 - ret void -} - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1>, i64, i64) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.negm.MM(<512 x i1>) #1 - -; Function Attrs: nounwind readnone -declare i64 @llvm.ve.vl.svm.sMs(<512 x i1>, i64) #1 - -attributes #0 = { nofree nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readnone } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} -!2 = !{!3, !3, i64 0} -!3 = !{!"long", !4, i64 0} -!4 = !{!"omnipotent char", !5, i64 0} -!5 = !{!"Simple C/C++ TBAA"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-negm_mm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-negm_mm.ll deleted file mode 100644 index 20618db402f3..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-negm_mm.ll +++ /dev/null @@ -1,56 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/negm_mm.c' -source_filename = "gen/tests/negm_mm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nofree nounwind -define dso_local void @negm_mm(i64* nocapture %0, i64* nocapture readonly %1, i64* nocapture readnone %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: negm %vm1, %vm1 - %5 = load i64, i64* %1, align 8, !tbaa !2 - %6 = tail call <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1> undef, i64 0, i64 %5) - %7 = getelementptr inbounds i64, i64* %1, i64 1 - %8 = load i64, i64* %7, align 8, !tbaa !2 - %9 = tail call <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1> %6, i64 1, i64 %8) - %10 = getelementptr inbounds i64, i64* %1, i64 2 - %11 = load i64, i64* %10, align 8, !tbaa !2 - %12 = tail call <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1> %9, i64 2, i64 %11) - %13 = getelementptr inbounds i64, i64* %1, i64 3 - %14 = load i64, i64* %13, align 8, !tbaa !2 - %15 = tail call <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1> %12, i64 3, i64 %14) - %16 = tail call <256 x i1> @llvm.ve.vl.negm.mm(<256 x i1> %15) - %17 = tail call i64 @llvm.ve.vl.svm.sms(<256 x i1> %16, i64 0) - store i64 %17, i64* %0, align 8, !tbaa !2 - %18 = tail call i64 @llvm.ve.vl.svm.sms(<256 x i1> %16, i64 1) - %19 = getelementptr inbounds i64, i64* %0, i64 1 - store i64 %18, i64* %19, align 8, !tbaa !2 - %20 = tail call i64 @llvm.ve.vl.svm.sms(<256 x i1> %16, i64 2) - %21 = getelementptr inbounds i64, i64* %0, i64 2 - store i64 %20, i64* %21, align 8, !tbaa !2 - %22 = tail call i64 @llvm.ve.vl.svm.sms(<256 x i1> %16, i64 3) - %23 = getelementptr inbounds i64, i64* %0, i64 3 - store i64 %22, i64* %23, align 8, !tbaa !2 - ret void -} - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1>, i64, i64) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.negm.mm(<256 x i1>) #1 - -; Function Attrs: nounwind readnone -declare i64 @llvm.ve.vl.svm.sms(<256 x i1>, i64) #1 - -attributes #0 = { nofree nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readnone } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} -!2 = !{!3, !3, i64 0} -!3 = !{!"long", !4, i64 0} -!4 = !{!"omnipotent char", !5, i64 0} -!5 = !{!"Simple C/C++ TBAA"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-nndm_MMM.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-nndm_MMM.ll deleted file mode 100644 index e718ce8e81c0..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-nndm_MMM.ll +++ /dev/null @@ -1,104 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/nndm_MMM.c' -source_filename = "gen/tests/nndm_MMM.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nofree nounwind -define dso_local void @nndm_MMM(i64* nocapture %0, i64* nocapture readonly %1, i64* nocapture readonly %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: nndm %vm2, %vm2, %vm4 -; CHECK: nndm %vm3, %vm3, %vm5 - %5 = load i64, i64* %1, align 8, !tbaa !2 - %6 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> undef, i64 0, i64 %5) - %7 = load i64, i64* %2, align 8, !tbaa !2 - %8 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> undef, i64 0, i64 %7) - %9 = getelementptr inbounds i64, i64* %1, i64 1 - %10 = load i64, i64* %9, align 8, !tbaa !2 - %11 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %6, i64 1, i64 %10) - %12 = getelementptr inbounds i64, i64* %2, i64 1 - %13 = load i64, i64* %12, align 8, !tbaa !2 - %14 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %8, i64 1, i64 %13) - %15 = getelementptr inbounds i64, i64* %1, i64 2 - %16 = load i64, i64* %15, align 8, !tbaa !2 - %17 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %11, i64 2, i64 %16) - %18 = getelementptr inbounds i64, i64* %2, i64 2 - %19 = load i64, i64* %18, align 8, !tbaa !2 - %20 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %14, i64 2, i64 %19) - %21 = getelementptr inbounds i64, i64* %1, i64 3 - %22 = load i64, i64* %21, align 8, !tbaa !2 - %23 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %17, i64 3, i64 %22) - %24 = getelementptr inbounds i64, i64* %2, i64 3 - %25 = load i64, i64* %24, align 8, !tbaa !2 - %26 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %20, i64 3, i64 %25) - %27 = getelementptr inbounds i64, i64* %1, i64 4 - %28 = load i64, i64* %27, align 8, !tbaa !2 - %29 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %23, i64 4, i64 %28) - %30 = getelementptr inbounds i64, i64* %2, i64 4 - %31 = load i64, i64* %30, align 8, !tbaa !2 - %32 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %26, i64 4, i64 %31) - %33 = getelementptr inbounds i64, i64* %1, i64 5 - %34 = load i64, i64* %33, align 8, !tbaa !2 - %35 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %29, i64 5, i64 %34) - %36 = getelementptr inbounds i64, i64* %2, i64 5 - %37 = load i64, i64* %36, align 8, !tbaa !2 - %38 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %32, i64 5, i64 %37) - %39 = getelementptr inbounds i64, i64* %1, i64 6 - %40 = load i64, i64* %39, align 8, !tbaa !2 - %41 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %35, i64 6, i64 %40) - %42 = getelementptr inbounds i64, i64* %2, i64 6 - %43 = load i64, i64* %42, align 8, !tbaa !2 - %44 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %38, i64 6, i64 %43) - %45 = getelementptr inbounds i64, i64* %1, i64 7 - %46 = load i64, i64* %45, align 8, !tbaa !2 - %47 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %41, i64 7, i64 %46) - %48 = getelementptr inbounds i64, i64* %2, i64 7 - %49 = load i64, i64* %48, align 8, !tbaa !2 - %50 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %44, i64 7, i64 %49) - %51 = tail call <512 x i1> @llvm.ve.vl.nndm.MMM(<512 x i1> %47, <512 x i1> %50) - %52 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %51, i64 0) - store i64 %52, i64* %0, align 8, !tbaa !2 - %53 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %51, i64 1) - %54 = getelementptr inbounds i64, i64* %0, i64 1 - store i64 %53, i64* %54, align 8, !tbaa !2 - %55 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %51, i64 2) - %56 = getelementptr inbounds i64, i64* %0, i64 2 - store i64 %55, i64* %56, align 8, !tbaa !2 - %57 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %51, i64 3) - %58 = getelementptr inbounds i64, i64* %0, i64 3 - store i64 %57, i64* %58, align 8, !tbaa !2 - %59 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %51, i64 4) - %60 = getelementptr inbounds i64, i64* %0, i64 4 - store i64 %59, i64* %60, align 8, !tbaa !2 - %61 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %51, i64 5) - %62 = getelementptr inbounds i64, i64* %0, i64 5 - store i64 %61, i64* %62, align 8, !tbaa !2 - %63 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %51, i64 6) - %64 = getelementptr inbounds i64, i64* %0, i64 6 - store i64 %63, i64* %64, align 8, !tbaa !2 - %65 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %51, i64 7) - %66 = getelementptr inbounds i64, i64* %0, i64 7 - store i64 %65, i64* %66, align 8, !tbaa !2 - ret void -} - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1>, i64, i64) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.nndm.MMM(<512 x i1>, <512 x i1>) #1 - -; Function Attrs: nounwind readnone -declare i64 @llvm.ve.vl.svm.sMs(<512 x i1>, i64) #1 - -attributes #0 = { nofree nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readnone } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} -!2 = !{!3, !3, i64 0} -!3 = !{!"long", !4, i64 0} -!4 = !{!"omnipotent char", !5, i64 0} -!5 = !{!"Simple C/C++ TBAA"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-nndm_mmm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-nndm_mmm.ll deleted file mode 100644 index 52d34a62dba7..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-nndm_mmm.ll +++ /dev/null @@ -1,67 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/nndm_mmm.c' -source_filename = "gen/tests/nndm_mmm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nofree nounwind -define dso_local void @nndm_mmm(i64* nocapture %0, i64* nocapture readonly %1, i64* nocapture readonly %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: nndm %vm1, %vm1, %vm2 - %5 = load i64, i64* %1, align 8, !tbaa !2 - %6 = tail call <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1> undef, i64 0, i64 %5) - %7 = load i64, i64* %2, align 8, !tbaa !2 - %8 = tail call <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1> undef, i64 0, i64 %7) - %9 = getelementptr inbounds i64, i64* %1, i64 1 - %10 = load i64, i64* %9, align 8, !tbaa !2 - %11 = tail call <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1> %6, i64 1, i64 %10) - %12 = getelementptr inbounds i64, i64* %2, i64 1 - %13 = load i64, i64* %12, align 8, !tbaa !2 - %14 = tail call <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1> %8, i64 1, i64 %13) - %15 = getelementptr inbounds i64, i64* %1, i64 2 - %16 = load i64, i64* %15, align 8, !tbaa !2 - %17 = tail call <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1> %11, i64 2, i64 %16) - %18 = getelementptr inbounds i64, i64* %2, i64 2 - %19 = load i64, i64* %18, align 8, !tbaa !2 - %20 = tail call <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1> %14, i64 2, i64 %19) - %21 = getelementptr inbounds i64, i64* %1, i64 3 - %22 = load i64, i64* %21, align 8, !tbaa !2 - %23 = tail call <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1> %17, i64 3, i64 %22) - %24 = getelementptr inbounds i64, i64* %2, i64 3 - %25 = load i64, i64* %24, align 8, !tbaa !2 - %26 = tail call <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1> %20, i64 3, i64 %25) - %27 = tail call <256 x i1> @llvm.ve.vl.nndm.mmm(<256 x i1> %23, <256 x i1> %26) - %28 = tail call i64 @llvm.ve.vl.svm.sms(<256 x i1> %27, i64 0) - store i64 %28, i64* %0, align 8, !tbaa !2 - %29 = tail call i64 @llvm.ve.vl.svm.sms(<256 x i1> %27, i64 1) - %30 = getelementptr inbounds i64, i64* %0, i64 1 - store i64 %29, i64* %30, align 8, !tbaa !2 - %31 = tail call i64 @llvm.ve.vl.svm.sms(<256 x i1> %27, i64 2) - %32 = getelementptr inbounds i64, i64* %0, i64 2 - store i64 %31, i64* %32, align 8, !tbaa !2 - %33 = tail call i64 @llvm.ve.vl.svm.sms(<256 x i1> %27, i64 3) - %34 = getelementptr inbounds i64, i64* %0, i64 3 - store i64 %33, i64* %34, align 8, !tbaa !2 - ret void -} - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1>, i64, i64) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.nndm.mmm(<256 x i1>, <256 x i1>) #1 - -; Function Attrs: nounwind readnone -declare i64 @llvm.ve.vl.svm.sms(<256 x i1>, i64) #1 - -attributes #0 = { nofree nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readnone } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} -!2 = !{!3, !3, i64 0} -!3 = !{!"long", !4, i64 0} -!4 = !{!"omnipotent char", !5, i64 0} -!5 = !{!"Simple C/C++ TBAA"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-orm_MMM.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-orm_MMM.ll deleted file mode 100644 index 912d6f9269ff..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-orm_MMM.ll +++ /dev/null @@ -1,104 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/orm_MMM.c' -source_filename = "gen/tests/orm_MMM.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nofree nounwind -define dso_local void @orm_MMM(i64* nocapture %0, i64* nocapture readonly %1, i64* nocapture readonly %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: orm %vm2, %vm2, %vm4 -; CHECK: orm %vm3, %vm3, %vm5 - %5 = load i64, i64* %1, align 8, !tbaa !2 - %6 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> undef, i64 0, i64 %5) - %7 = load i64, i64* %2, align 8, !tbaa !2 - %8 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> undef, i64 0, i64 %7) - %9 = getelementptr inbounds i64, i64* %1, i64 1 - %10 = load i64, i64* %9, align 8, !tbaa !2 - %11 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %6, i64 1, i64 %10) - %12 = getelementptr inbounds i64, i64* %2, i64 1 - %13 = load i64, i64* %12, align 8, !tbaa !2 - %14 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %8, i64 1, i64 %13) - %15 = getelementptr inbounds i64, i64* %1, i64 2 - %16 = load i64, i64* %15, align 8, !tbaa !2 - %17 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %11, i64 2, i64 %16) - %18 = getelementptr inbounds i64, i64* %2, i64 2 - %19 = load i64, i64* %18, align 8, !tbaa !2 - %20 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %14, i64 2, i64 %19) - %21 = getelementptr inbounds i64, i64* %1, i64 3 - %22 = load i64, i64* %21, align 8, !tbaa !2 - %23 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %17, i64 3, i64 %22) - %24 = getelementptr inbounds i64, i64* %2, i64 3 - %25 = load i64, i64* %24, align 8, !tbaa !2 - %26 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %20, i64 3, i64 %25) - %27 = getelementptr inbounds i64, i64* %1, i64 4 - %28 = load i64, i64* %27, align 8, !tbaa !2 - %29 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %23, i64 4, i64 %28) - %30 = getelementptr inbounds i64, i64* %2, i64 4 - %31 = load i64, i64* %30, align 8, !tbaa !2 - %32 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %26, i64 4, i64 %31) - %33 = getelementptr inbounds i64, i64* %1, i64 5 - %34 = load i64, i64* %33, align 8, !tbaa !2 - %35 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %29, i64 5, i64 %34) - %36 = getelementptr inbounds i64, i64* %2, i64 5 - %37 = load i64, i64* %36, align 8, !tbaa !2 - %38 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %32, i64 5, i64 %37) - %39 = getelementptr inbounds i64, i64* %1, i64 6 - %40 = load i64, i64* %39, align 8, !tbaa !2 - %41 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %35, i64 6, i64 %40) - %42 = getelementptr inbounds i64, i64* %2, i64 6 - %43 = load i64, i64* %42, align 8, !tbaa !2 - %44 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %38, i64 6, i64 %43) - %45 = getelementptr inbounds i64, i64* %1, i64 7 - %46 = load i64, i64* %45, align 8, !tbaa !2 - %47 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %41, i64 7, i64 %46) - %48 = getelementptr inbounds i64, i64* %2, i64 7 - %49 = load i64, i64* %48, align 8, !tbaa !2 - %50 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %44, i64 7, i64 %49) - %51 = tail call <512 x i1> @llvm.ve.vl.orm.MMM(<512 x i1> %47, <512 x i1> %50) - %52 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %51, i64 0) - store i64 %52, i64* %0, align 8, !tbaa !2 - %53 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %51, i64 1) - %54 = getelementptr inbounds i64, i64* %0, i64 1 - store i64 %53, i64* %54, align 8, !tbaa !2 - %55 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %51, i64 2) - %56 = getelementptr inbounds i64, i64* %0, i64 2 - store i64 %55, i64* %56, align 8, !tbaa !2 - %57 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %51, i64 3) - %58 = getelementptr inbounds i64, i64* %0, i64 3 - store i64 %57, i64* %58, align 8, !tbaa !2 - %59 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %51, i64 4) - %60 = getelementptr inbounds i64, i64* %0, i64 4 - store i64 %59, i64* %60, align 8, !tbaa !2 - %61 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %51, i64 5) - %62 = getelementptr inbounds i64, i64* %0, i64 5 - store i64 %61, i64* %62, align 8, !tbaa !2 - %63 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %51, i64 6) - %64 = getelementptr inbounds i64, i64* %0, i64 6 - store i64 %63, i64* %64, align 8, !tbaa !2 - %65 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %51, i64 7) - %66 = getelementptr inbounds i64, i64* %0, i64 7 - store i64 %65, i64* %66, align 8, !tbaa !2 - ret void -} - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1>, i64, i64) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.orm.MMM(<512 x i1>, <512 x i1>) #1 - -; Function Attrs: nounwind readnone -declare i64 @llvm.ve.vl.svm.sMs(<512 x i1>, i64) #1 - -attributes #0 = { nofree nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readnone } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} -!2 = !{!3, !3, i64 0} -!3 = !{!"long", !4, i64 0} -!4 = !{!"omnipotent char", !5, i64 0} -!5 = !{!"Simple C/C++ TBAA"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-orm_mmm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-orm_mmm.ll deleted file mode 100644 index c4aea8169f45..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-orm_mmm.ll +++ /dev/null @@ -1,67 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/orm_mmm.c' -source_filename = "gen/tests/orm_mmm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nofree nounwind -define dso_local void @orm_mmm(i64* nocapture %0, i64* nocapture readonly %1, i64* nocapture readonly %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: orm %vm1, %vm1, %vm2 - %5 = load i64, i64* %1, align 8, !tbaa !2 - %6 = tail call <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1> undef, i64 0, i64 %5) - %7 = load i64, i64* %2, align 8, !tbaa !2 - %8 = tail call <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1> undef, i64 0, i64 %7) - %9 = getelementptr inbounds i64, i64* %1, i64 1 - %10 = load i64, i64* %9, align 8, !tbaa !2 - %11 = tail call <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1> %6, i64 1, i64 %10) - %12 = getelementptr inbounds i64, i64* %2, i64 1 - %13 = load i64, i64* %12, align 8, !tbaa !2 - %14 = tail call <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1> %8, i64 1, i64 %13) - %15 = getelementptr inbounds i64, i64* %1, i64 2 - %16 = load i64, i64* %15, align 8, !tbaa !2 - %17 = tail call <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1> %11, i64 2, i64 %16) - %18 = getelementptr inbounds i64, i64* %2, i64 2 - %19 = load i64, i64* %18, align 8, !tbaa !2 - %20 = tail call <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1> %14, i64 2, i64 %19) - %21 = getelementptr inbounds i64, i64* %1, i64 3 - %22 = load i64, i64* %21, align 8, !tbaa !2 - %23 = tail call <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1> %17, i64 3, i64 %22) - %24 = getelementptr inbounds i64, i64* %2, i64 3 - %25 = load i64, i64* %24, align 8, !tbaa !2 - %26 = tail call <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1> %20, i64 3, i64 %25) - %27 = tail call <256 x i1> @llvm.ve.vl.orm.mmm(<256 x i1> %23, <256 x i1> %26) - %28 = tail call i64 @llvm.ve.vl.svm.sms(<256 x i1> %27, i64 0) - store i64 %28, i64* %0, align 8, !tbaa !2 - %29 = tail call i64 @llvm.ve.vl.svm.sms(<256 x i1> %27, i64 1) - %30 = getelementptr inbounds i64, i64* %0, i64 1 - store i64 %29, i64* %30, align 8, !tbaa !2 - %31 = tail call i64 @llvm.ve.vl.svm.sms(<256 x i1> %27, i64 2) - %32 = getelementptr inbounds i64, i64* %0, i64 2 - store i64 %31, i64* %32, align 8, !tbaa !2 - %33 = tail call i64 @llvm.ve.vl.svm.sms(<256 x i1> %27, i64 3) - %34 = getelementptr inbounds i64, i64* %0, i64 3 - store i64 %33, i64* %34, align 8, !tbaa !2 - ret void -} - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1>, i64, i64) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.orm.mmm(<256 x i1>, <256 x i1>) #1 - -; Function Attrs: nounwind readnone -declare i64 @llvm.ve.vl.svm.sms(<256 x i1>, i64) #1 - -attributes #0 = { nofree nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readnone } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} -!2 = !{!3, !3, i64 0} -!3 = !{!"long", !4, i64 0} -!4 = !{!"omnipotent char", !5, i64 0} -!5 = !{!"Simple C/C++ TBAA"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvadds_vsvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvadds_vsvMvl.ll deleted file mode 100644 index 694a340f3c03..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvadds_vsvMvl.ll +++ /dev/null @@ -1,66 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvadds_vsvMvl.c' -source_filename = "gen/tests/pvadds_vsvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvadds_vsvMvl(i32* %0, i64 %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: pvadds %v2, %s1, %v0, %vm2 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %28, %9 ], [ %0, %6 ] - %11 = phi i32* [ %29, %9 ], [ %2, %6 ] - %12 = phi i32* [ %30, %9 ], [ %3, %6 ] - %13 = phi i32* [ %31, %9 ], [ %4, %6 ] - %14 = phi i32 [ %32, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 512 - %17 = ashr i32 %15, 1 - %18 = select i1 %16, i32 %17, i32 256 - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast i32* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %22, i32 %18) - %24 = bitcast i32* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %18) - %26 = bitcast i32* %10 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.pvadds.vsvMvl(i64 %1, <256 x double> %20, <512 x i1> %23, <256 x double> %25, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %27, i64 8, i8* %26, i32 %18) - %28 = getelementptr inbounds i32, i32* %10, i64 512 - %29 = getelementptr inbounds i32, i32* %11, i64 512 - %30 = getelementptr inbounds i32, i32* %12, i64 512 - %31 = getelementptr inbounds i32, i32* %13, i64 512 - %32 = add nuw nsw i32 %14, 512 - %33 = icmp slt i32 %32, %5 - br i1 %33, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvadds.vsvMvl(i64, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvadds_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvadds_vsvl.ll deleted file mode 100644 index df8e6ccf7b10..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvadds_vsvl.ll +++ /dev/null @@ -1,54 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvadds_vsvl.c' -source_filename = "gen/tests/pvadds_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvadds_vsvl(i32* %0, i64 %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: pvadds %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %19, %7 ], [ %0, %4 ] - %9 = phi i32* [ %20, %7 ], [ %2, %4 ] - %10 = phi i32 [ %21, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 512 - %13 = ashr i32 %11, 1 - %14 = select i1 %12, i32 %13, i32 256 - %15 = bitcast i32* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = tail call <256 x double> @llvm.ve.vl.pvadds.vsvl(i64 %1, <256 x double> %16, i32 %14) - %18 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %17, i64 8, i8* %18, i32 %14) - %19 = getelementptr inbounds i32, i32* %8, i64 512 - %20 = getelementptr inbounds i32, i32* %9, i64 512 - %21 = add nuw nsw i32 %10, 512 - %22 = icmp slt i32 %21, %3 - br i1 %22, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvadds.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvadds_vvvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvadds_vvvMvl.ll deleted file mode 100644 index 3e937dd6b562..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvadds_vvvMvl.ll +++ /dev/null @@ -1,70 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvadds_vvvMvl.c' -source_filename = "gen/tests/pvadds_vvvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvadds_vvvMvl(i32* %0, i32* %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: pvadds %v3, %v0, %v1, %vm2 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %31, %9 ], [ %0, %6 ] - %11 = phi i32* [ %32, %9 ], [ %1, %6 ] - %12 = phi i32* [ %33, %9 ], [ %2, %6 ] - %13 = phi i32* [ %34, %9 ], [ %3, %6 ] - %14 = phi i32* [ %35, %9 ], [ %4, %6 ] - %15 = phi i32 [ %36, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 512 - %18 = ashr i32 %16, 1 - %19 = select i1 %17, i32 %18, i32 256 - %20 = bitcast i32* %11 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %20, i32 %19) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %19) - %24 = bitcast i32* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %19) - %26 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %25, i32 %19) - %27 = bitcast i32* %14 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %27, i32 %19) - %29 = bitcast i32* %10 to i8* - %30 = tail call <256 x double> @llvm.ve.vl.pvadds.vvvMvl(<256 x double> %21, <256 x double> %23, <512 x i1> %26, <256 x double> %28, i32 %19) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %30, i64 8, i8* %29, i32 %19) - %31 = getelementptr inbounds i32, i32* %10, i64 512 - %32 = getelementptr inbounds i32, i32* %11, i64 512 - %33 = getelementptr inbounds i32, i32* %12, i64 512 - %34 = getelementptr inbounds i32, i32* %13, i64 512 - %35 = getelementptr inbounds i32, i32* %14, i64 512 - %36 = add nuw nsw i32 %15, 512 - %37 = icmp slt i32 %36, %5 - br i1 %37, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvadds.vvvMvl(<256 x double>, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvadds_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvadds_vvvl.ll deleted file mode 100644 index a5bf407fd2e0..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvadds_vvvl.ll +++ /dev/null @@ -1,58 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvadds_vvvl.c' -source_filename = "gen/tests/pvadds_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvadds_vvvl(i32* %0, i32* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: pvadds %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %22, %7 ], [ %0, %4 ] - %9 = phi i32* [ %23, %7 ], [ %1, %4 ] - %10 = phi i32* [ %24, %7 ], [ %2, %4 ] - %11 = phi i32 [ %25, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 512 - %14 = ashr i32 %12, 1 - %15 = select i1 %13, i32 %14, i32 256 - %16 = bitcast i32* %9 to i8* - %17 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %16, i32 %15) - %18 = bitcast i32* %10 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %15) - %20 = tail call <256 x double> @llvm.ve.vl.pvadds.vvvl(<256 x double> %17, <256 x double> %19, i32 %15) - %21 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %20, i64 8, i8* %21, i32 %15) - %22 = getelementptr inbounds i32, i32* %8, i64 512 - %23 = getelementptr inbounds i32, i32* %9, i64 512 - %24 = getelementptr inbounds i32, i32* %10, i64 512 - %25 = add nuw nsw i32 %11, 512 - %26 = icmp slt i32 %25, %3 - br i1 %26, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvadds.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvaddu_vsvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvaddu_vsvMvl.ll deleted file mode 100644 index 82121afd3e38..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvaddu_vsvMvl.ll +++ /dev/null @@ -1,66 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvaddu_vsvMvl.c' -source_filename = "gen/tests/pvaddu_vsvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvaddu_vsvMvl(i32* %0, i64 %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: pvaddu %v2, %s1, %v0, %vm2 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %28, %9 ], [ %0, %6 ] - %11 = phi i32* [ %29, %9 ], [ %2, %6 ] - %12 = phi i32* [ %30, %9 ], [ %3, %6 ] - %13 = phi i32* [ %31, %9 ], [ %4, %6 ] - %14 = phi i32 [ %32, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 512 - %17 = ashr i32 %15, 1 - %18 = select i1 %16, i32 %17, i32 256 - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast i32* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %22, i32 %18) - %24 = bitcast i32* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %18) - %26 = bitcast i32* %10 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.pvaddu.vsvMvl(i64 %1, <256 x double> %20, <512 x i1> %23, <256 x double> %25, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %27, i64 8, i8* %26, i32 %18) - %28 = getelementptr inbounds i32, i32* %10, i64 512 - %29 = getelementptr inbounds i32, i32* %11, i64 512 - %30 = getelementptr inbounds i32, i32* %12, i64 512 - %31 = getelementptr inbounds i32, i32* %13, i64 512 - %32 = add nuw nsw i32 %14, 512 - %33 = icmp slt i32 %32, %5 - br i1 %33, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvaddu.vsvMvl(i64, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvaddu_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvaddu_vsvl.ll deleted file mode 100644 index f350f204891a..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvaddu_vsvl.ll +++ /dev/null @@ -1,54 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvaddu_vsvl.c' -source_filename = "gen/tests/pvaddu_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvaddu_vsvl(i32* %0, i64 %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: pvaddu %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %19, %7 ], [ %0, %4 ] - %9 = phi i32* [ %20, %7 ], [ %2, %4 ] - %10 = phi i32 [ %21, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 512 - %13 = ashr i32 %11, 1 - %14 = select i1 %12, i32 %13, i32 256 - %15 = bitcast i32* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = tail call <256 x double> @llvm.ve.vl.pvaddu.vsvl(i64 %1, <256 x double> %16, i32 %14) - %18 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %17, i64 8, i8* %18, i32 %14) - %19 = getelementptr inbounds i32, i32* %8, i64 512 - %20 = getelementptr inbounds i32, i32* %9, i64 512 - %21 = add nuw nsw i32 %10, 512 - %22 = icmp slt i32 %21, %3 - br i1 %22, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvaddu.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvaddu_vvvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvaddu_vvvMvl.ll deleted file mode 100644 index 462906a10c35..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvaddu_vvvMvl.ll +++ /dev/null @@ -1,70 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvaddu_vvvMvl.c' -source_filename = "gen/tests/pvaddu_vvvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvaddu_vvvMvl(i32* %0, i32* %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: pvaddu %v3, %v0, %v1, %vm2 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %31, %9 ], [ %0, %6 ] - %11 = phi i32* [ %32, %9 ], [ %1, %6 ] - %12 = phi i32* [ %33, %9 ], [ %2, %6 ] - %13 = phi i32* [ %34, %9 ], [ %3, %6 ] - %14 = phi i32* [ %35, %9 ], [ %4, %6 ] - %15 = phi i32 [ %36, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 512 - %18 = ashr i32 %16, 1 - %19 = select i1 %17, i32 %18, i32 256 - %20 = bitcast i32* %11 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %20, i32 %19) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %19) - %24 = bitcast i32* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %19) - %26 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %25, i32 %19) - %27 = bitcast i32* %14 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %27, i32 %19) - %29 = bitcast i32* %10 to i8* - %30 = tail call <256 x double> @llvm.ve.vl.pvaddu.vvvMvl(<256 x double> %21, <256 x double> %23, <512 x i1> %26, <256 x double> %28, i32 %19) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %30, i64 8, i8* %29, i32 %19) - %31 = getelementptr inbounds i32, i32* %10, i64 512 - %32 = getelementptr inbounds i32, i32* %11, i64 512 - %33 = getelementptr inbounds i32, i32* %12, i64 512 - %34 = getelementptr inbounds i32, i32* %13, i64 512 - %35 = getelementptr inbounds i32, i32* %14, i64 512 - %36 = add nuw nsw i32 %15, 512 - %37 = icmp slt i32 %36, %5 - br i1 %37, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvaddu.vvvMvl(<256 x double>, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvaddu_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvaddu_vvvl.ll deleted file mode 100644 index 32d4b3ef3edd..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvaddu_vvvl.ll +++ /dev/null @@ -1,58 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvaddu_vvvl.c' -source_filename = "gen/tests/pvaddu_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvaddu_vvvl(i32* %0, i32* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: pvaddu %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %22, %7 ], [ %0, %4 ] - %9 = phi i32* [ %23, %7 ], [ %1, %4 ] - %10 = phi i32* [ %24, %7 ], [ %2, %4 ] - %11 = phi i32 [ %25, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 512 - %14 = ashr i32 %12, 1 - %15 = select i1 %13, i32 %14, i32 256 - %16 = bitcast i32* %9 to i8* - %17 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %16, i32 %15) - %18 = bitcast i32* %10 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %15) - %20 = tail call <256 x double> @llvm.ve.vl.pvaddu.vvvl(<256 x double> %17, <256 x double> %19, i32 %15) - %21 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %20, i64 8, i8* %21, i32 %15) - %22 = getelementptr inbounds i32, i32* %8, i64 512 - %23 = getelementptr inbounds i32, i32* %9, i64 512 - %24 = getelementptr inbounds i32, i32* %10, i64 512 - %25 = add nuw nsw i32 %11, 512 - %26 = icmp slt i32 %25, %3 - br i1 %26, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvaddu.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvand_vsvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvand_vsvMvl.ll deleted file mode 100644 index 71e742c91612..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvand_vsvMvl.ll +++ /dev/null @@ -1,66 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvand_vsvMvl.c' -source_filename = "gen/tests/pvand_vsvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvand_vsvMvl(i32* %0, i64 %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: pvand %v2, %s1, %v0, %vm2 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %28, %9 ], [ %0, %6 ] - %11 = phi i32* [ %29, %9 ], [ %2, %6 ] - %12 = phi i32* [ %30, %9 ], [ %3, %6 ] - %13 = phi i32* [ %31, %9 ], [ %4, %6 ] - %14 = phi i32 [ %32, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 512 - %17 = ashr i32 %15, 1 - %18 = select i1 %16, i32 %17, i32 256 - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast i32* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %22, i32 %18) - %24 = bitcast i32* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %18) - %26 = bitcast i32* %10 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.pvand.vsvMvl(i64 %1, <256 x double> %20, <512 x i1> %23, <256 x double> %25, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %27, i64 8, i8* %26, i32 %18) - %28 = getelementptr inbounds i32, i32* %10, i64 512 - %29 = getelementptr inbounds i32, i32* %11, i64 512 - %30 = getelementptr inbounds i32, i32* %12, i64 512 - %31 = getelementptr inbounds i32, i32* %13, i64 512 - %32 = add nuw nsw i32 %14, 512 - %33 = icmp slt i32 %32, %5 - br i1 %33, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvand.vsvMvl(i64, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvand_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvand_vsvl.ll deleted file mode 100644 index 0b3190e55d38..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvand_vsvl.ll +++ /dev/null @@ -1,54 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvand_vsvl.c' -source_filename = "gen/tests/pvand_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvand_vsvl(i32* %0, i64 %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: pvand %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %19, %7 ], [ %0, %4 ] - %9 = phi i32* [ %20, %7 ], [ %2, %4 ] - %10 = phi i32 [ %21, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 512 - %13 = ashr i32 %11, 1 - %14 = select i1 %12, i32 %13, i32 256 - %15 = bitcast i32* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = tail call <256 x double> @llvm.ve.vl.pvand.vsvl(i64 %1, <256 x double> %16, i32 %14) - %18 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %17, i64 8, i8* %18, i32 %14) - %19 = getelementptr inbounds i32, i32* %8, i64 512 - %20 = getelementptr inbounds i32, i32* %9, i64 512 - %21 = add nuw nsw i32 %10, 512 - %22 = icmp slt i32 %21, %3 - br i1 %22, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvand.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvand_vvvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvand_vvvMvl.ll deleted file mode 100644 index dd95f4d73205..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvand_vvvMvl.ll +++ /dev/null @@ -1,70 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvand_vvvMvl.c' -source_filename = "gen/tests/pvand_vvvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvand_vvvMvl(i32* %0, i32* %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: pvand %v3, %v0, %v1, %vm2 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %31, %9 ], [ %0, %6 ] - %11 = phi i32* [ %32, %9 ], [ %1, %6 ] - %12 = phi i32* [ %33, %9 ], [ %2, %6 ] - %13 = phi i32* [ %34, %9 ], [ %3, %6 ] - %14 = phi i32* [ %35, %9 ], [ %4, %6 ] - %15 = phi i32 [ %36, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 512 - %18 = ashr i32 %16, 1 - %19 = select i1 %17, i32 %18, i32 256 - %20 = bitcast i32* %11 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %20, i32 %19) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %19) - %24 = bitcast i32* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %19) - %26 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %25, i32 %19) - %27 = bitcast i32* %14 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %27, i32 %19) - %29 = bitcast i32* %10 to i8* - %30 = tail call <256 x double> @llvm.ve.vl.pvand.vvvMvl(<256 x double> %21, <256 x double> %23, <512 x i1> %26, <256 x double> %28, i32 %19) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %30, i64 8, i8* %29, i32 %19) - %31 = getelementptr inbounds i32, i32* %10, i64 512 - %32 = getelementptr inbounds i32, i32* %11, i64 512 - %33 = getelementptr inbounds i32, i32* %12, i64 512 - %34 = getelementptr inbounds i32, i32* %13, i64 512 - %35 = getelementptr inbounds i32, i32* %14, i64 512 - %36 = add nuw nsw i32 %15, 512 - %37 = icmp slt i32 %36, %5 - br i1 %37, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvand.vvvMvl(<256 x double>, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvand_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvand_vvvl.ll deleted file mode 100644 index 3d8233813c6d..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvand_vvvl.ll +++ /dev/null @@ -1,58 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvand_vvvl.c' -source_filename = "gen/tests/pvand_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvand_vvvl(i32* %0, i32* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: pvand %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %22, %7 ], [ %0, %4 ] - %9 = phi i32* [ %23, %7 ], [ %1, %4 ] - %10 = phi i32* [ %24, %7 ], [ %2, %4 ] - %11 = phi i32 [ %25, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 512 - %14 = ashr i32 %12, 1 - %15 = select i1 %13, i32 %14, i32 256 - %16 = bitcast i32* %9 to i8* - %17 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %16, i32 %15) - %18 = bitcast i32* %10 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %15) - %20 = tail call <256 x double> @llvm.ve.vl.pvand.vvvl(<256 x double> %17, <256 x double> %19, i32 %15) - %21 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %20, i64 8, i8* %21, i32 %15) - %22 = getelementptr inbounds i32, i32* %8, i64 512 - %23 = getelementptr inbounds i32, i32* %9, i64 512 - %24 = getelementptr inbounds i32, i32* %10, i64 512 - %25 = add nuw nsw i32 %11, 512 - %26 = icmp slt i32 %25, %3 - br i1 %26, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvand.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvbrd_vsMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvbrd_vsMvl.ll deleted file mode 100644 index 9f49c3fa5f76..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvbrd_vsMvl.ll +++ /dev/null @@ -1,62 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvbrd_vsMvl.c' -source_filename = "gen/tests/pvbrd_vsMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvbrd_vsMvl(i32* %0, i64 %1, i32* %2, i32* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: pvbrd %v1, %s1, %vm2 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i32* [ %24, %8 ], [ %0, %5 ] - %10 = phi i32* [ %25, %8 ], [ %2, %5 ] - %11 = phi i32* [ %26, %8 ], [ %3, %5 ] - %12 = phi i32 [ %27, %8 ], [ 0, %5 ] - %13 = sub nsw i32 %4, %12 - %14 = icmp slt i32 %13, 512 - %15 = ashr i32 %13, 1 - %16 = select i1 %14, i32 %15, i32 256 - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %16) - %19 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %18, i32 %16) - %20 = bitcast i32* %11 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %20, i32 %16) - %22 = bitcast i32* %9 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.pvbrd.vsMvl(i64 %1, <512 x i1> %19, <256 x double> %21, i32 %16) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %23, i64 8, i8* %22, i32 %16) - %24 = getelementptr inbounds i32, i32* %9, i64 512 - %25 = getelementptr inbounds i32, i32* %10, i64 512 - %26 = getelementptr inbounds i32, i32* %11, i64 512 - %27 = add nuw nsw i32 %12, 512 - %28 = icmp slt i32 %27, %4 - br i1 %28, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvbrd.vsMvl(i64, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvbrd_vsl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvbrd_vsl.ll deleted file mode 100644 index fadae5b14670..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvbrd_vsl.ll +++ /dev/null @@ -1,46 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvbrd_vsl.c' -source_filename = "gen/tests/pvbrd_vsl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind writeonly -define dso_local void @pvbrd_vsl(i32* %0, i64 %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: pvbrd %v0, %s1 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i32* [ %15, %6 ], [ %0, %3 ] - %8 = phi i32 [ %16, %6 ], [ 0, %3 ] - %9 = sub nsw i32 %2, %8 - %10 = icmp slt i32 %9, 512 - %11 = ashr i32 %9, 1 - %12 = select i1 %10, i32 %11, i32 256 - %13 = tail call <256 x double> @llvm.ve.vl.pvbrd.vsl(i64 %1, i32 %12) - %14 = bitcast i32* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %13, i64 8, i8* %14, i32 %12) - %15 = getelementptr inbounds i32, i32* %7, i64 512 - %16 = add nuw nsw i32 %8, 512 - %17 = icmp slt i32 %16, %2 - br i1 %17, label %6, label %5 -} - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvbrd.vsl(i64, i32) #1 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #2 - -attributes #0 = { nounwind writeonly "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readnone } -attributes #2 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvcmps_vsvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvcmps_vsvMvl.ll deleted file mode 100644 index 74ecafd9c78f..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvcmps_vsvMvl.ll +++ /dev/null @@ -1,66 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvcmps_vsvMvl.c' -source_filename = "gen/tests/pvcmps_vsvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvcmps_vsvMvl(i32* %0, i64 %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: pvcmps %v2, %s1, %v0, %vm2 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %28, %9 ], [ %0, %6 ] - %11 = phi i32* [ %29, %9 ], [ %2, %6 ] - %12 = phi i32* [ %30, %9 ], [ %3, %6 ] - %13 = phi i32* [ %31, %9 ], [ %4, %6 ] - %14 = phi i32 [ %32, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 512 - %17 = ashr i32 %15, 1 - %18 = select i1 %16, i32 %17, i32 256 - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast i32* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %22, i32 %18) - %24 = bitcast i32* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %18) - %26 = bitcast i32* %10 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.pvcmps.vsvMvl(i64 %1, <256 x double> %20, <512 x i1> %23, <256 x double> %25, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %27, i64 8, i8* %26, i32 %18) - %28 = getelementptr inbounds i32, i32* %10, i64 512 - %29 = getelementptr inbounds i32, i32* %11, i64 512 - %30 = getelementptr inbounds i32, i32* %12, i64 512 - %31 = getelementptr inbounds i32, i32* %13, i64 512 - %32 = add nuw nsw i32 %14, 512 - %33 = icmp slt i32 %32, %5 - br i1 %33, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvcmps.vsvMvl(i64, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvcmps_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvcmps_vsvl.ll deleted file mode 100644 index d76ed3b34cfb..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvcmps_vsvl.ll +++ /dev/null @@ -1,54 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvcmps_vsvl.c' -source_filename = "gen/tests/pvcmps_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvcmps_vsvl(i32* %0, i64 %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: pvcmps %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %19, %7 ], [ %0, %4 ] - %9 = phi i32* [ %20, %7 ], [ %2, %4 ] - %10 = phi i32 [ %21, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 512 - %13 = ashr i32 %11, 1 - %14 = select i1 %12, i32 %13, i32 256 - %15 = bitcast i32* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = tail call <256 x double> @llvm.ve.vl.pvcmps.vsvl(i64 %1, <256 x double> %16, i32 %14) - %18 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %17, i64 8, i8* %18, i32 %14) - %19 = getelementptr inbounds i32, i32* %8, i64 512 - %20 = getelementptr inbounds i32, i32* %9, i64 512 - %21 = add nuw nsw i32 %10, 512 - %22 = icmp slt i32 %21, %3 - br i1 %22, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvcmps.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvcmps_vvvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvcmps_vvvMvl.ll deleted file mode 100644 index 4297313bb652..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvcmps_vvvMvl.ll +++ /dev/null @@ -1,70 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvcmps_vvvMvl.c' -source_filename = "gen/tests/pvcmps_vvvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvcmps_vvvMvl(i32* %0, i32* %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: pvcmps %v3, %v0, %v1, %vm2 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %31, %9 ], [ %0, %6 ] - %11 = phi i32* [ %32, %9 ], [ %1, %6 ] - %12 = phi i32* [ %33, %9 ], [ %2, %6 ] - %13 = phi i32* [ %34, %9 ], [ %3, %6 ] - %14 = phi i32* [ %35, %9 ], [ %4, %6 ] - %15 = phi i32 [ %36, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 512 - %18 = ashr i32 %16, 1 - %19 = select i1 %17, i32 %18, i32 256 - %20 = bitcast i32* %11 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %20, i32 %19) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %19) - %24 = bitcast i32* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %19) - %26 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %25, i32 %19) - %27 = bitcast i32* %14 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %27, i32 %19) - %29 = bitcast i32* %10 to i8* - %30 = tail call <256 x double> @llvm.ve.vl.pvcmps.vvvMvl(<256 x double> %21, <256 x double> %23, <512 x i1> %26, <256 x double> %28, i32 %19) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %30, i64 8, i8* %29, i32 %19) - %31 = getelementptr inbounds i32, i32* %10, i64 512 - %32 = getelementptr inbounds i32, i32* %11, i64 512 - %33 = getelementptr inbounds i32, i32* %12, i64 512 - %34 = getelementptr inbounds i32, i32* %13, i64 512 - %35 = getelementptr inbounds i32, i32* %14, i64 512 - %36 = add nuw nsw i32 %15, 512 - %37 = icmp slt i32 %36, %5 - br i1 %37, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvcmps.vvvMvl(<256 x double>, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvcmps_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvcmps_vvvl.ll deleted file mode 100644 index b0a8d9f27dde..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvcmps_vvvl.ll +++ /dev/null @@ -1,58 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvcmps_vvvl.c' -source_filename = "gen/tests/pvcmps_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvcmps_vvvl(i32* %0, i32* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: pvcmps %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %22, %7 ], [ %0, %4 ] - %9 = phi i32* [ %23, %7 ], [ %1, %4 ] - %10 = phi i32* [ %24, %7 ], [ %2, %4 ] - %11 = phi i32 [ %25, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 512 - %14 = ashr i32 %12, 1 - %15 = select i1 %13, i32 %14, i32 256 - %16 = bitcast i32* %9 to i8* - %17 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %16, i32 %15) - %18 = bitcast i32* %10 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %15) - %20 = tail call <256 x double> @llvm.ve.vl.pvcmps.vvvl(<256 x double> %17, <256 x double> %19, i32 %15) - %21 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %20, i64 8, i8* %21, i32 %15) - %22 = getelementptr inbounds i32, i32* %8, i64 512 - %23 = getelementptr inbounds i32, i32* %9, i64 512 - %24 = getelementptr inbounds i32, i32* %10, i64 512 - %25 = add nuw nsw i32 %11, 512 - %26 = icmp slt i32 %25, %3 - br i1 %26, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvcmps.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvcmpu_vsvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvcmpu_vsvMvl.ll deleted file mode 100644 index f10877125e83..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvcmpu_vsvMvl.ll +++ /dev/null @@ -1,66 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvcmpu_vsvMvl.c' -source_filename = "gen/tests/pvcmpu_vsvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvcmpu_vsvMvl(i32* %0, i64 %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: pvcmpu %v2, %s1, %v0, %vm2 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %28, %9 ], [ %0, %6 ] - %11 = phi i32* [ %29, %9 ], [ %2, %6 ] - %12 = phi i32* [ %30, %9 ], [ %3, %6 ] - %13 = phi i32* [ %31, %9 ], [ %4, %6 ] - %14 = phi i32 [ %32, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 512 - %17 = ashr i32 %15, 1 - %18 = select i1 %16, i32 %17, i32 256 - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast i32* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %22, i32 %18) - %24 = bitcast i32* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %18) - %26 = bitcast i32* %10 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.pvcmpu.vsvMvl(i64 %1, <256 x double> %20, <512 x i1> %23, <256 x double> %25, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %27, i64 8, i8* %26, i32 %18) - %28 = getelementptr inbounds i32, i32* %10, i64 512 - %29 = getelementptr inbounds i32, i32* %11, i64 512 - %30 = getelementptr inbounds i32, i32* %12, i64 512 - %31 = getelementptr inbounds i32, i32* %13, i64 512 - %32 = add nuw nsw i32 %14, 512 - %33 = icmp slt i32 %32, %5 - br i1 %33, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvcmpu.vsvMvl(i64, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvcmpu_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvcmpu_vsvl.ll deleted file mode 100644 index ec8f9097092e..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvcmpu_vsvl.ll +++ /dev/null @@ -1,54 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvcmpu_vsvl.c' -source_filename = "gen/tests/pvcmpu_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvcmpu_vsvl(i32* %0, i64 %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: pvcmpu %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %19, %7 ], [ %0, %4 ] - %9 = phi i32* [ %20, %7 ], [ %2, %4 ] - %10 = phi i32 [ %21, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 512 - %13 = ashr i32 %11, 1 - %14 = select i1 %12, i32 %13, i32 256 - %15 = bitcast i32* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = tail call <256 x double> @llvm.ve.vl.pvcmpu.vsvl(i64 %1, <256 x double> %16, i32 %14) - %18 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %17, i64 8, i8* %18, i32 %14) - %19 = getelementptr inbounds i32, i32* %8, i64 512 - %20 = getelementptr inbounds i32, i32* %9, i64 512 - %21 = add nuw nsw i32 %10, 512 - %22 = icmp slt i32 %21, %3 - br i1 %22, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvcmpu.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvcmpu_vvvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvcmpu_vvvMvl.ll deleted file mode 100644 index 6b6b21e58c1f..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvcmpu_vvvMvl.ll +++ /dev/null @@ -1,70 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvcmpu_vvvMvl.c' -source_filename = "gen/tests/pvcmpu_vvvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvcmpu_vvvMvl(i32* %0, i32* %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: pvcmpu %v3, %v0, %v1, %vm2 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %31, %9 ], [ %0, %6 ] - %11 = phi i32* [ %32, %9 ], [ %1, %6 ] - %12 = phi i32* [ %33, %9 ], [ %2, %6 ] - %13 = phi i32* [ %34, %9 ], [ %3, %6 ] - %14 = phi i32* [ %35, %9 ], [ %4, %6 ] - %15 = phi i32 [ %36, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 512 - %18 = ashr i32 %16, 1 - %19 = select i1 %17, i32 %18, i32 256 - %20 = bitcast i32* %11 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %20, i32 %19) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %19) - %24 = bitcast i32* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %19) - %26 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %25, i32 %19) - %27 = bitcast i32* %14 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %27, i32 %19) - %29 = bitcast i32* %10 to i8* - %30 = tail call <256 x double> @llvm.ve.vl.pvcmpu.vvvMvl(<256 x double> %21, <256 x double> %23, <512 x i1> %26, <256 x double> %28, i32 %19) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %30, i64 8, i8* %29, i32 %19) - %31 = getelementptr inbounds i32, i32* %10, i64 512 - %32 = getelementptr inbounds i32, i32* %11, i64 512 - %33 = getelementptr inbounds i32, i32* %12, i64 512 - %34 = getelementptr inbounds i32, i32* %13, i64 512 - %35 = getelementptr inbounds i32, i32* %14, i64 512 - %36 = add nuw nsw i32 %15, 512 - %37 = icmp slt i32 %36, %5 - br i1 %37, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvcmpu.vvvMvl(<256 x double>, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvcmpu_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvcmpu_vvvl.ll deleted file mode 100644 index 775fcfa59edc..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvcmpu_vvvl.ll +++ /dev/null @@ -1,58 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvcmpu_vvvl.c' -source_filename = "gen/tests/pvcmpu_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvcmpu_vvvl(i32* %0, i32* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: pvcmpu %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %22, %7 ], [ %0, %4 ] - %9 = phi i32* [ %23, %7 ], [ %1, %4 ] - %10 = phi i32* [ %24, %7 ], [ %2, %4 ] - %11 = phi i32 [ %25, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 512 - %14 = ashr i32 %12, 1 - %15 = select i1 %13, i32 %14, i32 256 - %16 = bitcast i32* %9 to i8* - %17 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %16, i32 %15) - %18 = bitcast i32* %10 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %15) - %20 = tail call <256 x double> @llvm.ve.vl.pvcmpu.vvvl(<256 x double> %17, <256 x double> %19, i32 %15) - %21 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %20, i64 8, i8* %21, i32 %15) - %22 = getelementptr inbounds i32, i32* %8, i64 512 - %23 = getelementptr inbounds i32, i32* %9, i64 512 - %24 = getelementptr inbounds i32, i32* %10, i64 512 - %25 = add nuw nsw i32 %11, 512 - %26 = icmp slt i32 %25, %3 - br i1 %26, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvcmpu.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvcvtsw_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvcvtsw_vvl.ll deleted file mode 100644 index 781d5819692a..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvcvtsw_vvl.ll +++ /dev/null @@ -1,54 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvcvtsw_vvl.c' -source_filename = "gen/tests/pvcvtsw_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvcvtsw_vvl(float* %0, i32* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: pvcvt.s.w %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi float* [ %18, %6 ], [ %0, %3 ] - %8 = phi i32* [ %19, %6 ], [ %1, %3 ] - %9 = phi i32 [ %20, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 512 - %12 = ashr i32 %10, 1 - %13 = select i1 %11, i32 %12, i32 256 - %14 = bitcast i32* %8 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.pvcvtsw.vvl(<256 x double> %15, i32 %13) - %17 = bitcast float* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %16, i64 8, i8* %17, i32 %13) - %18 = getelementptr inbounds float, float* %7, i64 512 - %19 = getelementptr inbounds i32, i32* %8, i64 512 - %20 = add nuw nsw i32 %9, 512 - %21 = icmp slt i32 %20, %2 - br i1 %21, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvcvtsw.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvcvtws_vvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvcvtws_vvMvl.ll deleted file mode 100644 index 736245170a59..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvcvtws_vvMvl.ll +++ /dev/null @@ -1,66 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvcvtws_vvMvl.c' -source_filename = "gen/tests/pvcvtws_vvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvcvtws_vvMvl(i32* %0, float* %1, i32* %2, i32* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: pvcvt.w.s %v2, %v0, %vm2 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i32* [ %27, %8 ], [ %0, %5 ] - %10 = phi float* [ %28, %8 ], [ %1, %5 ] - %11 = phi i32* [ %29, %8 ], [ %2, %5 ] - %12 = phi i32* [ %30, %8 ], [ %3, %5 ] - %13 = phi i32 [ %31, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 512 - %16 = ashr i32 %14, 1 - %17 = select i1 %15, i32 %16, i32 256 - %18 = bitcast float* %10 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %17) - %20 = bitcast i32* %11 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %20, i32 %17) - %22 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %21, i32 %17) - %23 = bitcast i32* %12 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %23, i32 %17) - %25 = bitcast i32* %9 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.pvcvtws.vvMvl(<256 x double> %19, <512 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %26, i64 8, i8* %25, i32 %17) - %27 = getelementptr inbounds i32, i32* %9, i64 512 - %28 = getelementptr inbounds float, float* %10, i64 512 - %29 = getelementptr inbounds i32, i32* %11, i64 512 - %30 = getelementptr inbounds i32, i32* %12, i64 512 - %31 = add nuw nsw i32 %13, 512 - %32 = icmp slt i32 %31, %4 - br i1 %32, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvcvtws.vvMvl(<256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvcvtws_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvcvtws_vvl.ll deleted file mode 100644 index 011a107dd2fd..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvcvtws_vvl.ll +++ /dev/null @@ -1,54 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvcvtws_vvl.c' -source_filename = "gen/tests/pvcvtws_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvcvtws_vvl(i32* %0, float* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: pvcvt.w.s %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i32* [ %18, %6 ], [ %0, %3 ] - %8 = phi float* [ %19, %6 ], [ %1, %3 ] - %9 = phi i32 [ %20, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 512 - %12 = ashr i32 %10, 1 - %13 = select i1 %11, i32 %12, i32 256 - %14 = bitcast float* %8 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.pvcvtws.vvl(<256 x double> %15, i32 %13) - %17 = bitcast i32* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %16, i64 8, i8* %17, i32 %13) - %18 = getelementptr inbounds i32, i32* %7, i64 512 - %19 = getelementptr inbounds float, float* %8, i64 512 - %20 = add nuw nsw i32 %9, 512 - %21 = icmp slt i32 %20, %2 - br i1 %21, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvcvtws.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvcvtwsrz_vvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvcvtwsrz_vvMvl.ll deleted file mode 100644 index 0cd697387a06..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvcvtwsrz_vvMvl.ll +++ /dev/null @@ -1,66 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvcvtwsrz_vvMvl.c' -source_filename = "gen/tests/pvcvtwsrz_vvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvcvtwsrz_vvMvl(i32* %0, float* %1, i32* %2, i32* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: pvcvt.w.s.rz %v2, %v0, %vm2 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i32* [ %27, %8 ], [ %0, %5 ] - %10 = phi float* [ %28, %8 ], [ %1, %5 ] - %11 = phi i32* [ %29, %8 ], [ %2, %5 ] - %12 = phi i32* [ %30, %8 ], [ %3, %5 ] - %13 = phi i32 [ %31, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 512 - %16 = ashr i32 %14, 1 - %17 = select i1 %15, i32 %16, i32 256 - %18 = bitcast float* %10 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %17) - %20 = bitcast i32* %11 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %20, i32 %17) - %22 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %21, i32 %17) - %23 = bitcast i32* %12 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %23, i32 %17) - %25 = bitcast i32* %9 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.pvcvtwsrz.vvMvl(<256 x double> %19, <512 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %26, i64 8, i8* %25, i32 %17) - %27 = getelementptr inbounds i32, i32* %9, i64 512 - %28 = getelementptr inbounds float, float* %10, i64 512 - %29 = getelementptr inbounds i32, i32* %11, i64 512 - %30 = getelementptr inbounds i32, i32* %12, i64 512 - %31 = add nuw nsw i32 %13, 512 - %32 = icmp slt i32 %31, %4 - br i1 %32, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvcvtwsrz.vvMvl(<256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvcvtwsrz_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvcvtwsrz_vvl.ll deleted file mode 100644 index bc108681c30e..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvcvtwsrz_vvl.ll +++ /dev/null @@ -1,54 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvcvtwsrz_vvl.c' -source_filename = "gen/tests/pvcvtwsrz_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvcvtwsrz_vvl(i32* %0, float* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: pvcvt.w.s.rz %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i32* [ %18, %6 ], [ %0, %3 ] - %8 = phi float* [ %19, %6 ], [ %1, %3 ] - %9 = phi i32 [ %20, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 512 - %12 = ashr i32 %10, 1 - %13 = select i1 %11, i32 %12, i32 256 - %14 = bitcast float* %8 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.pvcvtwsrz.vvl(<256 x double> %15, i32 %13) - %17 = bitcast i32* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %16, i64 8, i8* %17, i32 %13) - %18 = getelementptr inbounds i32, i32* %7, i64 512 - %19 = getelementptr inbounds float, float* %8, i64 512 - %20 = add nuw nsw i32 %9, 512 - %21 = icmp slt i32 %20, %2 - br i1 %21, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvcvtwsrz.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pveqv_vsvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pveqv_vsvMvl.ll deleted file mode 100644 index 691a709e48bc..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pveqv_vsvMvl.ll +++ /dev/null @@ -1,66 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pveqv_vsvMvl.c' -source_filename = "gen/tests/pveqv_vsvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pveqv_vsvMvl(i32* %0, i64 %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: pveqv %v2, %s1, %v0, %vm2 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %28, %9 ], [ %0, %6 ] - %11 = phi i32* [ %29, %9 ], [ %2, %6 ] - %12 = phi i32* [ %30, %9 ], [ %3, %6 ] - %13 = phi i32* [ %31, %9 ], [ %4, %6 ] - %14 = phi i32 [ %32, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 512 - %17 = ashr i32 %15, 1 - %18 = select i1 %16, i32 %17, i32 256 - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast i32* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %22, i32 %18) - %24 = bitcast i32* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %18) - %26 = bitcast i32* %10 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.pveqv.vsvMvl(i64 %1, <256 x double> %20, <512 x i1> %23, <256 x double> %25, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %27, i64 8, i8* %26, i32 %18) - %28 = getelementptr inbounds i32, i32* %10, i64 512 - %29 = getelementptr inbounds i32, i32* %11, i64 512 - %30 = getelementptr inbounds i32, i32* %12, i64 512 - %31 = getelementptr inbounds i32, i32* %13, i64 512 - %32 = add nuw nsw i32 %14, 512 - %33 = icmp slt i32 %32, %5 - br i1 %33, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pveqv.vsvMvl(i64, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pveqv_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pveqv_vsvl.ll deleted file mode 100644 index d21055fcb46a..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pveqv_vsvl.ll +++ /dev/null @@ -1,54 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pveqv_vsvl.c' -source_filename = "gen/tests/pveqv_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pveqv_vsvl(i32* %0, i64 %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: pveqv %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %19, %7 ], [ %0, %4 ] - %9 = phi i32* [ %20, %7 ], [ %2, %4 ] - %10 = phi i32 [ %21, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 512 - %13 = ashr i32 %11, 1 - %14 = select i1 %12, i32 %13, i32 256 - %15 = bitcast i32* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = tail call <256 x double> @llvm.ve.vl.pveqv.vsvl(i64 %1, <256 x double> %16, i32 %14) - %18 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %17, i64 8, i8* %18, i32 %14) - %19 = getelementptr inbounds i32, i32* %8, i64 512 - %20 = getelementptr inbounds i32, i32* %9, i64 512 - %21 = add nuw nsw i32 %10, 512 - %22 = icmp slt i32 %21, %3 - br i1 %22, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pveqv.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pveqv_vvvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pveqv_vvvMvl.ll deleted file mode 100644 index 78d049ddf6fa..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pveqv_vvvMvl.ll +++ /dev/null @@ -1,70 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pveqv_vvvMvl.c' -source_filename = "gen/tests/pveqv_vvvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pveqv_vvvMvl(i32* %0, i32* %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: pveqv %v3, %v0, %v1, %vm2 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %31, %9 ], [ %0, %6 ] - %11 = phi i32* [ %32, %9 ], [ %1, %6 ] - %12 = phi i32* [ %33, %9 ], [ %2, %6 ] - %13 = phi i32* [ %34, %9 ], [ %3, %6 ] - %14 = phi i32* [ %35, %9 ], [ %4, %6 ] - %15 = phi i32 [ %36, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 512 - %18 = ashr i32 %16, 1 - %19 = select i1 %17, i32 %18, i32 256 - %20 = bitcast i32* %11 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %20, i32 %19) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %19) - %24 = bitcast i32* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %19) - %26 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %25, i32 %19) - %27 = bitcast i32* %14 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %27, i32 %19) - %29 = bitcast i32* %10 to i8* - %30 = tail call <256 x double> @llvm.ve.vl.pveqv.vvvMvl(<256 x double> %21, <256 x double> %23, <512 x i1> %26, <256 x double> %28, i32 %19) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %30, i64 8, i8* %29, i32 %19) - %31 = getelementptr inbounds i32, i32* %10, i64 512 - %32 = getelementptr inbounds i32, i32* %11, i64 512 - %33 = getelementptr inbounds i32, i32* %12, i64 512 - %34 = getelementptr inbounds i32, i32* %13, i64 512 - %35 = getelementptr inbounds i32, i32* %14, i64 512 - %36 = add nuw nsw i32 %15, 512 - %37 = icmp slt i32 %36, %5 - br i1 %37, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pveqv.vvvMvl(<256 x double>, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pveqv_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pveqv_vvvl.ll deleted file mode 100644 index 0191e94d9969..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pveqv_vvvl.ll +++ /dev/null @@ -1,58 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pveqv_vvvl.c' -source_filename = "gen/tests/pveqv_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pveqv_vvvl(i32* %0, i32* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: pveqv %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %22, %7 ], [ %0, %4 ] - %9 = phi i32* [ %23, %7 ], [ %1, %4 ] - %10 = phi i32* [ %24, %7 ], [ %2, %4 ] - %11 = phi i32 [ %25, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 512 - %14 = ashr i32 %12, 1 - %15 = select i1 %13, i32 %14, i32 256 - %16 = bitcast i32* %9 to i8* - %17 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %16, i32 %15) - %18 = bitcast i32* %10 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %15) - %20 = tail call <256 x double> @llvm.ve.vl.pveqv.vvvl(<256 x double> %17, <256 x double> %19, i32 %15) - %21 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %20, i64 8, i8* %21, i32 %15) - %22 = getelementptr inbounds i32, i32* %8, i64 512 - %23 = getelementptr inbounds i32, i32* %9, i64 512 - %24 = getelementptr inbounds i32, i32* %10, i64 512 - %25 = add nuw nsw i32 %11, 512 - %26 = icmp slt i32 %25, %3 - br i1 %26, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pveqv.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfadd_vsvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfadd_vsvMvl.ll deleted file mode 100644 index 40d0ae962122..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfadd_vsvMvl.ll +++ /dev/null @@ -1,66 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfadd_vsvMvl.c' -source_filename = "gen/tests/pvfadd_vsvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfadd_vsvMvl(float* %0, i64 %1, float* %2, i32* %3, float* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: pvfadd %v2, %s1, %v0, %vm2 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi float* [ %28, %9 ], [ %0, %6 ] - %11 = phi float* [ %29, %9 ], [ %2, %6 ] - %12 = phi i32* [ %30, %9 ], [ %3, %6 ] - %13 = phi float* [ %31, %9 ], [ %4, %6 ] - %14 = phi i32 [ %32, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 512 - %17 = ashr i32 %15, 1 - %18 = select i1 %16, i32 %17, i32 256 - %19 = bitcast float* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast i32* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %22, i32 %18) - %24 = bitcast float* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %18) - %26 = bitcast float* %10 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.pvfadd.vsvMvl(i64 %1, <256 x double> %20, <512 x i1> %23, <256 x double> %25, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %27, i64 8, i8* %26, i32 %18) - %28 = getelementptr inbounds float, float* %10, i64 512 - %29 = getelementptr inbounds float, float* %11, i64 512 - %30 = getelementptr inbounds i32, i32* %12, i64 512 - %31 = getelementptr inbounds float, float* %13, i64 512 - %32 = add nuw nsw i32 %14, 512 - %33 = icmp slt i32 %32, %5 - br i1 %33, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfadd.vsvMvl(i64, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfadd_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfadd_vsvl.ll deleted file mode 100644 index 3bf1d05f0123..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfadd_vsvl.ll +++ /dev/null @@ -1,54 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfadd_vsvl.c' -source_filename = "gen/tests/pvfadd_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfadd_vsvl(float* %0, i64 %1, float* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: pvfadd %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi float* [ %19, %7 ], [ %0, %4 ] - %9 = phi float* [ %20, %7 ], [ %2, %4 ] - %10 = phi i32 [ %21, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 512 - %13 = ashr i32 %11, 1 - %14 = select i1 %12, i32 %13, i32 256 - %15 = bitcast float* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = tail call <256 x double> @llvm.ve.vl.pvfadd.vsvl(i64 %1, <256 x double> %16, i32 %14) - %18 = bitcast float* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %17, i64 8, i8* %18, i32 %14) - %19 = getelementptr inbounds float, float* %8, i64 512 - %20 = getelementptr inbounds float, float* %9, i64 512 - %21 = add nuw nsw i32 %10, 512 - %22 = icmp slt i32 %21, %3 - br i1 %22, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfadd.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfadd_vvvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfadd_vvvMvl.ll deleted file mode 100644 index 855491d4b30e..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfadd_vvvMvl.ll +++ /dev/null @@ -1,70 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfadd_vvvMvl.c' -source_filename = "gen/tests/pvfadd_vvvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfadd_vvvMvl(float* %0, float* %1, float* %2, i32* %3, float* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: pvfadd %v3, %v0, %v1, %vm2 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi float* [ %31, %9 ], [ %0, %6 ] - %11 = phi float* [ %32, %9 ], [ %1, %6 ] - %12 = phi float* [ %33, %9 ], [ %2, %6 ] - %13 = phi i32* [ %34, %9 ], [ %3, %6 ] - %14 = phi float* [ %35, %9 ], [ %4, %6 ] - %15 = phi i32 [ %36, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 512 - %18 = ashr i32 %16, 1 - %19 = select i1 %17, i32 %18, i32 256 - %20 = bitcast float* %11 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %20, i32 %19) - %22 = bitcast float* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %19) - %24 = bitcast i32* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %19) - %26 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %25, i32 %19) - %27 = bitcast float* %14 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %27, i32 %19) - %29 = bitcast float* %10 to i8* - %30 = tail call <256 x double> @llvm.ve.vl.pvfadd.vvvMvl(<256 x double> %21, <256 x double> %23, <512 x i1> %26, <256 x double> %28, i32 %19) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %30, i64 8, i8* %29, i32 %19) - %31 = getelementptr inbounds float, float* %10, i64 512 - %32 = getelementptr inbounds float, float* %11, i64 512 - %33 = getelementptr inbounds float, float* %12, i64 512 - %34 = getelementptr inbounds i32, i32* %13, i64 512 - %35 = getelementptr inbounds float, float* %14, i64 512 - %36 = add nuw nsw i32 %15, 512 - %37 = icmp slt i32 %36, %5 - br i1 %37, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfadd.vvvMvl(<256 x double>, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfadd_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfadd_vvvl.ll deleted file mode 100644 index 75a227827311..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfadd_vvvl.ll +++ /dev/null @@ -1,58 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfadd_vvvl.c' -source_filename = "gen/tests/pvfadd_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfadd_vvvl(float* %0, float* %1, float* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: pvfadd %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi float* [ %22, %7 ], [ %0, %4 ] - %9 = phi float* [ %23, %7 ], [ %1, %4 ] - %10 = phi float* [ %24, %7 ], [ %2, %4 ] - %11 = phi i32 [ %25, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 512 - %14 = ashr i32 %12, 1 - %15 = select i1 %13, i32 %14, i32 256 - %16 = bitcast float* %9 to i8* - %17 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %16, i32 %15) - %18 = bitcast float* %10 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %15) - %20 = tail call <256 x double> @llvm.ve.vl.pvfadd.vvvl(<256 x double> %17, <256 x double> %19, i32 %15) - %21 = bitcast float* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %20, i64 8, i8* %21, i32 %15) - %22 = getelementptr inbounds float, float* %8, i64 512 - %23 = getelementptr inbounds float, float* %9, i64 512 - %24 = getelementptr inbounds float, float* %10, i64 512 - %25 = add nuw nsw i32 %11, 512 - %26 = icmp slt i32 %25, %3 - br i1 %26, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfadd.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfcmp_vsvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfcmp_vsvMvl.ll deleted file mode 100644 index 7b7fa8a7005c..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfcmp_vsvMvl.ll +++ /dev/null @@ -1,66 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfcmp_vsvMvl.c' -source_filename = "gen/tests/pvfcmp_vsvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfcmp_vsvMvl(float* %0, i64 %1, float* %2, i32* %3, float* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: pvfcmp %v2, %s1, %v0, %vm2 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi float* [ %28, %9 ], [ %0, %6 ] - %11 = phi float* [ %29, %9 ], [ %2, %6 ] - %12 = phi i32* [ %30, %9 ], [ %3, %6 ] - %13 = phi float* [ %31, %9 ], [ %4, %6 ] - %14 = phi i32 [ %32, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 512 - %17 = ashr i32 %15, 1 - %18 = select i1 %16, i32 %17, i32 256 - %19 = bitcast float* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast i32* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %22, i32 %18) - %24 = bitcast float* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %18) - %26 = bitcast float* %10 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.pvfcmp.vsvMvl(i64 %1, <256 x double> %20, <512 x i1> %23, <256 x double> %25, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %27, i64 8, i8* %26, i32 %18) - %28 = getelementptr inbounds float, float* %10, i64 512 - %29 = getelementptr inbounds float, float* %11, i64 512 - %30 = getelementptr inbounds i32, i32* %12, i64 512 - %31 = getelementptr inbounds float, float* %13, i64 512 - %32 = add nuw nsw i32 %14, 512 - %33 = icmp slt i32 %32, %5 - br i1 %33, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfcmp.vsvMvl(i64, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfcmp_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfcmp_vsvl.ll deleted file mode 100644 index 1d97c1937f32..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfcmp_vsvl.ll +++ /dev/null @@ -1,54 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfcmp_vsvl.c' -source_filename = "gen/tests/pvfcmp_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfcmp_vsvl(float* %0, i64 %1, float* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: pvfcmp %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi float* [ %19, %7 ], [ %0, %4 ] - %9 = phi float* [ %20, %7 ], [ %2, %4 ] - %10 = phi i32 [ %21, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 512 - %13 = ashr i32 %11, 1 - %14 = select i1 %12, i32 %13, i32 256 - %15 = bitcast float* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = tail call <256 x double> @llvm.ve.vl.pvfcmp.vsvl(i64 %1, <256 x double> %16, i32 %14) - %18 = bitcast float* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %17, i64 8, i8* %18, i32 %14) - %19 = getelementptr inbounds float, float* %8, i64 512 - %20 = getelementptr inbounds float, float* %9, i64 512 - %21 = add nuw nsw i32 %10, 512 - %22 = icmp slt i32 %21, %3 - br i1 %22, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfcmp.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfcmp_vvvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfcmp_vvvMvl.ll deleted file mode 100644 index bfba4aa32c52..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfcmp_vvvMvl.ll +++ /dev/null @@ -1,70 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfcmp_vvvMvl.c' -source_filename = "gen/tests/pvfcmp_vvvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfcmp_vvvMvl(float* %0, float* %1, float* %2, i32* %3, float* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: pvfcmp %v3, %v0, %v1, %vm2 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi float* [ %31, %9 ], [ %0, %6 ] - %11 = phi float* [ %32, %9 ], [ %1, %6 ] - %12 = phi float* [ %33, %9 ], [ %2, %6 ] - %13 = phi i32* [ %34, %9 ], [ %3, %6 ] - %14 = phi float* [ %35, %9 ], [ %4, %6 ] - %15 = phi i32 [ %36, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 512 - %18 = ashr i32 %16, 1 - %19 = select i1 %17, i32 %18, i32 256 - %20 = bitcast float* %11 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %20, i32 %19) - %22 = bitcast float* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %19) - %24 = bitcast i32* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %19) - %26 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %25, i32 %19) - %27 = bitcast float* %14 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %27, i32 %19) - %29 = bitcast float* %10 to i8* - %30 = tail call <256 x double> @llvm.ve.vl.pvfcmp.vvvMvl(<256 x double> %21, <256 x double> %23, <512 x i1> %26, <256 x double> %28, i32 %19) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %30, i64 8, i8* %29, i32 %19) - %31 = getelementptr inbounds float, float* %10, i64 512 - %32 = getelementptr inbounds float, float* %11, i64 512 - %33 = getelementptr inbounds float, float* %12, i64 512 - %34 = getelementptr inbounds i32, i32* %13, i64 512 - %35 = getelementptr inbounds float, float* %14, i64 512 - %36 = add nuw nsw i32 %15, 512 - %37 = icmp slt i32 %36, %5 - br i1 %37, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfcmp.vvvMvl(<256 x double>, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfcmp_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfcmp_vvvl.ll deleted file mode 100644 index 775068890a12..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfcmp_vvvl.ll +++ /dev/null @@ -1,58 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfcmp_vvvl.c' -source_filename = "gen/tests/pvfcmp_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfcmp_vvvl(float* %0, float* %1, float* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: pvfcmp %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi float* [ %22, %7 ], [ %0, %4 ] - %9 = phi float* [ %23, %7 ], [ %1, %4 ] - %10 = phi float* [ %24, %7 ], [ %2, %4 ] - %11 = phi i32 [ %25, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 512 - %14 = ashr i32 %12, 1 - %15 = select i1 %13, i32 %14, i32 256 - %16 = bitcast float* %9 to i8* - %17 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %16, i32 %15) - %18 = bitcast float* %10 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %15) - %20 = tail call <256 x double> @llvm.ve.vl.pvfcmp.vvvl(<256 x double> %17, <256 x double> %19, i32 %15) - %21 = bitcast float* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %20, i64 8, i8* %21, i32 %15) - %22 = getelementptr inbounds float, float* %8, i64 512 - %23 = getelementptr inbounds float, float* %9, i64 512 - %24 = getelementptr inbounds float, float* %10, i64 512 - %25 = add nuw nsw i32 %11, 512 - %26 = icmp slt i32 %25, %3 - br i1 %26, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfcmp.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmad_vsvvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmad_vsvvMvl.ll deleted file mode 100644 index 6e3b80299cbf..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmad_vsvvMvl.ll +++ /dev/null @@ -1,70 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfmad_vsvvMvl.c' -source_filename = "gen/tests/pvfmad_vsvvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfmad_vsvvMvl(float* %0, i64 %1, float* %2, float* %3, i32* %4, float* %5, i32 signext %6) local_unnamed_addr #0 { -; CHECK: pvfmad %v3, %s1, %v0, %v1, %vm2 - %8 = icmp sgt i32 %6, 0 - br i1 %8, label %10, label %9 - -9: ; preds = %10, %7 - ret void - -10: ; preds = %7, %10 - %11 = phi float* [ %32, %10 ], [ %0, %7 ] - %12 = phi float* [ %33, %10 ], [ %2, %7 ] - %13 = phi float* [ %34, %10 ], [ %3, %7 ] - %14 = phi i32* [ %35, %10 ], [ %4, %7 ] - %15 = phi float* [ %36, %10 ], [ %5, %7 ] - %16 = phi i32 [ %37, %10 ], [ 0, %7 ] - %17 = sub nsw i32 %6, %16 - %18 = icmp slt i32 %17, 512 - %19 = ashr i32 %17, 1 - %20 = select i1 %18, i32 %19, i32 256 - %21 = bitcast float* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %20) - %23 = bitcast float* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %23, i32 %20) - %25 = bitcast i32* %14 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %25, i32 %20) - %27 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %26, i32 %20) - %28 = bitcast float* %15 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %28, i32 %20) - %30 = bitcast float* %11 to i8* - %31 = tail call <256 x double> @llvm.ve.vl.pvfmad.vsvvMvl(i64 %1, <256 x double> %22, <256 x double> %24, <512 x i1> %27, <256 x double> %29, i32 %20) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %31, i64 8, i8* %30, i32 %20) - %32 = getelementptr inbounds float, float* %11, i64 512 - %33 = getelementptr inbounds float, float* %12, i64 512 - %34 = getelementptr inbounds float, float* %13, i64 512 - %35 = getelementptr inbounds i32, i32* %14, i64 512 - %36 = getelementptr inbounds float, float* %15, i64 512 - %37 = add nuw nsw i32 %16, 512 - %38 = icmp slt i32 %37, %6 - br i1 %38, label %10, label %9 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfmad.vsvvMvl(i64, <256 x double>, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmad_vsvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmad_vsvvl.ll deleted file mode 100644 index 61758a7effaa..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmad_vsvvl.ll +++ /dev/null @@ -1,58 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfmad_vsvvl.c' -source_filename = "gen/tests/pvfmad_vsvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfmad_vsvvl(float* %0, i64 %1, float* %2, float* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: pvfmad %v0, %s1, %v0, %v1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi float* [ %23, %8 ], [ %0, %5 ] - %10 = phi float* [ %24, %8 ], [ %2, %5 ] - %11 = phi float* [ %25, %8 ], [ %3, %5 ] - %12 = phi i32 [ %26, %8 ], [ 0, %5 ] - %13 = sub nsw i32 %4, %12 - %14 = icmp slt i32 %13, 512 - %15 = ashr i32 %13, 1 - %16 = select i1 %14, i32 %15, i32 256 - %17 = bitcast float* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %16) - %19 = bitcast float* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %16) - %21 = tail call <256 x double> @llvm.ve.vl.pvfmad.vsvvl(i64 %1, <256 x double> %18, <256 x double> %20, i32 %16) - %22 = bitcast float* %9 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %21, i64 8, i8* %22, i32 %16) - %23 = getelementptr inbounds float, float* %9, i64 512 - %24 = getelementptr inbounds float, float* %10, i64 512 - %25 = getelementptr inbounds float, float* %11, i64 512 - %26 = add nuw nsw i32 %12, 512 - %27 = icmp slt i32 %26, %4 - br i1 %27, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfmad.vsvvl(i64, <256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmad_vvsvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmad_vvsvMvl.ll deleted file mode 100644 index 9fc2822ee2f3..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmad_vvsvMvl.ll +++ /dev/null @@ -1,70 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfmad_vvsvMvl.c' -source_filename = "gen/tests/pvfmad_vvsvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfmad_vvsvMvl(float* %0, float* %1, i64 %2, float* %3, i32* %4, float* %5, i32 signext %6) local_unnamed_addr #0 { -; CHECK: pvfmad %v3, %v0, %s2, %v1, %vm2 - %8 = icmp sgt i32 %6, 0 - br i1 %8, label %10, label %9 - -9: ; preds = %10, %7 - ret void - -10: ; preds = %7, %10 - %11 = phi float* [ %32, %10 ], [ %0, %7 ] - %12 = phi float* [ %33, %10 ], [ %1, %7 ] - %13 = phi float* [ %34, %10 ], [ %3, %7 ] - %14 = phi i32* [ %35, %10 ], [ %4, %7 ] - %15 = phi float* [ %36, %10 ], [ %5, %7 ] - %16 = phi i32 [ %37, %10 ], [ 0, %7 ] - %17 = sub nsw i32 %6, %16 - %18 = icmp slt i32 %17, 512 - %19 = ashr i32 %17, 1 - %20 = select i1 %18, i32 %19, i32 256 - %21 = bitcast float* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %20) - %23 = bitcast float* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %23, i32 %20) - %25 = bitcast i32* %14 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %25, i32 %20) - %27 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %26, i32 %20) - %28 = bitcast float* %15 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %28, i32 %20) - %30 = bitcast float* %11 to i8* - %31 = tail call <256 x double> @llvm.ve.vl.pvfmad.vvsvMvl(<256 x double> %22, i64 %2, <256 x double> %24, <512 x i1> %27, <256 x double> %29, i32 %20) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %31, i64 8, i8* %30, i32 %20) - %32 = getelementptr inbounds float, float* %11, i64 512 - %33 = getelementptr inbounds float, float* %12, i64 512 - %34 = getelementptr inbounds float, float* %13, i64 512 - %35 = getelementptr inbounds i32, i32* %14, i64 512 - %36 = getelementptr inbounds float, float* %15, i64 512 - %37 = add nuw nsw i32 %16, 512 - %38 = icmp slt i32 %37, %6 - br i1 %38, label %10, label %9 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfmad.vvsvMvl(<256 x double>, i64, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmad_vvsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmad_vvsvl.ll deleted file mode 100644 index 9c0e3da0b030..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmad_vvsvl.ll +++ /dev/null @@ -1,58 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfmad_vvsvl.c' -source_filename = "gen/tests/pvfmad_vvsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfmad_vvsvl(float* %0, float* %1, i64 %2, float* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: pvfmad %v0, %v0, %s2, %v1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi float* [ %23, %8 ], [ %0, %5 ] - %10 = phi float* [ %24, %8 ], [ %1, %5 ] - %11 = phi float* [ %25, %8 ], [ %3, %5 ] - %12 = phi i32 [ %26, %8 ], [ 0, %5 ] - %13 = sub nsw i32 %4, %12 - %14 = icmp slt i32 %13, 512 - %15 = ashr i32 %13, 1 - %16 = select i1 %14, i32 %15, i32 256 - %17 = bitcast float* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %16) - %19 = bitcast float* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %16) - %21 = tail call <256 x double> @llvm.ve.vl.pvfmad.vvsvl(<256 x double> %18, i64 %2, <256 x double> %20, i32 %16) - %22 = bitcast float* %9 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %21, i64 8, i8* %22, i32 %16) - %23 = getelementptr inbounds float, float* %9, i64 512 - %24 = getelementptr inbounds float, float* %10, i64 512 - %25 = getelementptr inbounds float, float* %11, i64 512 - %26 = add nuw nsw i32 %12, 512 - %27 = icmp slt i32 %26, %4 - br i1 %27, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfmad.vvsvl(<256 x double>, i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmad_vvvvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmad_vvvvMvl.ll deleted file mode 100644 index 72d14ad6ddce..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmad_vvvvMvl.ll +++ /dev/null @@ -1,74 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfmad_vvvvMvl.c' -source_filename = "gen/tests/pvfmad_vvvvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfmad_vvvvMvl(float* %0, float* %1, float* %2, float* %3, i32* %4, float* %5, i32 signext %6) local_unnamed_addr #0 { -; CHECK: pvfmad %v4, %v0, %v1, %v2, %vm2 - %8 = icmp sgt i32 %6, 0 - br i1 %8, label %10, label %9 - -9: ; preds = %10, %7 - ret void - -10: ; preds = %7, %10 - %11 = phi float* [ %35, %10 ], [ %0, %7 ] - %12 = phi float* [ %36, %10 ], [ %1, %7 ] - %13 = phi float* [ %37, %10 ], [ %2, %7 ] - %14 = phi float* [ %38, %10 ], [ %3, %7 ] - %15 = phi i32* [ %39, %10 ], [ %4, %7 ] - %16 = phi float* [ %40, %10 ], [ %5, %7 ] - %17 = phi i32 [ %41, %10 ], [ 0, %7 ] - %18 = sub nsw i32 %6, %17 - %19 = icmp slt i32 %18, 512 - %20 = ashr i32 %18, 1 - %21 = select i1 %19, i32 %20, i32 256 - %22 = bitcast float* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %21) - %24 = bitcast float* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %21) - %26 = bitcast float* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %26, i32 %21) - %28 = bitcast i32* %15 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %28, i32 %21) - %30 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %29, i32 %21) - %31 = bitcast float* %16 to i8* - %32 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %31, i32 %21) - %33 = bitcast float* %11 to i8* - %34 = tail call <256 x double> @llvm.ve.vl.pvfmad.vvvvMvl(<256 x double> %23, <256 x double> %25, <256 x double> %27, <512 x i1> %30, <256 x double> %32, i32 %21) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %34, i64 8, i8* %33, i32 %21) - %35 = getelementptr inbounds float, float* %11, i64 512 - %36 = getelementptr inbounds float, float* %12, i64 512 - %37 = getelementptr inbounds float, float* %13, i64 512 - %38 = getelementptr inbounds float, float* %14, i64 512 - %39 = getelementptr inbounds i32, i32* %15, i64 512 - %40 = getelementptr inbounds float, float* %16, i64 512 - %41 = add nuw nsw i32 %17, 512 - %42 = icmp slt i32 %41, %6 - br i1 %42, label %10, label %9 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfmad.vvvvMvl(<256 x double>, <256 x double>, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmad_vvvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmad_vvvvl.ll deleted file mode 100644 index 99a9a20715ef..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmad_vvvvl.ll +++ /dev/null @@ -1,62 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfmad_vvvvl.c' -source_filename = "gen/tests/pvfmad_vvvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfmad_vvvvl(float* %0, float* %1, float* %2, float* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: pvfmad %v0, %v0, %v1, %v2 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi float* [ %26, %8 ], [ %0, %5 ] - %10 = phi float* [ %27, %8 ], [ %1, %5 ] - %11 = phi float* [ %28, %8 ], [ %2, %5 ] - %12 = phi float* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 512 - %16 = ashr i32 %14, 1 - %17 = select i1 %15, i32 %16, i32 256 - %18 = bitcast float* %10 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %17) - %20 = bitcast float* %11 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %20, i32 %17) - %22 = bitcast float* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %17) - %24 = tail call <256 x double> @llvm.ve.vl.pvfmad.vvvvl(<256 x double> %19, <256 x double> %21, <256 x double> %23, i32 %17) - %25 = bitcast float* %9 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %24, i64 8, i8* %25, i32 %17) - %26 = getelementptr inbounds float, float* %9, i64 512 - %27 = getelementptr inbounds float, float* %10, i64 512 - %28 = getelementptr inbounds float, float* %11, i64 512 - %29 = getelementptr inbounds float, float* %12, i64 512 - %30 = add nuw nsw i32 %13, 512 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfmad.vvvvl(<256 x double>, <256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmax_vsvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmax_vsvMvl.ll deleted file mode 100644 index 9c0d174b85fd..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmax_vsvMvl.ll +++ /dev/null @@ -1,66 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfmax_vsvMvl.c' -source_filename = "gen/tests/pvfmax_vsvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfmax_vsvMvl(float* %0, i64 %1, float* %2, i32* %3, float* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: pvfmax %v2, %s1, %v0, %vm2 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi float* [ %28, %9 ], [ %0, %6 ] - %11 = phi float* [ %29, %9 ], [ %2, %6 ] - %12 = phi i32* [ %30, %9 ], [ %3, %6 ] - %13 = phi float* [ %31, %9 ], [ %4, %6 ] - %14 = phi i32 [ %32, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 512 - %17 = ashr i32 %15, 1 - %18 = select i1 %16, i32 %17, i32 256 - %19 = bitcast float* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast i32* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %22, i32 %18) - %24 = bitcast float* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %18) - %26 = bitcast float* %10 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.pvfmax.vsvMvl(i64 %1, <256 x double> %20, <512 x i1> %23, <256 x double> %25, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %27, i64 8, i8* %26, i32 %18) - %28 = getelementptr inbounds float, float* %10, i64 512 - %29 = getelementptr inbounds float, float* %11, i64 512 - %30 = getelementptr inbounds i32, i32* %12, i64 512 - %31 = getelementptr inbounds float, float* %13, i64 512 - %32 = add nuw nsw i32 %14, 512 - %33 = icmp slt i32 %32, %5 - br i1 %33, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfmax.vsvMvl(i64, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmax_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmax_vsvl.ll deleted file mode 100644 index 7e8330a71a2c..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmax_vsvl.ll +++ /dev/null @@ -1,54 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfmax_vsvl.c' -source_filename = "gen/tests/pvfmax_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfmax_vsvl(float* %0, i64 %1, float* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: pvfmax %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi float* [ %19, %7 ], [ %0, %4 ] - %9 = phi float* [ %20, %7 ], [ %2, %4 ] - %10 = phi i32 [ %21, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 512 - %13 = ashr i32 %11, 1 - %14 = select i1 %12, i32 %13, i32 256 - %15 = bitcast float* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = tail call <256 x double> @llvm.ve.vl.pvfmax.vsvl(i64 %1, <256 x double> %16, i32 %14) - %18 = bitcast float* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %17, i64 8, i8* %18, i32 %14) - %19 = getelementptr inbounds float, float* %8, i64 512 - %20 = getelementptr inbounds float, float* %9, i64 512 - %21 = add nuw nsw i32 %10, 512 - %22 = icmp slt i32 %21, %3 - br i1 %22, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfmax.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmax_vvvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmax_vvvMvl.ll deleted file mode 100644 index 6932e80a5a26..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmax_vvvMvl.ll +++ /dev/null @@ -1,70 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfmax_vvvMvl.c' -source_filename = "gen/tests/pvfmax_vvvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfmax_vvvMvl(float* %0, float* %1, float* %2, i32* %3, float* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: pvfmax %v3, %v0, %v1, %vm2 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi float* [ %31, %9 ], [ %0, %6 ] - %11 = phi float* [ %32, %9 ], [ %1, %6 ] - %12 = phi float* [ %33, %9 ], [ %2, %6 ] - %13 = phi i32* [ %34, %9 ], [ %3, %6 ] - %14 = phi float* [ %35, %9 ], [ %4, %6 ] - %15 = phi i32 [ %36, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 512 - %18 = ashr i32 %16, 1 - %19 = select i1 %17, i32 %18, i32 256 - %20 = bitcast float* %11 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %20, i32 %19) - %22 = bitcast float* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %19) - %24 = bitcast i32* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %19) - %26 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %25, i32 %19) - %27 = bitcast float* %14 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %27, i32 %19) - %29 = bitcast float* %10 to i8* - %30 = tail call <256 x double> @llvm.ve.vl.pvfmax.vvvMvl(<256 x double> %21, <256 x double> %23, <512 x i1> %26, <256 x double> %28, i32 %19) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %30, i64 8, i8* %29, i32 %19) - %31 = getelementptr inbounds float, float* %10, i64 512 - %32 = getelementptr inbounds float, float* %11, i64 512 - %33 = getelementptr inbounds float, float* %12, i64 512 - %34 = getelementptr inbounds i32, i32* %13, i64 512 - %35 = getelementptr inbounds float, float* %14, i64 512 - %36 = add nuw nsw i32 %15, 512 - %37 = icmp slt i32 %36, %5 - br i1 %37, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfmax.vvvMvl(<256 x double>, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmax_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmax_vvvl.ll deleted file mode 100644 index 58d71287a5cc..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmax_vvvl.ll +++ /dev/null @@ -1,58 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfmax_vvvl.c' -source_filename = "gen/tests/pvfmax_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfmax_vvvl(float* %0, float* %1, float* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: pvfmax %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi float* [ %22, %7 ], [ %0, %4 ] - %9 = phi float* [ %23, %7 ], [ %1, %4 ] - %10 = phi float* [ %24, %7 ], [ %2, %4 ] - %11 = phi i32 [ %25, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 512 - %14 = ashr i32 %12, 1 - %15 = select i1 %13, i32 %14, i32 256 - %16 = bitcast float* %9 to i8* - %17 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %16, i32 %15) - %18 = bitcast float* %10 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %15) - %20 = tail call <256 x double> @llvm.ve.vl.pvfmax.vvvl(<256 x double> %17, <256 x double> %19, i32 %15) - %21 = bitcast float* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %20, i64 8, i8* %21, i32 %15) - %22 = getelementptr inbounds float, float* %8, i64 512 - %23 = getelementptr inbounds float, float* %9, i64 512 - %24 = getelementptr inbounds float, float* %10, i64 512 - %25 = add nuw nsw i32 %11, 512 - %26 = icmp slt i32 %25, %3 - br i1 %26, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfmax.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmin_vsvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmin_vsvMvl.ll deleted file mode 100644 index 8339d5a0bcce..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmin_vsvMvl.ll +++ /dev/null @@ -1,66 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfmin_vsvMvl.c' -source_filename = "gen/tests/pvfmin_vsvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfmin_vsvMvl(float* %0, i64 %1, float* %2, i32* %3, float* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: pvfmin %v2, %s1, %v0, %vm2 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi float* [ %28, %9 ], [ %0, %6 ] - %11 = phi float* [ %29, %9 ], [ %2, %6 ] - %12 = phi i32* [ %30, %9 ], [ %3, %6 ] - %13 = phi float* [ %31, %9 ], [ %4, %6 ] - %14 = phi i32 [ %32, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 512 - %17 = ashr i32 %15, 1 - %18 = select i1 %16, i32 %17, i32 256 - %19 = bitcast float* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast i32* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %22, i32 %18) - %24 = bitcast float* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %18) - %26 = bitcast float* %10 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.pvfmin.vsvMvl(i64 %1, <256 x double> %20, <512 x i1> %23, <256 x double> %25, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %27, i64 8, i8* %26, i32 %18) - %28 = getelementptr inbounds float, float* %10, i64 512 - %29 = getelementptr inbounds float, float* %11, i64 512 - %30 = getelementptr inbounds i32, i32* %12, i64 512 - %31 = getelementptr inbounds float, float* %13, i64 512 - %32 = add nuw nsw i32 %14, 512 - %33 = icmp slt i32 %32, %5 - br i1 %33, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfmin.vsvMvl(i64, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmin_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmin_vsvl.ll deleted file mode 100644 index 28aab2d9bbd4..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmin_vsvl.ll +++ /dev/null @@ -1,54 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfmin_vsvl.c' -source_filename = "gen/tests/pvfmin_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfmin_vsvl(float* %0, i64 %1, float* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: pvfmin %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi float* [ %19, %7 ], [ %0, %4 ] - %9 = phi float* [ %20, %7 ], [ %2, %4 ] - %10 = phi i32 [ %21, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 512 - %13 = ashr i32 %11, 1 - %14 = select i1 %12, i32 %13, i32 256 - %15 = bitcast float* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = tail call <256 x double> @llvm.ve.vl.pvfmin.vsvl(i64 %1, <256 x double> %16, i32 %14) - %18 = bitcast float* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %17, i64 8, i8* %18, i32 %14) - %19 = getelementptr inbounds float, float* %8, i64 512 - %20 = getelementptr inbounds float, float* %9, i64 512 - %21 = add nuw nsw i32 %10, 512 - %22 = icmp slt i32 %21, %3 - br i1 %22, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfmin.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmin_vvvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmin_vvvMvl.ll deleted file mode 100644 index 99b47d78612a..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmin_vvvMvl.ll +++ /dev/null @@ -1,70 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfmin_vvvMvl.c' -source_filename = "gen/tests/pvfmin_vvvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfmin_vvvMvl(float* %0, float* %1, float* %2, i32* %3, float* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: pvfmin %v3, %v0, %v1, %vm2 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi float* [ %31, %9 ], [ %0, %6 ] - %11 = phi float* [ %32, %9 ], [ %1, %6 ] - %12 = phi float* [ %33, %9 ], [ %2, %6 ] - %13 = phi i32* [ %34, %9 ], [ %3, %6 ] - %14 = phi float* [ %35, %9 ], [ %4, %6 ] - %15 = phi i32 [ %36, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 512 - %18 = ashr i32 %16, 1 - %19 = select i1 %17, i32 %18, i32 256 - %20 = bitcast float* %11 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %20, i32 %19) - %22 = bitcast float* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %19) - %24 = bitcast i32* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %19) - %26 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %25, i32 %19) - %27 = bitcast float* %14 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %27, i32 %19) - %29 = bitcast float* %10 to i8* - %30 = tail call <256 x double> @llvm.ve.vl.pvfmin.vvvMvl(<256 x double> %21, <256 x double> %23, <512 x i1> %26, <256 x double> %28, i32 %19) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %30, i64 8, i8* %29, i32 %19) - %31 = getelementptr inbounds float, float* %10, i64 512 - %32 = getelementptr inbounds float, float* %11, i64 512 - %33 = getelementptr inbounds float, float* %12, i64 512 - %34 = getelementptr inbounds i32, i32* %13, i64 512 - %35 = getelementptr inbounds float, float* %14, i64 512 - %36 = add nuw nsw i32 %15, 512 - %37 = icmp slt i32 %36, %5 - br i1 %37, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfmin.vvvMvl(<256 x double>, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmin_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmin_vvvl.ll deleted file mode 100644 index ff5b6b27018a..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmin_vvvl.ll +++ /dev/null @@ -1,58 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfmin_vvvl.c' -source_filename = "gen/tests/pvfmin_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfmin_vvvl(float* %0, float* %1, float* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: pvfmin %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi float* [ %22, %7 ], [ %0, %4 ] - %9 = phi float* [ %23, %7 ], [ %1, %4 ] - %10 = phi float* [ %24, %7 ], [ %2, %4 ] - %11 = phi i32 [ %25, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 512 - %14 = ashr i32 %12, 1 - %15 = select i1 %13, i32 %14, i32 256 - %16 = bitcast float* %9 to i8* - %17 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %16, i32 %15) - %18 = bitcast float* %10 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %15) - %20 = tail call <256 x double> @llvm.ve.vl.pvfmin.vvvl(<256 x double> %17, <256 x double> %19, i32 %15) - %21 = bitcast float* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %20, i64 8, i8* %21, i32 %15) - %22 = getelementptr inbounds float, float* %8, i64 512 - %23 = getelementptr inbounds float, float* %9, i64 512 - %24 = getelementptr inbounds float, float* %10, i64 512 - %25 = add nuw nsw i32 %11, 512 - %26 = icmp slt i32 %25, %3 - br i1 %26, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfmin.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmsb_vsvvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmsb_vsvvMvl.ll deleted file mode 100644 index f04f347bfc05..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmsb_vsvvMvl.ll +++ /dev/null @@ -1,70 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfmsb_vsvvMvl.c' -source_filename = "gen/tests/pvfmsb_vsvvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfmsb_vsvvMvl(float* %0, i64 %1, float* %2, float* %3, i32* %4, float* %5, i32 signext %6) local_unnamed_addr #0 { -; CHECK: pvfmsb %v3, %s1, %v0, %v1, %vm2 - %8 = icmp sgt i32 %6, 0 - br i1 %8, label %10, label %9 - -9: ; preds = %10, %7 - ret void - -10: ; preds = %7, %10 - %11 = phi float* [ %32, %10 ], [ %0, %7 ] - %12 = phi float* [ %33, %10 ], [ %2, %7 ] - %13 = phi float* [ %34, %10 ], [ %3, %7 ] - %14 = phi i32* [ %35, %10 ], [ %4, %7 ] - %15 = phi float* [ %36, %10 ], [ %5, %7 ] - %16 = phi i32 [ %37, %10 ], [ 0, %7 ] - %17 = sub nsw i32 %6, %16 - %18 = icmp slt i32 %17, 512 - %19 = ashr i32 %17, 1 - %20 = select i1 %18, i32 %19, i32 256 - %21 = bitcast float* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %20) - %23 = bitcast float* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %23, i32 %20) - %25 = bitcast i32* %14 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %25, i32 %20) - %27 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %26, i32 %20) - %28 = bitcast float* %15 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %28, i32 %20) - %30 = bitcast float* %11 to i8* - %31 = tail call <256 x double> @llvm.ve.vl.pvfmsb.vsvvMvl(i64 %1, <256 x double> %22, <256 x double> %24, <512 x i1> %27, <256 x double> %29, i32 %20) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %31, i64 8, i8* %30, i32 %20) - %32 = getelementptr inbounds float, float* %11, i64 512 - %33 = getelementptr inbounds float, float* %12, i64 512 - %34 = getelementptr inbounds float, float* %13, i64 512 - %35 = getelementptr inbounds i32, i32* %14, i64 512 - %36 = getelementptr inbounds float, float* %15, i64 512 - %37 = add nuw nsw i32 %16, 512 - %38 = icmp slt i32 %37, %6 - br i1 %38, label %10, label %9 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfmsb.vsvvMvl(i64, <256 x double>, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmsb_vsvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmsb_vsvvl.ll deleted file mode 100644 index 8b317f321ae5..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmsb_vsvvl.ll +++ /dev/null @@ -1,58 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfmsb_vsvvl.c' -source_filename = "gen/tests/pvfmsb_vsvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfmsb_vsvvl(float* %0, i64 %1, float* %2, float* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: pvfmsb %v0, %s1, %v0, %v1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi float* [ %23, %8 ], [ %0, %5 ] - %10 = phi float* [ %24, %8 ], [ %2, %5 ] - %11 = phi float* [ %25, %8 ], [ %3, %5 ] - %12 = phi i32 [ %26, %8 ], [ 0, %5 ] - %13 = sub nsw i32 %4, %12 - %14 = icmp slt i32 %13, 512 - %15 = ashr i32 %13, 1 - %16 = select i1 %14, i32 %15, i32 256 - %17 = bitcast float* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %16) - %19 = bitcast float* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %16) - %21 = tail call <256 x double> @llvm.ve.vl.pvfmsb.vsvvl(i64 %1, <256 x double> %18, <256 x double> %20, i32 %16) - %22 = bitcast float* %9 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %21, i64 8, i8* %22, i32 %16) - %23 = getelementptr inbounds float, float* %9, i64 512 - %24 = getelementptr inbounds float, float* %10, i64 512 - %25 = getelementptr inbounds float, float* %11, i64 512 - %26 = add nuw nsw i32 %12, 512 - %27 = icmp slt i32 %26, %4 - br i1 %27, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfmsb.vsvvl(i64, <256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmsb_vvsvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmsb_vvsvMvl.ll deleted file mode 100644 index f6d96698b03a..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmsb_vvsvMvl.ll +++ /dev/null @@ -1,70 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfmsb_vvsvMvl.c' -source_filename = "gen/tests/pvfmsb_vvsvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfmsb_vvsvMvl(float* %0, float* %1, i64 %2, float* %3, i32* %4, float* %5, i32 signext %6) local_unnamed_addr #0 { -; CHECK: pvfmsb %v3, %v0, %s2, %v1, %vm2 - %8 = icmp sgt i32 %6, 0 - br i1 %8, label %10, label %9 - -9: ; preds = %10, %7 - ret void - -10: ; preds = %7, %10 - %11 = phi float* [ %32, %10 ], [ %0, %7 ] - %12 = phi float* [ %33, %10 ], [ %1, %7 ] - %13 = phi float* [ %34, %10 ], [ %3, %7 ] - %14 = phi i32* [ %35, %10 ], [ %4, %7 ] - %15 = phi float* [ %36, %10 ], [ %5, %7 ] - %16 = phi i32 [ %37, %10 ], [ 0, %7 ] - %17 = sub nsw i32 %6, %16 - %18 = icmp slt i32 %17, 512 - %19 = ashr i32 %17, 1 - %20 = select i1 %18, i32 %19, i32 256 - %21 = bitcast float* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %20) - %23 = bitcast float* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %23, i32 %20) - %25 = bitcast i32* %14 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %25, i32 %20) - %27 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %26, i32 %20) - %28 = bitcast float* %15 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %28, i32 %20) - %30 = bitcast float* %11 to i8* - %31 = tail call <256 x double> @llvm.ve.vl.pvfmsb.vvsvMvl(<256 x double> %22, i64 %2, <256 x double> %24, <512 x i1> %27, <256 x double> %29, i32 %20) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %31, i64 8, i8* %30, i32 %20) - %32 = getelementptr inbounds float, float* %11, i64 512 - %33 = getelementptr inbounds float, float* %12, i64 512 - %34 = getelementptr inbounds float, float* %13, i64 512 - %35 = getelementptr inbounds i32, i32* %14, i64 512 - %36 = getelementptr inbounds float, float* %15, i64 512 - %37 = add nuw nsw i32 %16, 512 - %38 = icmp slt i32 %37, %6 - br i1 %38, label %10, label %9 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfmsb.vvsvMvl(<256 x double>, i64, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmsb_vvsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmsb_vvsvl.ll deleted file mode 100644 index 5a919edc120a..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmsb_vvsvl.ll +++ /dev/null @@ -1,58 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfmsb_vvsvl.c' -source_filename = "gen/tests/pvfmsb_vvsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfmsb_vvsvl(float* %0, float* %1, i64 %2, float* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: pvfmsb %v0, %v0, %s2, %v1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi float* [ %23, %8 ], [ %0, %5 ] - %10 = phi float* [ %24, %8 ], [ %1, %5 ] - %11 = phi float* [ %25, %8 ], [ %3, %5 ] - %12 = phi i32 [ %26, %8 ], [ 0, %5 ] - %13 = sub nsw i32 %4, %12 - %14 = icmp slt i32 %13, 512 - %15 = ashr i32 %13, 1 - %16 = select i1 %14, i32 %15, i32 256 - %17 = bitcast float* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %16) - %19 = bitcast float* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %16) - %21 = tail call <256 x double> @llvm.ve.vl.pvfmsb.vvsvl(<256 x double> %18, i64 %2, <256 x double> %20, i32 %16) - %22 = bitcast float* %9 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %21, i64 8, i8* %22, i32 %16) - %23 = getelementptr inbounds float, float* %9, i64 512 - %24 = getelementptr inbounds float, float* %10, i64 512 - %25 = getelementptr inbounds float, float* %11, i64 512 - %26 = add nuw nsw i32 %12, 512 - %27 = icmp slt i32 %26, %4 - br i1 %27, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfmsb.vvsvl(<256 x double>, i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmsb_vvvvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmsb_vvvvMvl.ll deleted file mode 100644 index c69d1a084326..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmsb_vvvvMvl.ll +++ /dev/null @@ -1,74 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfmsb_vvvvMvl.c' -source_filename = "gen/tests/pvfmsb_vvvvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfmsb_vvvvMvl(float* %0, float* %1, float* %2, float* %3, i32* %4, float* %5, i32 signext %6) local_unnamed_addr #0 { -; CHECK: pvfmsb %v4, %v0, %v1, %v2, %vm2 - %8 = icmp sgt i32 %6, 0 - br i1 %8, label %10, label %9 - -9: ; preds = %10, %7 - ret void - -10: ; preds = %7, %10 - %11 = phi float* [ %35, %10 ], [ %0, %7 ] - %12 = phi float* [ %36, %10 ], [ %1, %7 ] - %13 = phi float* [ %37, %10 ], [ %2, %7 ] - %14 = phi float* [ %38, %10 ], [ %3, %7 ] - %15 = phi i32* [ %39, %10 ], [ %4, %7 ] - %16 = phi float* [ %40, %10 ], [ %5, %7 ] - %17 = phi i32 [ %41, %10 ], [ 0, %7 ] - %18 = sub nsw i32 %6, %17 - %19 = icmp slt i32 %18, 512 - %20 = ashr i32 %18, 1 - %21 = select i1 %19, i32 %20, i32 256 - %22 = bitcast float* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %21) - %24 = bitcast float* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %21) - %26 = bitcast float* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %26, i32 %21) - %28 = bitcast i32* %15 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %28, i32 %21) - %30 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %29, i32 %21) - %31 = bitcast float* %16 to i8* - %32 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %31, i32 %21) - %33 = bitcast float* %11 to i8* - %34 = tail call <256 x double> @llvm.ve.vl.pvfmsb.vvvvMvl(<256 x double> %23, <256 x double> %25, <256 x double> %27, <512 x i1> %30, <256 x double> %32, i32 %21) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %34, i64 8, i8* %33, i32 %21) - %35 = getelementptr inbounds float, float* %11, i64 512 - %36 = getelementptr inbounds float, float* %12, i64 512 - %37 = getelementptr inbounds float, float* %13, i64 512 - %38 = getelementptr inbounds float, float* %14, i64 512 - %39 = getelementptr inbounds i32, i32* %15, i64 512 - %40 = getelementptr inbounds float, float* %16, i64 512 - %41 = add nuw nsw i32 %17, 512 - %42 = icmp slt i32 %41, %6 - br i1 %42, label %10, label %9 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfmsb.vvvvMvl(<256 x double>, <256 x double>, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmsb_vvvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmsb_vvvvl.ll deleted file mode 100644 index 75822ae46015..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmsb_vvvvl.ll +++ /dev/null @@ -1,62 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfmsb_vvvvl.c' -source_filename = "gen/tests/pvfmsb_vvvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfmsb_vvvvl(float* %0, float* %1, float* %2, float* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: pvfmsb %v0, %v0, %v1, %v2 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi float* [ %26, %8 ], [ %0, %5 ] - %10 = phi float* [ %27, %8 ], [ %1, %5 ] - %11 = phi float* [ %28, %8 ], [ %2, %5 ] - %12 = phi float* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 512 - %16 = ashr i32 %14, 1 - %17 = select i1 %15, i32 %16, i32 256 - %18 = bitcast float* %10 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %17) - %20 = bitcast float* %11 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %20, i32 %17) - %22 = bitcast float* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %17) - %24 = tail call <256 x double> @llvm.ve.vl.pvfmsb.vvvvl(<256 x double> %19, <256 x double> %21, <256 x double> %23, i32 %17) - %25 = bitcast float* %9 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %24, i64 8, i8* %25, i32 %17) - %26 = getelementptr inbounds float, float* %9, i64 512 - %27 = getelementptr inbounds float, float* %10, i64 512 - %28 = getelementptr inbounds float, float* %11, i64 512 - %29 = getelementptr inbounds float, float* %12, i64 512 - %30 = add nuw nsw i32 %13, 512 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfmsb.vvvvl(<256 x double>, <256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmul_vsvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmul_vsvMvl.ll deleted file mode 100644 index eb5347c2e58c..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmul_vsvMvl.ll +++ /dev/null @@ -1,66 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfmul_vsvMvl.c' -source_filename = "gen/tests/pvfmul_vsvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfmul_vsvMvl(float* %0, i64 %1, float* %2, i32* %3, float* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: pvfmul %v2, %s1, %v0, %vm2 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi float* [ %28, %9 ], [ %0, %6 ] - %11 = phi float* [ %29, %9 ], [ %2, %6 ] - %12 = phi i32* [ %30, %9 ], [ %3, %6 ] - %13 = phi float* [ %31, %9 ], [ %4, %6 ] - %14 = phi i32 [ %32, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 512 - %17 = ashr i32 %15, 1 - %18 = select i1 %16, i32 %17, i32 256 - %19 = bitcast float* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast i32* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %22, i32 %18) - %24 = bitcast float* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %18) - %26 = bitcast float* %10 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.pvfmul.vsvMvl(i64 %1, <256 x double> %20, <512 x i1> %23, <256 x double> %25, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %27, i64 8, i8* %26, i32 %18) - %28 = getelementptr inbounds float, float* %10, i64 512 - %29 = getelementptr inbounds float, float* %11, i64 512 - %30 = getelementptr inbounds i32, i32* %12, i64 512 - %31 = getelementptr inbounds float, float* %13, i64 512 - %32 = add nuw nsw i32 %14, 512 - %33 = icmp slt i32 %32, %5 - br i1 %33, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfmul.vsvMvl(i64, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmul_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmul_vsvl.ll deleted file mode 100644 index 571432d74ba1..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmul_vsvl.ll +++ /dev/null @@ -1,54 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfmul_vsvl.c' -source_filename = "gen/tests/pvfmul_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfmul_vsvl(float* %0, i64 %1, float* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: pvfmul %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi float* [ %19, %7 ], [ %0, %4 ] - %9 = phi float* [ %20, %7 ], [ %2, %4 ] - %10 = phi i32 [ %21, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 512 - %13 = ashr i32 %11, 1 - %14 = select i1 %12, i32 %13, i32 256 - %15 = bitcast float* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = tail call <256 x double> @llvm.ve.vl.pvfmul.vsvl(i64 %1, <256 x double> %16, i32 %14) - %18 = bitcast float* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %17, i64 8, i8* %18, i32 %14) - %19 = getelementptr inbounds float, float* %8, i64 512 - %20 = getelementptr inbounds float, float* %9, i64 512 - %21 = add nuw nsw i32 %10, 512 - %22 = icmp slt i32 %21, %3 - br i1 %22, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfmul.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmul_vvvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmul_vvvMvl.ll deleted file mode 100644 index 6a94027db09d..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmul_vvvMvl.ll +++ /dev/null @@ -1,70 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfmul_vvvMvl.c' -source_filename = "gen/tests/pvfmul_vvvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfmul_vvvMvl(float* %0, float* %1, float* %2, i32* %3, float* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: pvfmul %v3, %v0, %v1, %vm2 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi float* [ %31, %9 ], [ %0, %6 ] - %11 = phi float* [ %32, %9 ], [ %1, %6 ] - %12 = phi float* [ %33, %9 ], [ %2, %6 ] - %13 = phi i32* [ %34, %9 ], [ %3, %6 ] - %14 = phi float* [ %35, %9 ], [ %4, %6 ] - %15 = phi i32 [ %36, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 512 - %18 = ashr i32 %16, 1 - %19 = select i1 %17, i32 %18, i32 256 - %20 = bitcast float* %11 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %20, i32 %19) - %22 = bitcast float* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %19) - %24 = bitcast i32* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %19) - %26 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %25, i32 %19) - %27 = bitcast float* %14 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %27, i32 %19) - %29 = bitcast float* %10 to i8* - %30 = tail call <256 x double> @llvm.ve.vl.pvfmul.vvvMvl(<256 x double> %21, <256 x double> %23, <512 x i1> %26, <256 x double> %28, i32 %19) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %30, i64 8, i8* %29, i32 %19) - %31 = getelementptr inbounds float, float* %10, i64 512 - %32 = getelementptr inbounds float, float* %11, i64 512 - %33 = getelementptr inbounds float, float* %12, i64 512 - %34 = getelementptr inbounds i32, i32* %13, i64 512 - %35 = getelementptr inbounds float, float* %14, i64 512 - %36 = add nuw nsw i32 %15, 512 - %37 = icmp slt i32 %36, %5 - br i1 %37, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfmul.vvvMvl(<256 x double>, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmul_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmul_vvvl.ll deleted file mode 100644 index 3904c71fc26f..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfmul_vvvl.ll +++ /dev/null @@ -1,58 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfmul_vvvl.c' -source_filename = "gen/tests/pvfmul_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfmul_vvvl(float* %0, float* %1, float* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: pvfmul %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi float* [ %22, %7 ], [ %0, %4 ] - %9 = phi float* [ %23, %7 ], [ %1, %4 ] - %10 = phi float* [ %24, %7 ], [ %2, %4 ] - %11 = phi i32 [ %25, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 512 - %14 = ashr i32 %12, 1 - %15 = select i1 %13, i32 %14, i32 256 - %16 = bitcast float* %9 to i8* - %17 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %16, i32 %15) - %18 = bitcast float* %10 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %15) - %20 = tail call <256 x double> @llvm.ve.vl.pvfmul.vvvl(<256 x double> %17, <256 x double> %19, i32 %15) - %21 = bitcast float* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %20, i64 8, i8* %21, i32 %15) - %22 = getelementptr inbounds float, float* %8, i64 512 - %23 = getelementptr inbounds float, float* %9, i64 512 - %24 = getelementptr inbounds float, float* %10, i64 512 - %25 = add nuw nsw i32 %11, 512 - %26 = icmp slt i32 %25, %3 - br i1 %26, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfmul.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfnmad_vsvvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfnmad_vsvvMvl.ll deleted file mode 100644 index c62cbae7a63d..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfnmad_vsvvMvl.ll +++ /dev/null @@ -1,70 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfnmad_vsvvMvl.c' -source_filename = "gen/tests/pvfnmad_vsvvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfnmad_vsvvMvl(float* %0, i64 %1, float* %2, float* %3, i32* %4, float* %5, i32 signext %6) local_unnamed_addr #0 { -; CHECK: pvfnmad %v3, %s1, %v0, %v1, %vm2 - %8 = icmp sgt i32 %6, 0 - br i1 %8, label %10, label %9 - -9: ; preds = %10, %7 - ret void - -10: ; preds = %7, %10 - %11 = phi float* [ %32, %10 ], [ %0, %7 ] - %12 = phi float* [ %33, %10 ], [ %2, %7 ] - %13 = phi float* [ %34, %10 ], [ %3, %7 ] - %14 = phi i32* [ %35, %10 ], [ %4, %7 ] - %15 = phi float* [ %36, %10 ], [ %5, %7 ] - %16 = phi i32 [ %37, %10 ], [ 0, %7 ] - %17 = sub nsw i32 %6, %16 - %18 = icmp slt i32 %17, 512 - %19 = ashr i32 %17, 1 - %20 = select i1 %18, i32 %19, i32 256 - %21 = bitcast float* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %20) - %23 = bitcast float* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %23, i32 %20) - %25 = bitcast i32* %14 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %25, i32 %20) - %27 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %26, i32 %20) - %28 = bitcast float* %15 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %28, i32 %20) - %30 = bitcast float* %11 to i8* - %31 = tail call <256 x double> @llvm.ve.vl.pvfnmad.vsvvMvl(i64 %1, <256 x double> %22, <256 x double> %24, <512 x i1> %27, <256 x double> %29, i32 %20) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %31, i64 8, i8* %30, i32 %20) - %32 = getelementptr inbounds float, float* %11, i64 512 - %33 = getelementptr inbounds float, float* %12, i64 512 - %34 = getelementptr inbounds float, float* %13, i64 512 - %35 = getelementptr inbounds i32, i32* %14, i64 512 - %36 = getelementptr inbounds float, float* %15, i64 512 - %37 = add nuw nsw i32 %16, 512 - %38 = icmp slt i32 %37, %6 - br i1 %38, label %10, label %9 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfnmad.vsvvMvl(i64, <256 x double>, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfnmad_vsvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfnmad_vsvvl.ll deleted file mode 100644 index 632019eec408..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfnmad_vsvvl.ll +++ /dev/null @@ -1,58 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfnmad_vsvvl.c' -source_filename = "gen/tests/pvfnmad_vsvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfnmad_vsvvl(float* %0, i64 %1, float* %2, float* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: pvfnmad %v0, %s1, %v0, %v1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi float* [ %23, %8 ], [ %0, %5 ] - %10 = phi float* [ %24, %8 ], [ %2, %5 ] - %11 = phi float* [ %25, %8 ], [ %3, %5 ] - %12 = phi i32 [ %26, %8 ], [ 0, %5 ] - %13 = sub nsw i32 %4, %12 - %14 = icmp slt i32 %13, 512 - %15 = ashr i32 %13, 1 - %16 = select i1 %14, i32 %15, i32 256 - %17 = bitcast float* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %16) - %19 = bitcast float* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %16) - %21 = tail call <256 x double> @llvm.ve.vl.pvfnmad.vsvvl(i64 %1, <256 x double> %18, <256 x double> %20, i32 %16) - %22 = bitcast float* %9 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %21, i64 8, i8* %22, i32 %16) - %23 = getelementptr inbounds float, float* %9, i64 512 - %24 = getelementptr inbounds float, float* %10, i64 512 - %25 = getelementptr inbounds float, float* %11, i64 512 - %26 = add nuw nsw i32 %12, 512 - %27 = icmp slt i32 %26, %4 - br i1 %27, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfnmad.vsvvl(i64, <256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfnmad_vvsvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfnmad_vvsvMvl.ll deleted file mode 100644 index 27436a3ebf3e..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfnmad_vvsvMvl.ll +++ /dev/null @@ -1,70 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfnmad_vvsvMvl.c' -source_filename = "gen/tests/pvfnmad_vvsvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfnmad_vvsvMvl(float* %0, float* %1, i64 %2, float* %3, i32* %4, float* %5, i32 signext %6) local_unnamed_addr #0 { -; CHECK: pvfnmad %v3, %v0, %s2, %v1, %vm2 - %8 = icmp sgt i32 %6, 0 - br i1 %8, label %10, label %9 - -9: ; preds = %10, %7 - ret void - -10: ; preds = %7, %10 - %11 = phi float* [ %32, %10 ], [ %0, %7 ] - %12 = phi float* [ %33, %10 ], [ %1, %7 ] - %13 = phi float* [ %34, %10 ], [ %3, %7 ] - %14 = phi i32* [ %35, %10 ], [ %4, %7 ] - %15 = phi float* [ %36, %10 ], [ %5, %7 ] - %16 = phi i32 [ %37, %10 ], [ 0, %7 ] - %17 = sub nsw i32 %6, %16 - %18 = icmp slt i32 %17, 512 - %19 = ashr i32 %17, 1 - %20 = select i1 %18, i32 %19, i32 256 - %21 = bitcast float* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %20) - %23 = bitcast float* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %23, i32 %20) - %25 = bitcast i32* %14 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %25, i32 %20) - %27 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %26, i32 %20) - %28 = bitcast float* %15 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %28, i32 %20) - %30 = bitcast float* %11 to i8* - %31 = tail call <256 x double> @llvm.ve.vl.pvfnmad.vvsvMvl(<256 x double> %22, i64 %2, <256 x double> %24, <512 x i1> %27, <256 x double> %29, i32 %20) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %31, i64 8, i8* %30, i32 %20) - %32 = getelementptr inbounds float, float* %11, i64 512 - %33 = getelementptr inbounds float, float* %12, i64 512 - %34 = getelementptr inbounds float, float* %13, i64 512 - %35 = getelementptr inbounds i32, i32* %14, i64 512 - %36 = getelementptr inbounds float, float* %15, i64 512 - %37 = add nuw nsw i32 %16, 512 - %38 = icmp slt i32 %37, %6 - br i1 %38, label %10, label %9 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfnmad.vvsvMvl(<256 x double>, i64, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfnmad_vvsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfnmad_vvsvl.ll deleted file mode 100644 index 008edccc215c..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfnmad_vvsvl.ll +++ /dev/null @@ -1,58 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfnmad_vvsvl.c' -source_filename = "gen/tests/pvfnmad_vvsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfnmad_vvsvl(float* %0, float* %1, i64 %2, float* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: pvfnmad %v0, %v0, %s2, %v1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi float* [ %23, %8 ], [ %0, %5 ] - %10 = phi float* [ %24, %8 ], [ %1, %5 ] - %11 = phi float* [ %25, %8 ], [ %3, %5 ] - %12 = phi i32 [ %26, %8 ], [ 0, %5 ] - %13 = sub nsw i32 %4, %12 - %14 = icmp slt i32 %13, 512 - %15 = ashr i32 %13, 1 - %16 = select i1 %14, i32 %15, i32 256 - %17 = bitcast float* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %16) - %19 = bitcast float* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %16) - %21 = tail call <256 x double> @llvm.ve.vl.pvfnmad.vvsvl(<256 x double> %18, i64 %2, <256 x double> %20, i32 %16) - %22 = bitcast float* %9 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %21, i64 8, i8* %22, i32 %16) - %23 = getelementptr inbounds float, float* %9, i64 512 - %24 = getelementptr inbounds float, float* %10, i64 512 - %25 = getelementptr inbounds float, float* %11, i64 512 - %26 = add nuw nsw i32 %12, 512 - %27 = icmp slt i32 %26, %4 - br i1 %27, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfnmad.vvsvl(<256 x double>, i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfnmad_vvvvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfnmad_vvvvMvl.ll deleted file mode 100644 index 505c5f7ffc1b..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfnmad_vvvvMvl.ll +++ /dev/null @@ -1,74 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfnmad_vvvvMvl.c' -source_filename = "gen/tests/pvfnmad_vvvvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfnmad_vvvvMvl(float* %0, float* %1, float* %2, float* %3, i32* %4, float* %5, i32 signext %6) local_unnamed_addr #0 { -; CHECK: pvfnmad %v4, %v0, %v1, %v2, %vm2 - %8 = icmp sgt i32 %6, 0 - br i1 %8, label %10, label %9 - -9: ; preds = %10, %7 - ret void - -10: ; preds = %7, %10 - %11 = phi float* [ %35, %10 ], [ %0, %7 ] - %12 = phi float* [ %36, %10 ], [ %1, %7 ] - %13 = phi float* [ %37, %10 ], [ %2, %7 ] - %14 = phi float* [ %38, %10 ], [ %3, %7 ] - %15 = phi i32* [ %39, %10 ], [ %4, %7 ] - %16 = phi float* [ %40, %10 ], [ %5, %7 ] - %17 = phi i32 [ %41, %10 ], [ 0, %7 ] - %18 = sub nsw i32 %6, %17 - %19 = icmp slt i32 %18, 512 - %20 = ashr i32 %18, 1 - %21 = select i1 %19, i32 %20, i32 256 - %22 = bitcast float* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %21) - %24 = bitcast float* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %21) - %26 = bitcast float* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %26, i32 %21) - %28 = bitcast i32* %15 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %28, i32 %21) - %30 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %29, i32 %21) - %31 = bitcast float* %16 to i8* - %32 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %31, i32 %21) - %33 = bitcast float* %11 to i8* - %34 = tail call <256 x double> @llvm.ve.vl.pvfnmad.vvvvMvl(<256 x double> %23, <256 x double> %25, <256 x double> %27, <512 x i1> %30, <256 x double> %32, i32 %21) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %34, i64 8, i8* %33, i32 %21) - %35 = getelementptr inbounds float, float* %11, i64 512 - %36 = getelementptr inbounds float, float* %12, i64 512 - %37 = getelementptr inbounds float, float* %13, i64 512 - %38 = getelementptr inbounds float, float* %14, i64 512 - %39 = getelementptr inbounds i32, i32* %15, i64 512 - %40 = getelementptr inbounds float, float* %16, i64 512 - %41 = add nuw nsw i32 %17, 512 - %42 = icmp slt i32 %41, %6 - br i1 %42, label %10, label %9 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfnmad.vvvvMvl(<256 x double>, <256 x double>, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfnmad_vvvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfnmad_vvvvl.ll deleted file mode 100644 index 278a9fe5fa77..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfnmad_vvvvl.ll +++ /dev/null @@ -1,62 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfnmad_vvvvl.c' -source_filename = "gen/tests/pvfnmad_vvvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfnmad_vvvvl(float* %0, float* %1, float* %2, float* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: pvfnmad %v0, %v0, %v1, %v2 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi float* [ %26, %8 ], [ %0, %5 ] - %10 = phi float* [ %27, %8 ], [ %1, %5 ] - %11 = phi float* [ %28, %8 ], [ %2, %5 ] - %12 = phi float* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 512 - %16 = ashr i32 %14, 1 - %17 = select i1 %15, i32 %16, i32 256 - %18 = bitcast float* %10 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %17) - %20 = bitcast float* %11 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %20, i32 %17) - %22 = bitcast float* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %17) - %24 = tail call <256 x double> @llvm.ve.vl.pvfnmad.vvvvl(<256 x double> %19, <256 x double> %21, <256 x double> %23, i32 %17) - %25 = bitcast float* %9 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %24, i64 8, i8* %25, i32 %17) - %26 = getelementptr inbounds float, float* %9, i64 512 - %27 = getelementptr inbounds float, float* %10, i64 512 - %28 = getelementptr inbounds float, float* %11, i64 512 - %29 = getelementptr inbounds float, float* %12, i64 512 - %30 = add nuw nsw i32 %13, 512 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfnmad.vvvvl(<256 x double>, <256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfnmsb_vsvvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfnmsb_vsvvMvl.ll deleted file mode 100644 index 6d8a0dec218d..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfnmsb_vsvvMvl.ll +++ /dev/null @@ -1,70 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfnmsb_vsvvMvl.c' -source_filename = "gen/tests/pvfnmsb_vsvvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfnmsb_vsvvMvl(float* %0, i64 %1, float* %2, float* %3, i32* %4, float* %5, i32 signext %6) local_unnamed_addr #0 { -; CHECK: pvfnmsb %v3, %s1, %v0, %v1, %vm2 - %8 = icmp sgt i32 %6, 0 - br i1 %8, label %10, label %9 - -9: ; preds = %10, %7 - ret void - -10: ; preds = %7, %10 - %11 = phi float* [ %32, %10 ], [ %0, %7 ] - %12 = phi float* [ %33, %10 ], [ %2, %7 ] - %13 = phi float* [ %34, %10 ], [ %3, %7 ] - %14 = phi i32* [ %35, %10 ], [ %4, %7 ] - %15 = phi float* [ %36, %10 ], [ %5, %7 ] - %16 = phi i32 [ %37, %10 ], [ 0, %7 ] - %17 = sub nsw i32 %6, %16 - %18 = icmp slt i32 %17, 512 - %19 = ashr i32 %17, 1 - %20 = select i1 %18, i32 %19, i32 256 - %21 = bitcast float* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %20) - %23 = bitcast float* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %23, i32 %20) - %25 = bitcast i32* %14 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %25, i32 %20) - %27 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %26, i32 %20) - %28 = bitcast float* %15 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %28, i32 %20) - %30 = bitcast float* %11 to i8* - %31 = tail call <256 x double> @llvm.ve.vl.pvfnmsb.vsvvMvl(i64 %1, <256 x double> %22, <256 x double> %24, <512 x i1> %27, <256 x double> %29, i32 %20) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %31, i64 8, i8* %30, i32 %20) - %32 = getelementptr inbounds float, float* %11, i64 512 - %33 = getelementptr inbounds float, float* %12, i64 512 - %34 = getelementptr inbounds float, float* %13, i64 512 - %35 = getelementptr inbounds i32, i32* %14, i64 512 - %36 = getelementptr inbounds float, float* %15, i64 512 - %37 = add nuw nsw i32 %16, 512 - %38 = icmp slt i32 %37, %6 - br i1 %38, label %10, label %9 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfnmsb.vsvvMvl(i64, <256 x double>, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfnmsb_vsvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfnmsb_vsvvl.ll deleted file mode 100644 index 21df6170ea75..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfnmsb_vsvvl.ll +++ /dev/null @@ -1,58 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfnmsb_vsvvl.c' -source_filename = "gen/tests/pvfnmsb_vsvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfnmsb_vsvvl(float* %0, i64 %1, float* %2, float* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: pvfnmsb %v0, %s1, %v0, %v1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi float* [ %23, %8 ], [ %0, %5 ] - %10 = phi float* [ %24, %8 ], [ %2, %5 ] - %11 = phi float* [ %25, %8 ], [ %3, %5 ] - %12 = phi i32 [ %26, %8 ], [ 0, %5 ] - %13 = sub nsw i32 %4, %12 - %14 = icmp slt i32 %13, 512 - %15 = ashr i32 %13, 1 - %16 = select i1 %14, i32 %15, i32 256 - %17 = bitcast float* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %16) - %19 = bitcast float* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %16) - %21 = tail call <256 x double> @llvm.ve.vl.pvfnmsb.vsvvl(i64 %1, <256 x double> %18, <256 x double> %20, i32 %16) - %22 = bitcast float* %9 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %21, i64 8, i8* %22, i32 %16) - %23 = getelementptr inbounds float, float* %9, i64 512 - %24 = getelementptr inbounds float, float* %10, i64 512 - %25 = getelementptr inbounds float, float* %11, i64 512 - %26 = add nuw nsw i32 %12, 512 - %27 = icmp slt i32 %26, %4 - br i1 %27, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfnmsb.vsvvl(i64, <256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfnmsb_vvsvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfnmsb_vvsvMvl.ll deleted file mode 100644 index e7370651de81..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfnmsb_vvsvMvl.ll +++ /dev/null @@ -1,70 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfnmsb_vvsvMvl.c' -source_filename = "gen/tests/pvfnmsb_vvsvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfnmsb_vvsvMvl(float* %0, float* %1, i64 %2, float* %3, i32* %4, float* %5, i32 signext %6) local_unnamed_addr #0 { -; CHECK: pvfnmsb %v3, %v0, %s2, %v1, %vm2 - %8 = icmp sgt i32 %6, 0 - br i1 %8, label %10, label %9 - -9: ; preds = %10, %7 - ret void - -10: ; preds = %7, %10 - %11 = phi float* [ %32, %10 ], [ %0, %7 ] - %12 = phi float* [ %33, %10 ], [ %1, %7 ] - %13 = phi float* [ %34, %10 ], [ %3, %7 ] - %14 = phi i32* [ %35, %10 ], [ %4, %7 ] - %15 = phi float* [ %36, %10 ], [ %5, %7 ] - %16 = phi i32 [ %37, %10 ], [ 0, %7 ] - %17 = sub nsw i32 %6, %16 - %18 = icmp slt i32 %17, 512 - %19 = ashr i32 %17, 1 - %20 = select i1 %18, i32 %19, i32 256 - %21 = bitcast float* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %20) - %23 = bitcast float* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %23, i32 %20) - %25 = bitcast i32* %14 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %25, i32 %20) - %27 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %26, i32 %20) - %28 = bitcast float* %15 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %28, i32 %20) - %30 = bitcast float* %11 to i8* - %31 = tail call <256 x double> @llvm.ve.vl.pvfnmsb.vvsvMvl(<256 x double> %22, i64 %2, <256 x double> %24, <512 x i1> %27, <256 x double> %29, i32 %20) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %31, i64 8, i8* %30, i32 %20) - %32 = getelementptr inbounds float, float* %11, i64 512 - %33 = getelementptr inbounds float, float* %12, i64 512 - %34 = getelementptr inbounds float, float* %13, i64 512 - %35 = getelementptr inbounds i32, i32* %14, i64 512 - %36 = getelementptr inbounds float, float* %15, i64 512 - %37 = add nuw nsw i32 %16, 512 - %38 = icmp slt i32 %37, %6 - br i1 %38, label %10, label %9 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfnmsb.vvsvMvl(<256 x double>, i64, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfnmsb_vvsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfnmsb_vvsvl.ll deleted file mode 100644 index 52e989f4b085..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfnmsb_vvsvl.ll +++ /dev/null @@ -1,58 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfnmsb_vvsvl.c' -source_filename = "gen/tests/pvfnmsb_vvsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfnmsb_vvsvl(float* %0, float* %1, i64 %2, float* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: pvfnmsb %v0, %v0, %s2, %v1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi float* [ %23, %8 ], [ %0, %5 ] - %10 = phi float* [ %24, %8 ], [ %1, %5 ] - %11 = phi float* [ %25, %8 ], [ %3, %5 ] - %12 = phi i32 [ %26, %8 ], [ 0, %5 ] - %13 = sub nsw i32 %4, %12 - %14 = icmp slt i32 %13, 512 - %15 = ashr i32 %13, 1 - %16 = select i1 %14, i32 %15, i32 256 - %17 = bitcast float* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %16) - %19 = bitcast float* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %16) - %21 = tail call <256 x double> @llvm.ve.vl.pvfnmsb.vvsvl(<256 x double> %18, i64 %2, <256 x double> %20, i32 %16) - %22 = bitcast float* %9 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %21, i64 8, i8* %22, i32 %16) - %23 = getelementptr inbounds float, float* %9, i64 512 - %24 = getelementptr inbounds float, float* %10, i64 512 - %25 = getelementptr inbounds float, float* %11, i64 512 - %26 = add nuw nsw i32 %12, 512 - %27 = icmp slt i32 %26, %4 - br i1 %27, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfnmsb.vvsvl(<256 x double>, i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfnmsb_vvvvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfnmsb_vvvvMvl.ll deleted file mode 100644 index 4ed78bab4fdc..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfnmsb_vvvvMvl.ll +++ /dev/null @@ -1,74 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfnmsb_vvvvMvl.c' -source_filename = "gen/tests/pvfnmsb_vvvvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfnmsb_vvvvMvl(float* %0, float* %1, float* %2, float* %3, i32* %4, float* %5, i32 signext %6) local_unnamed_addr #0 { -; CHECK: pvfnmsb %v4, %v0, %v1, %v2, %vm2 - %8 = icmp sgt i32 %6, 0 - br i1 %8, label %10, label %9 - -9: ; preds = %10, %7 - ret void - -10: ; preds = %7, %10 - %11 = phi float* [ %35, %10 ], [ %0, %7 ] - %12 = phi float* [ %36, %10 ], [ %1, %7 ] - %13 = phi float* [ %37, %10 ], [ %2, %7 ] - %14 = phi float* [ %38, %10 ], [ %3, %7 ] - %15 = phi i32* [ %39, %10 ], [ %4, %7 ] - %16 = phi float* [ %40, %10 ], [ %5, %7 ] - %17 = phi i32 [ %41, %10 ], [ 0, %7 ] - %18 = sub nsw i32 %6, %17 - %19 = icmp slt i32 %18, 512 - %20 = ashr i32 %18, 1 - %21 = select i1 %19, i32 %20, i32 256 - %22 = bitcast float* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %21) - %24 = bitcast float* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %21) - %26 = bitcast float* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %26, i32 %21) - %28 = bitcast i32* %15 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %28, i32 %21) - %30 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %29, i32 %21) - %31 = bitcast float* %16 to i8* - %32 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %31, i32 %21) - %33 = bitcast float* %11 to i8* - %34 = tail call <256 x double> @llvm.ve.vl.pvfnmsb.vvvvMvl(<256 x double> %23, <256 x double> %25, <256 x double> %27, <512 x i1> %30, <256 x double> %32, i32 %21) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %34, i64 8, i8* %33, i32 %21) - %35 = getelementptr inbounds float, float* %11, i64 512 - %36 = getelementptr inbounds float, float* %12, i64 512 - %37 = getelementptr inbounds float, float* %13, i64 512 - %38 = getelementptr inbounds float, float* %14, i64 512 - %39 = getelementptr inbounds i32, i32* %15, i64 512 - %40 = getelementptr inbounds float, float* %16, i64 512 - %41 = add nuw nsw i32 %17, 512 - %42 = icmp slt i32 %41, %6 - br i1 %42, label %10, label %9 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfnmsb.vvvvMvl(<256 x double>, <256 x double>, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfnmsb_vvvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfnmsb_vvvvl.ll deleted file mode 100644 index e4347dcd0da7..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfnmsb_vvvvl.ll +++ /dev/null @@ -1,62 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfnmsb_vvvvl.c' -source_filename = "gen/tests/pvfnmsb_vvvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfnmsb_vvvvl(float* %0, float* %1, float* %2, float* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: pvfnmsb %v0, %v0, %v1, %v2 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi float* [ %26, %8 ], [ %0, %5 ] - %10 = phi float* [ %27, %8 ], [ %1, %5 ] - %11 = phi float* [ %28, %8 ], [ %2, %5 ] - %12 = phi float* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 512 - %16 = ashr i32 %14, 1 - %17 = select i1 %15, i32 %16, i32 256 - %18 = bitcast float* %10 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %17) - %20 = bitcast float* %11 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %20, i32 %17) - %22 = bitcast float* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %17) - %24 = tail call <256 x double> @llvm.ve.vl.pvfnmsb.vvvvl(<256 x double> %19, <256 x double> %21, <256 x double> %23, i32 %17) - %25 = bitcast float* %9 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %24, i64 8, i8* %25, i32 %17) - %26 = getelementptr inbounds float, float* %9, i64 512 - %27 = getelementptr inbounds float, float* %10, i64 512 - %28 = getelementptr inbounds float, float* %11, i64 512 - %29 = getelementptr inbounds float, float* %12, i64 512 - %30 = add nuw nsw i32 %13, 512 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfnmsb.vvvvl(<256 x double>, <256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfsub_vsvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfsub_vsvMvl.ll deleted file mode 100644 index e7ba7e4b3658..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfsub_vsvMvl.ll +++ /dev/null @@ -1,66 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfsub_vsvMvl.c' -source_filename = "gen/tests/pvfsub_vsvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfsub_vsvMvl(float* %0, i64 %1, float* %2, i32* %3, float* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: pvfsub %v2, %s1, %v0, %vm2 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi float* [ %28, %9 ], [ %0, %6 ] - %11 = phi float* [ %29, %9 ], [ %2, %6 ] - %12 = phi i32* [ %30, %9 ], [ %3, %6 ] - %13 = phi float* [ %31, %9 ], [ %4, %6 ] - %14 = phi i32 [ %32, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 512 - %17 = ashr i32 %15, 1 - %18 = select i1 %16, i32 %17, i32 256 - %19 = bitcast float* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast i32* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %22, i32 %18) - %24 = bitcast float* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %18) - %26 = bitcast float* %10 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.pvfsub.vsvMvl(i64 %1, <256 x double> %20, <512 x i1> %23, <256 x double> %25, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %27, i64 8, i8* %26, i32 %18) - %28 = getelementptr inbounds float, float* %10, i64 512 - %29 = getelementptr inbounds float, float* %11, i64 512 - %30 = getelementptr inbounds i32, i32* %12, i64 512 - %31 = getelementptr inbounds float, float* %13, i64 512 - %32 = add nuw nsw i32 %14, 512 - %33 = icmp slt i32 %32, %5 - br i1 %33, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfsub.vsvMvl(i64, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfsub_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfsub_vsvl.ll deleted file mode 100644 index 5540d8a1e222..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfsub_vsvl.ll +++ /dev/null @@ -1,54 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfsub_vsvl.c' -source_filename = "gen/tests/pvfsub_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfsub_vsvl(float* %0, i64 %1, float* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: pvfsub %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi float* [ %19, %7 ], [ %0, %4 ] - %9 = phi float* [ %20, %7 ], [ %2, %4 ] - %10 = phi i32 [ %21, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 512 - %13 = ashr i32 %11, 1 - %14 = select i1 %12, i32 %13, i32 256 - %15 = bitcast float* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = tail call <256 x double> @llvm.ve.vl.pvfsub.vsvl(i64 %1, <256 x double> %16, i32 %14) - %18 = bitcast float* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %17, i64 8, i8* %18, i32 %14) - %19 = getelementptr inbounds float, float* %8, i64 512 - %20 = getelementptr inbounds float, float* %9, i64 512 - %21 = add nuw nsw i32 %10, 512 - %22 = icmp slt i32 %21, %3 - br i1 %22, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfsub.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfsub_vvvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfsub_vvvMvl.ll deleted file mode 100644 index 8e9421ec1eb0..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfsub_vvvMvl.ll +++ /dev/null @@ -1,70 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfsub_vvvMvl.c' -source_filename = "gen/tests/pvfsub_vvvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfsub_vvvMvl(float* %0, float* %1, float* %2, i32* %3, float* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: pvfsub %v3, %v0, %v1, %vm2 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi float* [ %31, %9 ], [ %0, %6 ] - %11 = phi float* [ %32, %9 ], [ %1, %6 ] - %12 = phi float* [ %33, %9 ], [ %2, %6 ] - %13 = phi i32* [ %34, %9 ], [ %3, %6 ] - %14 = phi float* [ %35, %9 ], [ %4, %6 ] - %15 = phi i32 [ %36, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 512 - %18 = ashr i32 %16, 1 - %19 = select i1 %17, i32 %18, i32 256 - %20 = bitcast float* %11 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %20, i32 %19) - %22 = bitcast float* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %19) - %24 = bitcast i32* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %19) - %26 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %25, i32 %19) - %27 = bitcast float* %14 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %27, i32 %19) - %29 = bitcast float* %10 to i8* - %30 = tail call <256 x double> @llvm.ve.vl.pvfsub.vvvMvl(<256 x double> %21, <256 x double> %23, <512 x i1> %26, <256 x double> %28, i32 %19) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %30, i64 8, i8* %29, i32 %19) - %31 = getelementptr inbounds float, float* %10, i64 512 - %32 = getelementptr inbounds float, float* %11, i64 512 - %33 = getelementptr inbounds float, float* %12, i64 512 - %34 = getelementptr inbounds i32, i32* %13, i64 512 - %35 = getelementptr inbounds float, float* %14, i64 512 - %36 = add nuw nsw i32 %15, 512 - %37 = icmp slt i32 %36, %5 - br i1 %37, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfsub.vvvMvl(<256 x double>, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfsub_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfsub_vvvl.ll deleted file mode 100644 index 4778b805ec26..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvfsub_vvvl.ll +++ /dev/null @@ -1,58 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvfsub_vvvl.c' -source_filename = "gen/tests/pvfsub_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvfsub_vvvl(float* %0, float* %1, float* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: pvfsub %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi float* [ %22, %7 ], [ %0, %4 ] - %9 = phi float* [ %23, %7 ], [ %1, %4 ] - %10 = phi float* [ %24, %7 ], [ %2, %4 ] - %11 = phi i32 [ %25, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 512 - %14 = ashr i32 %12, 1 - %15 = select i1 %13, i32 %14, i32 256 - %16 = bitcast float* %9 to i8* - %17 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %16, i32 %15) - %18 = bitcast float* %10 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %15) - %20 = tail call <256 x double> @llvm.ve.vl.pvfsub.vvvl(<256 x double> %17, <256 x double> %19, i32 %15) - %21 = bitcast float* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %20, i64 8, i8* %21, i32 %15) - %22 = getelementptr inbounds float, float* %8, i64 512 - %23 = getelementptr inbounds float, float* %9, i64 512 - %24 = getelementptr inbounds float, float* %10, i64 512 - %25 = add nuw nsw i32 %11, 512 - %26 = icmp slt i32 %25, %3 - br i1 %26, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvfsub.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvmaxs_vsvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvmaxs_vsvMvl.ll deleted file mode 100644 index 3ddc76836be3..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvmaxs_vsvMvl.ll +++ /dev/null @@ -1,66 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvmaxs_vsvMvl.c' -source_filename = "gen/tests/pvmaxs_vsvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvmaxs_vsvMvl(i32* %0, i64 %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: pvmaxs %v2, %s1, %v0, %vm2 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %28, %9 ], [ %0, %6 ] - %11 = phi i32* [ %29, %9 ], [ %2, %6 ] - %12 = phi i32* [ %30, %9 ], [ %3, %6 ] - %13 = phi i32* [ %31, %9 ], [ %4, %6 ] - %14 = phi i32 [ %32, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 512 - %17 = ashr i32 %15, 1 - %18 = select i1 %16, i32 %17, i32 256 - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast i32* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %22, i32 %18) - %24 = bitcast i32* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %18) - %26 = bitcast i32* %10 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.pvmaxs.vsvMvl(i64 %1, <256 x double> %20, <512 x i1> %23, <256 x double> %25, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %27, i64 8, i8* %26, i32 %18) - %28 = getelementptr inbounds i32, i32* %10, i64 512 - %29 = getelementptr inbounds i32, i32* %11, i64 512 - %30 = getelementptr inbounds i32, i32* %12, i64 512 - %31 = getelementptr inbounds i32, i32* %13, i64 512 - %32 = add nuw nsw i32 %14, 512 - %33 = icmp slt i32 %32, %5 - br i1 %33, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvmaxs.vsvMvl(i64, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvmaxs_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvmaxs_vsvl.ll deleted file mode 100644 index 324201748512..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvmaxs_vsvl.ll +++ /dev/null @@ -1,54 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvmaxs_vsvl.c' -source_filename = "gen/tests/pvmaxs_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvmaxs_vsvl(i32* %0, i64 %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: pvmaxs %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %19, %7 ], [ %0, %4 ] - %9 = phi i32* [ %20, %7 ], [ %2, %4 ] - %10 = phi i32 [ %21, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 512 - %13 = ashr i32 %11, 1 - %14 = select i1 %12, i32 %13, i32 256 - %15 = bitcast i32* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = tail call <256 x double> @llvm.ve.vl.pvmaxs.vsvl(i64 %1, <256 x double> %16, i32 %14) - %18 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %17, i64 8, i8* %18, i32 %14) - %19 = getelementptr inbounds i32, i32* %8, i64 512 - %20 = getelementptr inbounds i32, i32* %9, i64 512 - %21 = add nuw nsw i32 %10, 512 - %22 = icmp slt i32 %21, %3 - br i1 %22, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvmaxs.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvmaxs_vvvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvmaxs_vvvMvl.ll deleted file mode 100644 index 65e2f083bea5..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvmaxs_vvvMvl.ll +++ /dev/null @@ -1,70 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvmaxs_vvvMvl.c' -source_filename = "gen/tests/pvmaxs_vvvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvmaxs_vvvMvl(i32* %0, i32* %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: pvmaxs %v3, %v0, %v1, %vm2 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %31, %9 ], [ %0, %6 ] - %11 = phi i32* [ %32, %9 ], [ %1, %6 ] - %12 = phi i32* [ %33, %9 ], [ %2, %6 ] - %13 = phi i32* [ %34, %9 ], [ %3, %6 ] - %14 = phi i32* [ %35, %9 ], [ %4, %6 ] - %15 = phi i32 [ %36, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 512 - %18 = ashr i32 %16, 1 - %19 = select i1 %17, i32 %18, i32 256 - %20 = bitcast i32* %11 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %20, i32 %19) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %19) - %24 = bitcast i32* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %19) - %26 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %25, i32 %19) - %27 = bitcast i32* %14 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %27, i32 %19) - %29 = bitcast i32* %10 to i8* - %30 = tail call <256 x double> @llvm.ve.vl.pvmaxs.vvvMvl(<256 x double> %21, <256 x double> %23, <512 x i1> %26, <256 x double> %28, i32 %19) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %30, i64 8, i8* %29, i32 %19) - %31 = getelementptr inbounds i32, i32* %10, i64 512 - %32 = getelementptr inbounds i32, i32* %11, i64 512 - %33 = getelementptr inbounds i32, i32* %12, i64 512 - %34 = getelementptr inbounds i32, i32* %13, i64 512 - %35 = getelementptr inbounds i32, i32* %14, i64 512 - %36 = add nuw nsw i32 %15, 512 - %37 = icmp slt i32 %36, %5 - br i1 %37, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvmaxs.vvvMvl(<256 x double>, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvmaxs_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvmaxs_vvvl.ll deleted file mode 100644 index 5d282577a2fa..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvmaxs_vvvl.ll +++ /dev/null @@ -1,58 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvmaxs_vvvl.c' -source_filename = "gen/tests/pvmaxs_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvmaxs_vvvl(i32* %0, i32* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: pvmaxs %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %22, %7 ], [ %0, %4 ] - %9 = phi i32* [ %23, %7 ], [ %1, %4 ] - %10 = phi i32* [ %24, %7 ], [ %2, %4 ] - %11 = phi i32 [ %25, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 512 - %14 = ashr i32 %12, 1 - %15 = select i1 %13, i32 %14, i32 256 - %16 = bitcast i32* %9 to i8* - %17 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %16, i32 %15) - %18 = bitcast i32* %10 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %15) - %20 = tail call <256 x double> @llvm.ve.vl.pvmaxs.vvvl(<256 x double> %17, <256 x double> %19, i32 %15) - %21 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %20, i64 8, i8* %21, i32 %15) - %22 = getelementptr inbounds i32, i32* %8, i64 512 - %23 = getelementptr inbounds i32, i32* %9, i64 512 - %24 = getelementptr inbounds i32, i32* %10, i64 512 - %25 = add nuw nsw i32 %11, 512 - %26 = icmp slt i32 %25, %3 - br i1 %26, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvmaxs.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvmins_vsvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvmins_vsvMvl.ll deleted file mode 100644 index a4e4943aa7bc..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvmins_vsvMvl.ll +++ /dev/null @@ -1,66 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvmins_vsvMvl.c' -source_filename = "gen/tests/pvmins_vsvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvmins_vsvMvl(i32* %0, i64 %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: pvmins %v2, %s1, %v0, %vm2 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %28, %9 ], [ %0, %6 ] - %11 = phi i32* [ %29, %9 ], [ %2, %6 ] - %12 = phi i32* [ %30, %9 ], [ %3, %6 ] - %13 = phi i32* [ %31, %9 ], [ %4, %6 ] - %14 = phi i32 [ %32, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 512 - %17 = ashr i32 %15, 1 - %18 = select i1 %16, i32 %17, i32 256 - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast i32* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %22, i32 %18) - %24 = bitcast i32* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %18) - %26 = bitcast i32* %10 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.pvmins.vsvMvl(i64 %1, <256 x double> %20, <512 x i1> %23, <256 x double> %25, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %27, i64 8, i8* %26, i32 %18) - %28 = getelementptr inbounds i32, i32* %10, i64 512 - %29 = getelementptr inbounds i32, i32* %11, i64 512 - %30 = getelementptr inbounds i32, i32* %12, i64 512 - %31 = getelementptr inbounds i32, i32* %13, i64 512 - %32 = add nuw nsw i32 %14, 512 - %33 = icmp slt i32 %32, %5 - br i1 %33, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvmins.vsvMvl(i64, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvmins_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvmins_vsvl.ll deleted file mode 100644 index 5f661b51e17a..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvmins_vsvl.ll +++ /dev/null @@ -1,54 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvmins_vsvl.c' -source_filename = "gen/tests/pvmins_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvmins_vsvl(i32* %0, i64 %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: pvmins %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %19, %7 ], [ %0, %4 ] - %9 = phi i32* [ %20, %7 ], [ %2, %4 ] - %10 = phi i32 [ %21, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 512 - %13 = ashr i32 %11, 1 - %14 = select i1 %12, i32 %13, i32 256 - %15 = bitcast i32* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = tail call <256 x double> @llvm.ve.vl.pvmins.vsvl(i64 %1, <256 x double> %16, i32 %14) - %18 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %17, i64 8, i8* %18, i32 %14) - %19 = getelementptr inbounds i32, i32* %8, i64 512 - %20 = getelementptr inbounds i32, i32* %9, i64 512 - %21 = add nuw nsw i32 %10, 512 - %22 = icmp slt i32 %21, %3 - br i1 %22, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvmins.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvmins_vvvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvmins_vvvMvl.ll deleted file mode 100644 index f29756256fc2..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvmins_vvvMvl.ll +++ /dev/null @@ -1,70 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvmins_vvvMvl.c' -source_filename = "gen/tests/pvmins_vvvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvmins_vvvMvl(i32* %0, i32* %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: pvmins %v3, %v0, %v1, %vm2 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %31, %9 ], [ %0, %6 ] - %11 = phi i32* [ %32, %9 ], [ %1, %6 ] - %12 = phi i32* [ %33, %9 ], [ %2, %6 ] - %13 = phi i32* [ %34, %9 ], [ %3, %6 ] - %14 = phi i32* [ %35, %9 ], [ %4, %6 ] - %15 = phi i32 [ %36, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 512 - %18 = ashr i32 %16, 1 - %19 = select i1 %17, i32 %18, i32 256 - %20 = bitcast i32* %11 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %20, i32 %19) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %19) - %24 = bitcast i32* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %19) - %26 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %25, i32 %19) - %27 = bitcast i32* %14 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %27, i32 %19) - %29 = bitcast i32* %10 to i8* - %30 = tail call <256 x double> @llvm.ve.vl.pvmins.vvvMvl(<256 x double> %21, <256 x double> %23, <512 x i1> %26, <256 x double> %28, i32 %19) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %30, i64 8, i8* %29, i32 %19) - %31 = getelementptr inbounds i32, i32* %10, i64 512 - %32 = getelementptr inbounds i32, i32* %11, i64 512 - %33 = getelementptr inbounds i32, i32* %12, i64 512 - %34 = getelementptr inbounds i32, i32* %13, i64 512 - %35 = getelementptr inbounds i32, i32* %14, i64 512 - %36 = add nuw nsw i32 %15, 512 - %37 = icmp slt i32 %36, %5 - br i1 %37, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvmins.vvvMvl(<256 x double>, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvmins_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvmins_vvvl.ll deleted file mode 100644 index a08e84c3ab03..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvmins_vvvl.ll +++ /dev/null @@ -1,58 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvmins_vvvl.c' -source_filename = "gen/tests/pvmins_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvmins_vvvl(i32* %0, i32* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: pvmins %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %22, %7 ], [ %0, %4 ] - %9 = phi i32* [ %23, %7 ], [ %1, %4 ] - %10 = phi i32* [ %24, %7 ], [ %2, %4 ] - %11 = phi i32 [ %25, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 512 - %14 = ashr i32 %12, 1 - %15 = select i1 %13, i32 %14, i32 256 - %16 = bitcast i32* %9 to i8* - %17 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %16, i32 %15) - %18 = bitcast i32* %10 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %15) - %20 = tail call <256 x double> @llvm.ve.vl.pvmins.vvvl(<256 x double> %17, <256 x double> %19, i32 %15) - %21 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %20, i64 8, i8* %21, i32 %15) - %22 = getelementptr inbounds i32, i32* %8, i64 512 - %23 = getelementptr inbounds i32, i32* %9, i64 512 - %24 = getelementptr inbounds i32, i32* %10, i64 512 - %25 = add nuw nsw i32 %11, 512 - %26 = icmp slt i32 %25, %3 - br i1 %26, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvmins.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvor_vsvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvor_vsvMvl.ll deleted file mode 100644 index 13e9a1fa254c..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvor_vsvMvl.ll +++ /dev/null @@ -1,66 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvor_vsvMvl.c' -source_filename = "gen/tests/pvor_vsvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvor_vsvMvl(i32* %0, i64 %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: pvor %v2, %s1, %v0, %vm2 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %28, %9 ], [ %0, %6 ] - %11 = phi i32* [ %29, %9 ], [ %2, %6 ] - %12 = phi i32* [ %30, %9 ], [ %3, %6 ] - %13 = phi i32* [ %31, %9 ], [ %4, %6 ] - %14 = phi i32 [ %32, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 512 - %17 = ashr i32 %15, 1 - %18 = select i1 %16, i32 %17, i32 256 - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast i32* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %22, i32 %18) - %24 = bitcast i32* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %18) - %26 = bitcast i32* %10 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.pvor.vsvMvl(i64 %1, <256 x double> %20, <512 x i1> %23, <256 x double> %25, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %27, i64 8, i8* %26, i32 %18) - %28 = getelementptr inbounds i32, i32* %10, i64 512 - %29 = getelementptr inbounds i32, i32* %11, i64 512 - %30 = getelementptr inbounds i32, i32* %12, i64 512 - %31 = getelementptr inbounds i32, i32* %13, i64 512 - %32 = add nuw nsw i32 %14, 512 - %33 = icmp slt i32 %32, %5 - br i1 %33, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvor.vsvMvl(i64, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvor_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvor_vsvl.ll deleted file mode 100644 index 9bd9a43ed64d..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvor_vsvl.ll +++ /dev/null @@ -1,54 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvor_vsvl.c' -source_filename = "gen/tests/pvor_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvor_vsvl(i32* %0, i64 %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: pvor %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %19, %7 ], [ %0, %4 ] - %9 = phi i32* [ %20, %7 ], [ %2, %4 ] - %10 = phi i32 [ %21, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 512 - %13 = ashr i32 %11, 1 - %14 = select i1 %12, i32 %13, i32 256 - %15 = bitcast i32* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = tail call <256 x double> @llvm.ve.vl.pvor.vsvl(i64 %1, <256 x double> %16, i32 %14) - %18 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %17, i64 8, i8* %18, i32 %14) - %19 = getelementptr inbounds i32, i32* %8, i64 512 - %20 = getelementptr inbounds i32, i32* %9, i64 512 - %21 = add nuw nsw i32 %10, 512 - %22 = icmp slt i32 %21, %3 - br i1 %22, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvor.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvor_vvvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvor_vvvMvl.ll deleted file mode 100644 index e41f71a809e5..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvor_vvvMvl.ll +++ /dev/null @@ -1,70 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvor_vvvMvl.c' -source_filename = "gen/tests/pvor_vvvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvor_vvvMvl(i32* %0, i32* %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: pvor %v3, %v0, %v1, %vm2 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %31, %9 ], [ %0, %6 ] - %11 = phi i32* [ %32, %9 ], [ %1, %6 ] - %12 = phi i32* [ %33, %9 ], [ %2, %6 ] - %13 = phi i32* [ %34, %9 ], [ %3, %6 ] - %14 = phi i32* [ %35, %9 ], [ %4, %6 ] - %15 = phi i32 [ %36, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 512 - %18 = ashr i32 %16, 1 - %19 = select i1 %17, i32 %18, i32 256 - %20 = bitcast i32* %11 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %20, i32 %19) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %19) - %24 = bitcast i32* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %19) - %26 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %25, i32 %19) - %27 = bitcast i32* %14 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %27, i32 %19) - %29 = bitcast i32* %10 to i8* - %30 = tail call <256 x double> @llvm.ve.vl.pvor.vvvMvl(<256 x double> %21, <256 x double> %23, <512 x i1> %26, <256 x double> %28, i32 %19) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %30, i64 8, i8* %29, i32 %19) - %31 = getelementptr inbounds i32, i32* %10, i64 512 - %32 = getelementptr inbounds i32, i32* %11, i64 512 - %33 = getelementptr inbounds i32, i32* %12, i64 512 - %34 = getelementptr inbounds i32, i32* %13, i64 512 - %35 = getelementptr inbounds i32, i32* %14, i64 512 - %36 = add nuw nsw i32 %15, 512 - %37 = icmp slt i32 %36, %5 - br i1 %37, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvor.vvvMvl(<256 x double>, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvor_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvor_vvvl.ll deleted file mode 100644 index a024cbb6a2f7..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvor_vvvl.ll +++ /dev/null @@ -1,58 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvor_vvvl.c' -source_filename = "gen/tests/pvor_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvor_vvvl(i32* %0, i32* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: pvor %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %22, %7 ], [ %0, %4 ] - %9 = phi i32* [ %23, %7 ], [ %1, %4 ] - %10 = phi i32* [ %24, %7 ], [ %2, %4 ] - %11 = phi i32 [ %25, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 512 - %14 = ashr i32 %12, 1 - %15 = select i1 %13, i32 %14, i32 256 - %16 = bitcast i32* %9 to i8* - %17 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %16, i32 %15) - %18 = bitcast i32* %10 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %15) - %20 = tail call <256 x double> @llvm.ve.vl.pvor.vvvl(<256 x double> %17, <256 x double> %19, i32 %15) - %21 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %20, i64 8, i8* %21, i32 %15) - %22 = getelementptr inbounds i32, i32* %8, i64 512 - %23 = getelementptr inbounds i32, i32* %9, i64 512 - %24 = getelementptr inbounds i32, i32* %10, i64 512 - %25 = add nuw nsw i32 %11, 512 - %26 = icmp slt i32 %25, %3 - br i1 %26, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvor.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvrcp_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvrcp_vvl.ll deleted file mode 100644 index 3afbe89ec9b5..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvrcp_vvl.ll +++ /dev/null @@ -1,54 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvrcp_vvl.c' -source_filename = "gen/tests/pvrcp_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvrcp_vvl(float* %0, float* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: pvrcp %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi float* [ %18, %6 ], [ %0, %3 ] - %8 = phi float* [ %19, %6 ], [ %1, %3 ] - %9 = phi i32 [ %20, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 512 - %12 = ashr i32 %10, 1 - %13 = select i1 %11, i32 %12, i32 256 - %14 = bitcast float* %8 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.pvrcp.vvl(<256 x double> %15, i32 %13) - %17 = bitcast float* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %16, i64 8, i8* %17, i32 %13) - %18 = getelementptr inbounds float, float* %7, i64 512 - %19 = getelementptr inbounds float, float* %8, i64 512 - %20 = add nuw nsw i32 %9, 512 - %21 = icmp slt i32 %20, %2 - br i1 %21, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvrcp.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvrsqrt_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvrsqrt_vvl.ll deleted file mode 100644 index 809013a96a28..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvrsqrt_vvl.ll +++ /dev/null @@ -1,54 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvrsqrt_vvl.c' -source_filename = "gen/tests/pvrsqrt_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvrsqrt_vvl(float* %0, float* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: pvrsqrt %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi float* [ %18, %6 ], [ %0, %3 ] - %8 = phi float* [ %19, %6 ], [ %1, %3 ] - %9 = phi i32 [ %20, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 512 - %12 = ashr i32 %10, 1 - %13 = select i1 %11, i32 %12, i32 256 - %14 = bitcast float* %8 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.pvrsqrt.vvl(<256 x double> %15, i32 %13) - %17 = bitcast float* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %16, i64 8, i8* %17, i32 %13) - %18 = getelementptr inbounds float, float* %7, i64 512 - %19 = getelementptr inbounds float, float* %8, i64 512 - %20 = add nuw nsw i32 %9, 512 - %21 = icmp slt i32 %20, %2 - br i1 %21, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvrsqrt.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvrsqrtnex_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvrsqrtnex_vvl.ll deleted file mode 100644 index 9982dccac0b7..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvrsqrtnex_vvl.ll +++ /dev/null @@ -1,54 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvrsqrtnex_vvl.c' -source_filename = "gen/tests/pvrsqrtnex_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvrsqrtnex_vvl(float* %0, float* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: pvrsqrt.nex %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi float* [ %18, %6 ], [ %0, %3 ] - %8 = phi float* [ %19, %6 ], [ %1, %3 ] - %9 = phi i32 [ %20, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 512 - %12 = ashr i32 %10, 1 - %13 = select i1 %11, i32 %12, i32 256 - %14 = bitcast float* %8 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.pvrsqrtnex.vvl(<256 x double> %15, i32 %13) - %17 = bitcast float* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %16, i64 8, i8* %17, i32 %13) - %18 = getelementptr inbounds float, float* %7, i64 512 - %19 = getelementptr inbounds float, float* %8, i64 512 - %20 = add nuw nsw i32 %9, 512 - %21 = icmp slt i32 %20, %2 - br i1 %21, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvrsqrtnex.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsla_vvsMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsla_vvsMvl.ll deleted file mode 100644 index f1e162658029..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsla_vvsMvl.ll +++ /dev/null @@ -1,66 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvsla_vvsMvl.c' -source_filename = "gen/tests/pvsla_vvsMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvsla_vvsMvl(i32* %0, i32* %1, i64 %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: pvsla %v2, %v0, %s2, %vm2 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %28, %9 ], [ %0, %6 ] - %11 = phi i32* [ %29, %9 ], [ %1, %6 ] - %12 = phi i32* [ %30, %9 ], [ %3, %6 ] - %13 = phi i32* [ %31, %9 ], [ %4, %6 ] - %14 = phi i32 [ %32, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 512 - %17 = ashr i32 %15, 1 - %18 = select i1 %16, i32 %17, i32 256 - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast i32* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %22, i32 %18) - %24 = bitcast i32* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %18) - %26 = bitcast i32* %10 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.pvsla.vvsMvl(<256 x double> %20, i64 %2, <512 x i1> %23, <256 x double> %25, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %27, i64 8, i8* %26, i32 %18) - %28 = getelementptr inbounds i32, i32* %10, i64 512 - %29 = getelementptr inbounds i32, i32* %11, i64 512 - %30 = getelementptr inbounds i32, i32* %12, i64 512 - %31 = getelementptr inbounds i32, i32* %13, i64 512 - %32 = add nuw nsw i32 %14, 512 - %33 = icmp slt i32 %32, %5 - br i1 %33, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvsla.vvsMvl(<256 x double>, i64, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsla_vvsl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsla_vvsl.ll deleted file mode 100644 index f81f507b8cb4..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsla_vvsl.ll +++ /dev/null @@ -1,54 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvsla_vvsl.c' -source_filename = "gen/tests/pvsla_vvsl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvsla_vvsl(i32* %0, i32* %1, i64 %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: pvsla %v0, %v0, %s2 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %19, %7 ], [ %0, %4 ] - %9 = phi i32* [ %20, %7 ], [ %1, %4 ] - %10 = phi i32 [ %21, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 512 - %13 = ashr i32 %11, 1 - %14 = select i1 %12, i32 %13, i32 256 - %15 = bitcast i32* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = tail call <256 x double> @llvm.ve.vl.pvsla.vvsl(<256 x double> %16, i64 %2, i32 %14) - %18 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %17, i64 8, i8* %18, i32 %14) - %19 = getelementptr inbounds i32, i32* %8, i64 512 - %20 = getelementptr inbounds i32, i32* %9, i64 512 - %21 = add nuw nsw i32 %10, 512 - %22 = icmp slt i32 %21, %3 - br i1 %22, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvsla.vvsl(<256 x double>, i64, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsla_vvvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsla_vvvMvl.ll deleted file mode 100644 index ff8c12c4a644..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsla_vvvMvl.ll +++ /dev/null @@ -1,70 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvsla_vvvMvl.c' -source_filename = "gen/tests/pvsla_vvvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvsla_vvvMvl(i32* %0, i32* %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: pvsla %v3, %v0, %v1, %vm2 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %31, %9 ], [ %0, %6 ] - %11 = phi i32* [ %32, %9 ], [ %1, %6 ] - %12 = phi i32* [ %33, %9 ], [ %2, %6 ] - %13 = phi i32* [ %34, %9 ], [ %3, %6 ] - %14 = phi i32* [ %35, %9 ], [ %4, %6 ] - %15 = phi i32 [ %36, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 512 - %18 = ashr i32 %16, 1 - %19 = select i1 %17, i32 %18, i32 256 - %20 = bitcast i32* %11 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %20, i32 %19) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %19) - %24 = bitcast i32* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %19) - %26 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %25, i32 %19) - %27 = bitcast i32* %14 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %27, i32 %19) - %29 = bitcast i32* %10 to i8* - %30 = tail call <256 x double> @llvm.ve.vl.pvsla.vvvMvl(<256 x double> %21, <256 x double> %23, <512 x i1> %26, <256 x double> %28, i32 %19) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %30, i64 8, i8* %29, i32 %19) - %31 = getelementptr inbounds i32, i32* %10, i64 512 - %32 = getelementptr inbounds i32, i32* %11, i64 512 - %33 = getelementptr inbounds i32, i32* %12, i64 512 - %34 = getelementptr inbounds i32, i32* %13, i64 512 - %35 = getelementptr inbounds i32, i32* %14, i64 512 - %36 = add nuw nsw i32 %15, 512 - %37 = icmp slt i32 %36, %5 - br i1 %37, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvsla.vvvMvl(<256 x double>, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsla_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsla_vvvl.ll deleted file mode 100644 index 0236c48679b8..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsla_vvvl.ll +++ /dev/null @@ -1,58 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvsla_vvvl.c' -source_filename = "gen/tests/pvsla_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvsla_vvvl(i32* %0, i32* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: pvsla %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %22, %7 ], [ %0, %4 ] - %9 = phi i32* [ %23, %7 ], [ %1, %4 ] - %10 = phi i32* [ %24, %7 ], [ %2, %4 ] - %11 = phi i32 [ %25, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 512 - %14 = ashr i32 %12, 1 - %15 = select i1 %13, i32 %14, i32 256 - %16 = bitcast i32* %9 to i8* - %17 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %16, i32 %15) - %18 = bitcast i32* %10 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %15) - %20 = tail call <256 x double> @llvm.ve.vl.pvsla.vvvl(<256 x double> %17, <256 x double> %19, i32 %15) - %21 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %20, i64 8, i8* %21, i32 %15) - %22 = getelementptr inbounds i32, i32* %8, i64 512 - %23 = getelementptr inbounds i32, i32* %9, i64 512 - %24 = getelementptr inbounds i32, i32* %10, i64 512 - %25 = add nuw nsw i32 %11, 512 - %26 = icmp slt i32 %25, %3 - br i1 %26, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvsla.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsll_vvsMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsll_vvsMvl.ll deleted file mode 100644 index 9cf49f1c1e8d..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsll_vvsMvl.ll +++ /dev/null @@ -1,66 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvsll_vvsMvl.c' -source_filename = "gen/tests/pvsll_vvsMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvsll_vvsMvl(i32* %0, i32* %1, i64 %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: pvsll %v2, %v0, %s2, %vm2 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %28, %9 ], [ %0, %6 ] - %11 = phi i32* [ %29, %9 ], [ %1, %6 ] - %12 = phi i32* [ %30, %9 ], [ %3, %6 ] - %13 = phi i32* [ %31, %9 ], [ %4, %6 ] - %14 = phi i32 [ %32, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 512 - %17 = ashr i32 %15, 1 - %18 = select i1 %16, i32 %17, i32 256 - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast i32* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %22, i32 %18) - %24 = bitcast i32* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %18) - %26 = bitcast i32* %10 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.pvsll.vvsMvl(<256 x double> %20, i64 %2, <512 x i1> %23, <256 x double> %25, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %27, i64 8, i8* %26, i32 %18) - %28 = getelementptr inbounds i32, i32* %10, i64 512 - %29 = getelementptr inbounds i32, i32* %11, i64 512 - %30 = getelementptr inbounds i32, i32* %12, i64 512 - %31 = getelementptr inbounds i32, i32* %13, i64 512 - %32 = add nuw nsw i32 %14, 512 - %33 = icmp slt i32 %32, %5 - br i1 %33, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvsll.vvsMvl(<256 x double>, i64, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsll_vvsl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsll_vvsl.ll deleted file mode 100644 index f0dd59cddbd0..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsll_vvsl.ll +++ /dev/null @@ -1,54 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvsll_vvsl.c' -source_filename = "gen/tests/pvsll_vvsl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvsll_vvsl(i32* %0, i32* %1, i64 %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: pvsll %v0, %v0, %s2 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %19, %7 ], [ %0, %4 ] - %9 = phi i32* [ %20, %7 ], [ %1, %4 ] - %10 = phi i32 [ %21, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 512 - %13 = ashr i32 %11, 1 - %14 = select i1 %12, i32 %13, i32 256 - %15 = bitcast i32* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = tail call <256 x double> @llvm.ve.vl.pvsll.vvsl(<256 x double> %16, i64 %2, i32 %14) - %18 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %17, i64 8, i8* %18, i32 %14) - %19 = getelementptr inbounds i32, i32* %8, i64 512 - %20 = getelementptr inbounds i32, i32* %9, i64 512 - %21 = add nuw nsw i32 %10, 512 - %22 = icmp slt i32 %21, %3 - br i1 %22, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvsll.vvsl(<256 x double>, i64, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsll_vvvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsll_vvvMvl.ll deleted file mode 100644 index 3582bd2e5cdb..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsll_vvvMvl.ll +++ /dev/null @@ -1,70 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvsll_vvvMvl.c' -source_filename = "gen/tests/pvsll_vvvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvsll_vvvMvl(i32* %0, i32* %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: pvsll %v3, %v0, %v1, %vm2 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %31, %9 ], [ %0, %6 ] - %11 = phi i32* [ %32, %9 ], [ %1, %6 ] - %12 = phi i32* [ %33, %9 ], [ %2, %6 ] - %13 = phi i32* [ %34, %9 ], [ %3, %6 ] - %14 = phi i32* [ %35, %9 ], [ %4, %6 ] - %15 = phi i32 [ %36, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 512 - %18 = ashr i32 %16, 1 - %19 = select i1 %17, i32 %18, i32 256 - %20 = bitcast i32* %11 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %20, i32 %19) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %19) - %24 = bitcast i32* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %19) - %26 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %25, i32 %19) - %27 = bitcast i32* %14 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %27, i32 %19) - %29 = bitcast i32* %10 to i8* - %30 = tail call <256 x double> @llvm.ve.vl.pvsll.vvvMvl(<256 x double> %21, <256 x double> %23, <512 x i1> %26, <256 x double> %28, i32 %19) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %30, i64 8, i8* %29, i32 %19) - %31 = getelementptr inbounds i32, i32* %10, i64 512 - %32 = getelementptr inbounds i32, i32* %11, i64 512 - %33 = getelementptr inbounds i32, i32* %12, i64 512 - %34 = getelementptr inbounds i32, i32* %13, i64 512 - %35 = getelementptr inbounds i32, i32* %14, i64 512 - %36 = add nuw nsw i32 %15, 512 - %37 = icmp slt i32 %36, %5 - br i1 %37, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvsll.vvvMvl(<256 x double>, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsll_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsll_vvvl.ll deleted file mode 100644 index 2f98fbdffa27..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsll_vvvl.ll +++ /dev/null @@ -1,58 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvsll_vvvl.c' -source_filename = "gen/tests/pvsll_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvsll_vvvl(i32* %0, i32* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: pvsll %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %22, %7 ], [ %0, %4 ] - %9 = phi i32* [ %23, %7 ], [ %1, %4 ] - %10 = phi i32* [ %24, %7 ], [ %2, %4 ] - %11 = phi i32 [ %25, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 512 - %14 = ashr i32 %12, 1 - %15 = select i1 %13, i32 %14, i32 256 - %16 = bitcast i32* %9 to i8* - %17 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %16, i32 %15) - %18 = bitcast i32* %10 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %15) - %20 = tail call <256 x double> @llvm.ve.vl.pvsll.vvvl(<256 x double> %17, <256 x double> %19, i32 %15) - %21 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %20, i64 8, i8* %21, i32 %15) - %22 = getelementptr inbounds i32, i32* %8, i64 512 - %23 = getelementptr inbounds i32, i32* %9, i64 512 - %24 = getelementptr inbounds i32, i32* %10, i64 512 - %25 = add nuw nsw i32 %11, 512 - %26 = icmp slt i32 %25, %3 - br i1 %26, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvsll.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsra_vvsMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsra_vvsMvl.ll deleted file mode 100644 index a46f3d7a898e..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsra_vvsMvl.ll +++ /dev/null @@ -1,66 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvsra_vvsMvl.c' -source_filename = "gen/tests/pvsra_vvsMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvsra_vvsMvl(i32* %0, i32* %1, i64 %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: pvsra %v2, %v0, %s2, %vm2 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %28, %9 ], [ %0, %6 ] - %11 = phi i32* [ %29, %9 ], [ %1, %6 ] - %12 = phi i32* [ %30, %9 ], [ %3, %6 ] - %13 = phi i32* [ %31, %9 ], [ %4, %6 ] - %14 = phi i32 [ %32, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 512 - %17 = ashr i32 %15, 1 - %18 = select i1 %16, i32 %17, i32 256 - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast i32* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %22, i32 %18) - %24 = bitcast i32* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %18) - %26 = bitcast i32* %10 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.pvsra.vvsMvl(<256 x double> %20, i64 %2, <512 x i1> %23, <256 x double> %25, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %27, i64 8, i8* %26, i32 %18) - %28 = getelementptr inbounds i32, i32* %10, i64 512 - %29 = getelementptr inbounds i32, i32* %11, i64 512 - %30 = getelementptr inbounds i32, i32* %12, i64 512 - %31 = getelementptr inbounds i32, i32* %13, i64 512 - %32 = add nuw nsw i32 %14, 512 - %33 = icmp slt i32 %32, %5 - br i1 %33, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvsra.vvsMvl(<256 x double>, i64, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsra_vvsl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsra_vvsl.ll deleted file mode 100644 index aae995a481e7..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsra_vvsl.ll +++ /dev/null @@ -1,54 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvsra_vvsl.c' -source_filename = "gen/tests/pvsra_vvsl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvsra_vvsl(i32* %0, i32* %1, i64 %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: pvsra %v0, %v0, %s2 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %19, %7 ], [ %0, %4 ] - %9 = phi i32* [ %20, %7 ], [ %1, %4 ] - %10 = phi i32 [ %21, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 512 - %13 = ashr i32 %11, 1 - %14 = select i1 %12, i32 %13, i32 256 - %15 = bitcast i32* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = tail call <256 x double> @llvm.ve.vl.pvsra.vvsl(<256 x double> %16, i64 %2, i32 %14) - %18 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %17, i64 8, i8* %18, i32 %14) - %19 = getelementptr inbounds i32, i32* %8, i64 512 - %20 = getelementptr inbounds i32, i32* %9, i64 512 - %21 = add nuw nsw i32 %10, 512 - %22 = icmp slt i32 %21, %3 - br i1 %22, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvsra.vvsl(<256 x double>, i64, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsra_vvvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsra_vvvMvl.ll deleted file mode 100644 index 17723024a86b..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsra_vvvMvl.ll +++ /dev/null @@ -1,70 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvsra_vvvMvl.c' -source_filename = "gen/tests/pvsra_vvvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvsra_vvvMvl(i32* %0, i32* %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: pvsra %v3, %v0, %v1, %vm2 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %31, %9 ], [ %0, %6 ] - %11 = phi i32* [ %32, %9 ], [ %1, %6 ] - %12 = phi i32* [ %33, %9 ], [ %2, %6 ] - %13 = phi i32* [ %34, %9 ], [ %3, %6 ] - %14 = phi i32* [ %35, %9 ], [ %4, %6 ] - %15 = phi i32 [ %36, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 512 - %18 = ashr i32 %16, 1 - %19 = select i1 %17, i32 %18, i32 256 - %20 = bitcast i32* %11 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %20, i32 %19) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %19) - %24 = bitcast i32* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %19) - %26 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %25, i32 %19) - %27 = bitcast i32* %14 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %27, i32 %19) - %29 = bitcast i32* %10 to i8* - %30 = tail call <256 x double> @llvm.ve.vl.pvsra.vvvMvl(<256 x double> %21, <256 x double> %23, <512 x i1> %26, <256 x double> %28, i32 %19) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %30, i64 8, i8* %29, i32 %19) - %31 = getelementptr inbounds i32, i32* %10, i64 512 - %32 = getelementptr inbounds i32, i32* %11, i64 512 - %33 = getelementptr inbounds i32, i32* %12, i64 512 - %34 = getelementptr inbounds i32, i32* %13, i64 512 - %35 = getelementptr inbounds i32, i32* %14, i64 512 - %36 = add nuw nsw i32 %15, 512 - %37 = icmp slt i32 %36, %5 - br i1 %37, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvsra.vvvMvl(<256 x double>, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsra_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsra_vvvl.ll deleted file mode 100644 index f35f7036be53..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsra_vvvl.ll +++ /dev/null @@ -1,58 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvsra_vvvl.c' -source_filename = "gen/tests/pvsra_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvsra_vvvl(i32* %0, i32* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: pvsra %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %22, %7 ], [ %0, %4 ] - %9 = phi i32* [ %23, %7 ], [ %1, %4 ] - %10 = phi i32* [ %24, %7 ], [ %2, %4 ] - %11 = phi i32 [ %25, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 512 - %14 = ashr i32 %12, 1 - %15 = select i1 %13, i32 %14, i32 256 - %16 = bitcast i32* %9 to i8* - %17 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %16, i32 %15) - %18 = bitcast i32* %10 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %15) - %20 = tail call <256 x double> @llvm.ve.vl.pvsra.vvvl(<256 x double> %17, <256 x double> %19, i32 %15) - %21 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %20, i64 8, i8* %21, i32 %15) - %22 = getelementptr inbounds i32, i32* %8, i64 512 - %23 = getelementptr inbounds i32, i32* %9, i64 512 - %24 = getelementptr inbounds i32, i32* %10, i64 512 - %25 = add nuw nsw i32 %11, 512 - %26 = icmp slt i32 %25, %3 - br i1 %26, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvsra.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsrl_vvsMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsrl_vvsMvl.ll deleted file mode 100644 index b183a552b1b5..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsrl_vvsMvl.ll +++ /dev/null @@ -1,66 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvsrl_vvsMvl.c' -source_filename = "gen/tests/pvsrl_vvsMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvsrl_vvsMvl(i32* %0, i32* %1, i64 %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: pvsrl %v2, %v0, %s2, %vm2 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %28, %9 ], [ %0, %6 ] - %11 = phi i32* [ %29, %9 ], [ %1, %6 ] - %12 = phi i32* [ %30, %9 ], [ %3, %6 ] - %13 = phi i32* [ %31, %9 ], [ %4, %6 ] - %14 = phi i32 [ %32, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 512 - %17 = ashr i32 %15, 1 - %18 = select i1 %16, i32 %17, i32 256 - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast i32* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %22, i32 %18) - %24 = bitcast i32* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %18) - %26 = bitcast i32* %10 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.pvsrl.vvsMvl(<256 x double> %20, i64 %2, <512 x i1> %23, <256 x double> %25, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %27, i64 8, i8* %26, i32 %18) - %28 = getelementptr inbounds i32, i32* %10, i64 512 - %29 = getelementptr inbounds i32, i32* %11, i64 512 - %30 = getelementptr inbounds i32, i32* %12, i64 512 - %31 = getelementptr inbounds i32, i32* %13, i64 512 - %32 = add nuw nsw i32 %14, 512 - %33 = icmp slt i32 %32, %5 - br i1 %33, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvsrl.vvsMvl(<256 x double>, i64, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsrl_vvsl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsrl_vvsl.ll deleted file mode 100644 index d911c164899e..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsrl_vvsl.ll +++ /dev/null @@ -1,54 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvsrl_vvsl.c' -source_filename = "gen/tests/pvsrl_vvsl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvsrl_vvsl(i32* %0, i32* %1, i64 %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: pvsrl %v0, %v0, %s2 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %19, %7 ], [ %0, %4 ] - %9 = phi i32* [ %20, %7 ], [ %1, %4 ] - %10 = phi i32 [ %21, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 512 - %13 = ashr i32 %11, 1 - %14 = select i1 %12, i32 %13, i32 256 - %15 = bitcast i32* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = tail call <256 x double> @llvm.ve.vl.pvsrl.vvsl(<256 x double> %16, i64 %2, i32 %14) - %18 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %17, i64 8, i8* %18, i32 %14) - %19 = getelementptr inbounds i32, i32* %8, i64 512 - %20 = getelementptr inbounds i32, i32* %9, i64 512 - %21 = add nuw nsw i32 %10, 512 - %22 = icmp slt i32 %21, %3 - br i1 %22, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvsrl.vvsl(<256 x double>, i64, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsrl_vvvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsrl_vvvMvl.ll deleted file mode 100644 index 1ca89395f29c..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsrl_vvvMvl.ll +++ /dev/null @@ -1,70 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvsrl_vvvMvl.c' -source_filename = "gen/tests/pvsrl_vvvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvsrl_vvvMvl(i32* %0, i32* %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: pvsrl %v3, %v0, %v1, %vm2 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %31, %9 ], [ %0, %6 ] - %11 = phi i32* [ %32, %9 ], [ %1, %6 ] - %12 = phi i32* [ %33, %9 ], [ %2, %6 ] - %13 = phi i32* [ %34, %9 ], [ %3, %6 ] - %14 = phi i32* [ %35, %9 ], [ %4, %6 ] - %15 = phi i32 [ %36, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 512 - %18 = ashr i32 %16, 1 - %19 = select i1 %17, i32 %18, i32 256 - %20 = bitcast i32* %11 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %20, i32 %19) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %19) - %24 = bitcast i32* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %19) - %26 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %25, i32 %19) - %27 = bitcast i32* %14 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %27, i32 %19) - %29 = bitcast i32* %10 to i8* - %30 = tail call <256 x double> @llvm.ve.vl.pvsrl.vvvMvl(<256 x double> %21, <256 x double> %23, <512 x i1> %26, <256 x double> %28, i32 %19) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %30, i64 8, i8* %29, i32 %19) - %31 = getelementptr inbounds i32, i32* %10, i64 512 - %32 = getelementptr inbounds i32, i32* %11, i64 512 - %33 = getelementptr inbounds i32, i32* %12, i64 512 - %34 = getelementptr inbounds i32, i32* %13, i64 512 - %35 = getelementptr inbounds i32, i32* %14, i64 512 - %36 = add nuw nsw i32 %15, 512 - %37 = icmp slt i32 %36, %5 - br i1 %37, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvsrl.vvvMvl(<256 x double>, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsrl_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsrl_vvvl.ll deleted file mode 100644 index 8a3d5f797c68..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsrl_vvvl.ll +++ /dev/null @@ -1,58 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvsrl_vvvl.c' -source_filename = "gen/tests/pvsrl_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvsrl_vvvl(i32* %0, i32* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: pvsrl %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %22, %7 ], [ %0, %4 ] - %9 = phi i32* [ %23, %7 ], [ %1, %4 ] - %10 = phi i32* [ %24, %7 ], [ %2, %4 ] - %11 = phi i32 [ %25, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 512 - %14 = ashr i32 %12, 1 - %15 = select i1 %13, i32 %14, i32 256 - %16 = bitcast i32* %9 to i8* - %17 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %16, i32 %15) - %18 = bitcast i32* %10 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %15) - %20 = tail call <256 x double> @llvm.ve.vl.pvsrl.vvvl(<256 x double> %17, <256 x double> %19, i32 %15) - %21 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %20, i64 8, i8* %21, i32 %15) - %22 = getelementptr inbounds i32, i32* %8, i64 512 - %23 = getelementptr inbounds i32, i32* %9, i64 512 - %24 = getelementptr inbounds i32, i32* %10, i64 512 - %25 = add nuw nsw i32 %11, 512 - %26 = icmp slt i32 %25, %3 - br i1 %26, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvsrl.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsubs_vsvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsubs_vsvMvl.ll deleted file mode 100644 index 107903638505..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsubs_vsvMvl.ll +++ /dev/null @@ -1,66 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvsubs_vsvMvl.c' -source_filename = "gen/tests/pvsubs_vsvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvsubs_vsvMvl(i32* %0, i64 %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: pvsubs %v2, %s1, %v0, %vm2 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %28, %9 ], [ %0, %6 ] - %11 = phi i32* [ %29, %9 ], [ %2, %6 ] - %12 = phi i32* [ %30, %9 ], [ %3, %6 ] - %13 = phi i32* [ %31, %9 ], [ %4, %6 ] - %14 = phi i32 [ %32, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 512 - %17 = ashr i32 %15, 1 - %18 = select i1 %16, i32 %17, i32 256 - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast i32* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %22, i32 %18) - %24 = bitcast i32* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %18) - %26 = bitcast i32* %10 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.pvsubs.vsvMvl(i64 %1, <256 x double> %20, <512 x i1> %23, <256 x double> %25, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %27, i64 8, i8* %26, i32 %18) - %28 = getelementptr inbounds i32, i32* %10, i64 512 - %29 = getelementptr inbounds i32, i32* %11, i64 512 - %30 = getelementptr inbounds i32, i32* %12, i64 512 - %31 = getelementptr inbounds i32, i32* %13, i64 512 - %32 = add nuw nsw i32 %14, 512 - %33 = icmp slt i32 %32, %5 - br i1 %33, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvsubs.vsvMvl(i64, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsubs_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsubs_vsvl.ll deleted file mode 100644 index de83b1c8ae30..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsubs_vsvl.ll +++ /dev/null @@ -1,54 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvsubs_vsvl.c' -source_filename = "gen/tests/pvsubs_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvsubs_vsvl(i32* %0, i64 %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: pvsubs %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %19, %7 ], [ %0, %4 ] - %9 = phi i32* [ %20, %7 ], [ %2, %4 ] - %10 = phi i32 [ %21, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 512 - %13 = ashr i32 %11, 1 - %14 = select i1 %12, i32 %13, i32 256 - %15 = bitcast i32* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = tail call <256 x double> @llvm.ve.vl.pvsubs.vsvl(i64 %1, <256 x double> %16, i32 %14) - %18 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %17, i64 8, i8* %18, i32 %14) - %19 = getelementptr inbounds i32, i32* %8, i64 512 - %20 = getelementptr inbounds i32, i32* %9, i64 512 - %21 = add nuw nsw i32 %10, 512 - %22 = icmp slt i32 %21, %3 - br i1 %22, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvsubs.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsubs_vvvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsubs_vvvMvl.ll deleted file mode 100644 index 77e25cd953ad..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsubs_vvvMvl.ll +++ /dev/null @@ -1,70 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvsubs_vvvMvl.c' -source_filename = "gen/tests/pvsubs_vvvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvsubs_vvvMvl(i32* %0, i32* %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: pvsubs %v3, %v0, %v1, %vm2 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %31, %9 ], [ %0, %6 ] - %11 = phi i32* [ %32, %9 ], [ %1, %6 ] - %12 = phi i32* [ %33, %9 ], [ %2, %6 ] - %13 = phi i32* [ %34, %9 ], [ %3, %6 ] - %14 = phi i32* [ %35, %9 ], [ %4, %6 ] - %15 = phi i32 [ %36, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 512 - %18 = ashr i32 %16, 1 - %19 = select i1 %17, i32 %18, i32 256 - %20 = bitcast i32* %11 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %20, i32 %19) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %19) - %24 = bitcast i32* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %19) - %26 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %25, i32 %19) - %27 = bitcast i32* %14 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %27, i32 %19) - %29 = bitcast i32* %10 to i8* - %30 = tail call <256 x double> @llvm.ve.vl.pvsubs.vvvMvl(<256 x double> %21, <256 x double> %23, <512 x i1> %26, <256 x double> %28, i32 %19) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %30, i64 8, i8* %29, i32 %19) - %31 = getelementptr inbounds i32, i32* %10, i64 512 - %32 = getelementptr inbounds i32, i32* %11, i64 512 - %33 = getelementptr inbounds i32, i32* %12, i64 512 - %34 = getelementptr inbounds i32, i32* %13, i64 512 - %35 = getelementptr inbounds i32, i32* %14, i64 512 - %36 = add nuw nsw i32 %15, 512 - %37 = icmp slt i32 %36, %5 - br i1 %37, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvsubs.vvvMvl(<256 x double>, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsubs_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsubs_vvvl.ll deleted file mode 100644 index 349bade878ea..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsubs_vvvl.ll +++ /dev/null @@ -1,58 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvsubs_vvvl.c' -source_filename = "gen/tests/pvsubs_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvsubs_vvvl(i32* %0, i32* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: pvsubs %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %22, %7 ], [ %0, %4 ] - %9 = phi i32* [ %23, %7 ], [ %1, %4 ] - %10 = phi i32* [ %24, %7 ], [ %2, %4 ] - %11 = phi i32 [ %25, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 512 - %14 = ashr i32 %12, 1 - %15 = select i1 %13, i32 %14, i32 256 - %16 = bitcast i32* %9 to i8* - %17 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %16, i32 %15) - %18 = bitcast i32* %10 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %15) - %20 = tail call <256 x double> @llvm.ve.vl.pvsubs.vvvl(<256 x double> %17, <256 x double> %19, i32 %15) - %21 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %20, i64 8, i8* %21, i32 %15) - %22 = getelementptr inbounds i32, i32* %8, i64 512 - %23 = getelementptr inbounds i32, i32* %9, i64 512 - %24 = getelementptr inbounds i32, i32* %10, i64 512 - %25 = add nuw nsw i32 %11, 512 - %26 = icmp slt i32 %25, %3 - br i1 %26, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvsubs.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsubu_vsvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsubu_vsvMvl.ll deleted file mode 100644 index cdb50e5d69b3..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsubu_vsvMvl.ll +++ /dev/null @@ -1,66 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvsubu_vsvMvl.c' -source_filename = "gen/tests/pvsubu_vsvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvsubu_vsvMvl(i32* %0, i64 %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: pvsubu %v2, %s1, %v0, %vm2 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %28, %9 ], [ %0, %6 ] - %11 = phi i32* [ %29, %9 ], [ %2, %6 ] - %12 = phi i32* [ %30, %9 ], [ %3, %6 ] - %13 = phi i32* [ %31, %9 ], [ %4, %6 ] - %14 = phi i32 [ %32, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 512 - %17 = ashr i32 %15, 1 - %18 = select i1 %16, i32 %17, i32 256 - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast i32* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %22, i32 %18) - %24 = bitcast i32* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %18) - %26 = bitcast i32* %10 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.pvsubu.vsvMvl(i64 %1, <256 x double> %20, <512 x i1> %23, <256 x double> %25, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %27, i64 8, i8* %26, i32 %18) - %28 = getelementptr inbounds i32, i32* %10, i64 512 - %29 = getelementptr inbounds i32, i32* %11, i64 512 - %30 = getelementptr inbounds i32, i32* %12, i64 512 - %31 = getelementptr inbounds i32, i32* %13, i64 512 - %32 = add nuw nsw i32 %14, 512 - %33 = icmp slt i32 %32, %5 - br i1 %33, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvsubu.vsvMvl(i64, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsubu_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsubu_vsvl.ll deleted file mode 100644 index 72bae2394925..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsubu_vsvl.ll +++ /dev/null @@ -1,54 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvsubu_vsvl.c' -source_filename = "gen/tests/pvsubu_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvsubu_vsvl(i32* %0, i64 %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: pvsubu %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %19, %7 ], [ %0, %4 ] - %9 = phi i32* [ %20, %7 ], [ %2, %4 ] - %10 = phi i32 [ %21, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 512 - %13 = ashr i32 %11, 1 - %14 = select i1 %12, i32 %13, i32 256 - %15 = bitcast i32* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = tail call <256 x double> @llvm.ve.vl.pvsubu.vsvl(i64 %1, <256 x double> %16, i32 %14) - %18 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %17, i64 8, i8* %18, i32 %14) - %19 = getelementptr inbounds i32, i32* %8, i64 512 - %20 = getelementptr inbounds i32, i32* %9, i64 512 - %21 = add nuw nsw i32 %10, 512 - %22 = icmp slt i32 %21, %3 - br i1 %22, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvsubu.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsubu_vvvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsubu_vvvMvl.ll deleted file mode 100644 index 9a6501fd6b90..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsubu_vvvMvl.ll +++ /dev/null @@ -1,70 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvsubu_vvvMvl.c' -source_filename = "gen/tests/pvsubu_vvvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvsubu_vvvMvl(i32* %0, i32* %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: pvsubu %v3, %v0, %v1, %vm2 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %31, %9 ], [ %0, %6 ] - %11 = phi i32* [ %32, %9 ], [ %1, %6 ] - %12 = phi i32* [ %33, %9 ], [ %2, %6 ] - %13 = phi i32* [ %34, %9 ], [ %3, %6 ] - %14 = phi i32* [ %35, %9 ], [ %4, %6 ] - %15 = phi i32 [ %36, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 512 - %18 = ashr i32 %16, 1 - %19 = select i1 %17, i32 %18, i32 256 - %20 = bitcast i32* %11 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %20, i32 %19) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %19) - %24 = bitcast i32* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %19) - %26 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %25, i32 %19) - %27 = bitcast i32* %14 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %27, i32 %19) - %29 = bitcast i32* %10 to i8* - %30 = tail call <256 x double> @llvm.ve.vl.pvsubu.vvvMvl(<256 x double> %21, <256 x double> %23, <512 x i1> %26, <256 x double> %28, i32 %19) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %30, i64 8, i8* %29, i32 %19) - %31 = getelementptr inbounds i32, i32* %10, i64 512 - %32 = getelementptr inbounds i32, i32* %11, i64 512 - %33 = getelementptr inbounds i32, i32* %12, i64 512 - %34 = getelementptr inbounds i32, i32* %13, i64 512 - %35 = getelementptr inbounds i32, i32* %14, i64 512 - %36 = add nuw nsw i32 %15, 512 - %37 = icmp slt i32 %36, %5 - br i1 %37, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvsubu.vvvMvl(<256 x double>, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsubu_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsubu_vvvl.ll deleted file mode 100644 index ac8cdeb7112c..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvsubu_vvvl.ll +++ /dev/null @@ -1,58 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvsubu_vvvl.c' -source_filename = "gen/tests/pvsubu_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvsubu_vvvl(i32* %0, i32* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: pvsubu %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %22, %7 ], [ %0, %4 ] - %9 = phi i32* [ %23, %7 ], [ %1, %4 ] - %10 = phi i32* [ %24, %7 ], [ %2, %4 ] - %11 = phi i32 [ %25, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 512 - %14 = ashr i32 %12, 1 - %15 = select i1 %13, i32 %14, i32 256 - %16 = bitcast i32* %9 to i8* - %17 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %16, i32 %15) - %18 = bitcast i32* %10 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %15) - %20 = tail call <256 x double> @llvm.ve.vl.pvsubu.vvvl(<256 x double> %17, <256 x double> %19, i32 %15) - %21 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %20, i64 8, i8* %21, i32 %15) - %22 = getelementptr inbounds i32, i32* %8, i64 512 - %23 = getelementptr inbounds i32, i32* %9, i64 512 - %24 = getelementptr inbounds i32, i32* %10, i64 512 - %25 = add nuw nsw i32 %11, 512 - %26 = icmp slt i32 %25, %3 - br i1 %26, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvsubu.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvxor_vsvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvxor_vsvMvl.ll deleted file mode 100644 index b3f96044964f..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvxor_vsvMvl.ll +++ /dev/null @@ -1,66 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvxor_vsvMvl.c' -source_filename = "gen/tests/pvxor_vsvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvxor_vsvMvl(i32* %0, i64 %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: pvxor %v2, %s1, %v0, %vm2 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %28, %9 ], [ %0, %6 ] - %11 = phi i32* [ %29, %9 ], [ %2, %6 ] - %12 = phi i32* [ %30, %9 ], [ %3, %6 ] - %13 = phi i32* [ %31, %9 ], [ %4, %6 ] - %14 = phi i32 [ %32, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 512 - %17 = ashr i32 %15, 1 - %18 = select i1 %16, i32 %17, i32 256 - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast i32* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %22, i32 %18) - %24 = bitcast i32* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %18) - %26 = bitcast i32* %10 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.pvxor.vsvMvl(i64 %1, <256 x double> %20, <512 x i1> %23, <256 x double> %25, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %27, i64 8, i8* %26, i32 %18) - %28 = getelementptr inbounds i32, i32* %10, i64 512 - %29 = getelementptr inbounds i32, i32* %11, i64 512 - %30 = getelementptr inbounds i32, i32* %12, i64 512 - %31 = getelementptr inbounds i32, i32* %13, i64 512 - %32 = add nuw nsw i32 %14, 512 - %33 = icmp slt i32 %32, %5 - br i1 %33, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvxor.vsvMvl(i64, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvxor_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvxor_vsvl.ll deleted file mode 100644 index 01b2b7ce157d..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvxor_vsvl.ll +++ /dev/null @@ -1,54 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvxor_vsvl.c' -source_filename = "gen/tests/pvxor_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvxor_vsvl(i32* %0, i64 %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: pvxor %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %19, %7 ], [ %0, %4 ] - %9 = phi i32* [ %20, %7 ], [ %2, %4 ] - %10 = phi i32 [ %21, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 512 - %13 = ashr i32 %11, 1 - %14 = select i1 %12, i32 %13, i32 256 - %15 = bitcast i32* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = tail call <256 x double> @llvm.ve.vl.pvxor.vsvl(i64 %1, <256 x double> %16, i32 %14) - %18 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %17, i64 8, i8* %18, i32 %14) - %19 = getelementptr inbounds i32, i32* %8, i64 512 - %20 = getelementptr inbounds i32, i32* %9, i64 512 - %21 = add nuw nsw i32 %10, 512 - %22 = icmp slt i32 %21, %3 - br i1 %22, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvxor.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvxor_vvvMvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvxor_vvvMvl.ll deleted file mode 100644 index 2f5eabe46383..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvxor_vvvMvl.ll +++ /dev/null @@ -1,70 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvxor_vvvMvl.c' -source_filename = "gen/tests/pvxor_vvvMvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvxor_vvvMvl(i32* %0, i32* %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: pvxor %v3, %v0, %v1, %vm2 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %31, %9 ], [ %0, %6 ] - %11 = phi i32* [ %32, %9 ], [ %1, %6 ] - %12 = phi i32* [ %33, %9 ], [ %2, %6 ] - %13 = phi i32* [ %34, %9 ], [ %3, %6 ] - %14 = phi i32* [ %35, %9 ], [ %4, %6 ] - %15 = phi i32 [ %36, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 512 - %18 = ashr i32 %16, 1 - %19 = select i1 %17, i32 %18, i32 256 - %20 = bitcast i32* %11 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %20, i32 %19) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %19) - %24 = bitcast i32* %13 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %19) - %26 = tail call <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double> %25, i32 %19) - %27 = bitcast i32* %14 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %27, i32 %19) - %29 = bitcast i32* %10 to i8* - %30 = tail call <256 x double> @llvm.ve.vl.pvxor.vvvMvl(<256 x double> %21, <256 x double> %23, <512 x i1> %26, <256 x double> %28, i32 %19) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %30, i64 8, i8* %29, i32 %19) - %31 = getelementptr inbounds i32, i32* %10, i64 512 - %32 = getelementptr inbounds i32, i32* %11, i64 512 - %33 = getelementptr inbounds i32, i32* %12, i64 512 - %34 = getelementptr inbounds i32, i32* %13, i64 512 - %35 = getelementptr inbounds i32, i32* %14, i64 512 - %36 = add nuw nsw i32 %15, 512 - %37 = icmp slt i32 %36, %5 - br i1 %37, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.pvfmkwgt.Mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvxor.vvvMvl(<256 x double>, <256 x double>, <512 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvxor_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvxor_vvvl.ll deleted file mode 100644 index 01d814de5d31..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-pvxor_vvvl.ll +++ /dev/null @@ -1,58 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/pvxor_vvvl.c' -source_filename = "gen/tests/pvxor_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @pvxor_vvvl(i32* %0, i32* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: pvxor %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %22, %7 ], [ %0, %4 ] - %9 = phi i32* [ %23, %7 ], [ %1, %4 ] - %10 = phi i32* [ %24, %7 ], [ %2, %4 ] - %11 = phi i32 [ %25, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 512 - %14 = ashr i32 %12, 1 - %15 = select i1 %13, i32 %14, i32 256 - %16 = bitcast i32* %9 to i8* - %17 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %16, i32 %15) - %18 = bitcast i32* %10 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %15) - %20 = tail call <256 x double> @llvm.ve.vl.pvxor.vvvl(<256 x double> %17, <256 x double> %19, i32 %15) - %21 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %20, i64 8, i8* %21, i32 %15) - %22 = getelementptr inbounds i32, i32* %8, i64 512 - %23 = getelementptr inbounds i32, i32* %9, i64 512 - %24 = getelementptr inbounds i32, i32* %10, i64 512 - %25 = add nuw nsw i32 %11, 512 - %26 = icmp slt i32 %25, %3 - br i1 %26, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.pvxor.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddsl_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddsl_vsvl.ll deleted file mode 100644 index e89c7bfed31b..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddsl_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vaddsl_vsvl.c' -source_filename = "gen/tests/vaddsl_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vaddsl_vsvl(i64* %0, i64 %1, i64* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vadds.l %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %18, %7 ], [ %0, %4 ] - %9 = phi i64* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i64* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vaddsl.vsvl(i64 %1, <256 x double> %15, i32 %13) - %17 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %16, i64 8, i8* %17, i32 %13) - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = getelementptr inbounds i64, i64* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vaddsl.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddsl_vsvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddsl_vsvl_imm.ll deleted file mode 100644 index a6bcd31f7938..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddsl_vsvl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vaddsl_vsvl_imm.c' -source_filename = "gen/tests/vaddsl_vsvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vaddsl_vsvl_imm(i64* %0, i64* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vadds.l %v0, 3, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i64* [ %17, %6 ], [ %0, %3 ] - %8 = phi i64* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i64* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vaddsl.vsvl(i64 3, <256 x double> %14, i32 %12) - %16 = bitcast i64* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %15, i64 8, i8* %16, i32 %12) - %17 = getelementptr inbounds i64, i64* %7, i64 256 - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vaddsl.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddsl_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddsl_vsvmvl.ll deleted file mode 100644 index 44e1860fdf64..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddsl_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vaddsl_vsvmvl.c' -source_filename = "gen/tests/vaddsl_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vaddsl_vsvmvl(i64* %0, i64 %1, i64* %2, i32* %3, i64* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vadds.l %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i64* [ %27, %9 ], [ %0, %6 ] - %11 = phi i64* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i64* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i64* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i64* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %23, i32 %17) - %25 = bitcast i64* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vaddsl.vsvmvl(i64 %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %26, i64 8, i8* %25, i32 %17) - %27 = getelementptr inbounds i64, i64* %10, i64 256 - %28 = getelementptr inbounds i64, i64* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i64, i64* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vaddsl.vsvmvl(i64, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddsl_vsvmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddsl_vsvmvl_imm.ll deleted file mode 100644 index 99f5ea39dfdc..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddsl_vsvmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vaddsl_vsvmvl_imm.c' -source_filename = "gen/tests/vaddsl_vsvmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vaddsl_vsvmvl_imm(i64* %0, i64* %1, i32* %2, i64* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vadds.l %v2, 3, %v0, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i64* [ %26, %8 ], [ %0, %5 ] - %10 = phi i64* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i64* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast i64* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i64* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %16) - %24 = bitcast i64* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vaddsl.vsvmvl(i64 3, <256 x double> %18, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %25, i64 8, i8* %24, i32 %16) - %26 = getelementptr inbounds i64, i64* %9, i64 256 - %27 = getelementptr inbounds i64, i64* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i64, i64* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vaddsl.vsvmvl(i64, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddsl_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddsl_vvvl.ll deleted file mode 100644 index b687892aed24..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddsl_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vaddsl_vvvl.c' -source_filename = "gen/tests/vaddsl_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vaddsl_vvvl(i64* %0, i64* %1, i64* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vadds.l %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %21, %7 ], [ %0, %4 ] - %9 = phi i64* [ %22, %7 ], [ %1, %4 ] - %10 = phi i64* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i64* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = bitcast i64* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vaddsl.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %19, i64 8, i8* %20, i32 %14) - %21 = getelementptr inbounds i64, i64* %8, i64 256 - %22 = getelementptr inbounds i64, i64* %9, i64 256 - %23 = getelementptr inbounds i64, i64* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vaddsl.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddsl_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddsl_vvvmvl.ll deleted file mode 100644 index 22431205ffb1..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddsl_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vaddsl_vvvmvl.c' -source_filename = "gen/tests/vaddsl_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vaddsl_vvvmvl(i64* %0, i64* %1, i64* %2, i32* %3, i64* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vadds.l %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i64* [ %30, %9 ], [ %0, %6 ] - %11 = phi i64* [ %31, %9 ], [ %1, %6 ] - %12 = phi i64* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi i64* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast i64* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast i64* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast i64* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %26, i32 %18) - %28 = bitcast i64* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vaddsl.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %29, i64 8, i8* %28, i32 %18) - %30 = getelementptr inbounds i64, i64* %10, i64 256 - %31 = getelementptr inbounds i64, i64* %11, i64 256 - %32 = getelementptr inbounds i64, i64* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds i64, i64* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vaddsl.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddswsx_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddswsx_vsvl.ll deleted file mode 100644 index 87a5a92666ab..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddswsx_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vaddswsx_vsvl.c' -source_filename = "gen/tests/vaddswsx_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vaddswsx_vsvl(i32* %0, i32 signext %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vadds.w.sx %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %18, %7 ], [ %0, %4 ] - %9 = phi i32* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i32* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vaddswsx.vsvl(i32 %1, <256 x double> %15, i32 %13) - %17 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %16, i64 4, i8* %17, i32 %13) - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = getelementptr inbounds i32, i32* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vaddswsx.vsvl(i32, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddswsx_vsvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddswsx_vsvl_imm.ll deleted file mode 100644 index 2f1b0818631d..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddswsx_vsvl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vaddswsx_vsvl_imm.c' -source_filename = "gen/tests/vaddswsx_vsvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vaddswsx_vsvl_imm(i32* %0, i32* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vadds.w.sx %v0, 3, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i32* [ %17, %6 ], [ %0, %3 ] - %8 = phi i32* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i32* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vaddswsx.vsvl(i32 3, <256 x double> %14, i32 %12) - %16 = bitcast i32* %7 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds i32, i32* %7, i64 256 - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vaddswsx.vsvl(i32, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddswsx_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddswsx_vsvmvl.ll deleted file mode 100644 index c9f4f5c362e1..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddswsx_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vaddswsx_vsvmvl.c' -source_filename = "gen/tests/vaddswsx_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vaddswsx_vsvmvl(i32* %0, i32 signext %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vadds.w.sx %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %27, %9 ], [ %0, %6 ] - %11 = phi i32* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i32* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i32* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %23, i32 %17) - %25 = bitcast i32* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vaddswsx.vsvmvl(i32 %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %26, i64 4, i8* %25, i32 %17) - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i32, i32* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vaddswsx.vsvmvl(i32, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddswsx_vsvmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddswsx_vsvmvl_imm.ll deleted file mode 100644 index 32015048592f..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddswsx_vsvmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vaddswsx_vsvmvl_imm.c' -source_filename = "gen/tests/vaddswsx_vsvmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vaddswsx_vsvmvl_imm(i32* %0, i32* %1, i32* %2, i32* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vadds.w.sx %v2, 3, %v0, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i32* [ %26, %8 ], [ %0, %5 ] - %10 = phi i32* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i32* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %22, i32 %16) - %24 = bitcast i32* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vaddswsx.vsvmvl(i32 3, <256 x double> %18, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %25, i64 4, i8* %24, i32 %16) - %26 = getelementptr inbounds i32, i32* %9, i64 256 - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vaddswsx.vsvmvl(i32, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddswsx_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddswsx_vvvl.ll deleted file mode 100644 index 74f1b12c75a4..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddswsx_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vaddswsx_vvvl.c' -source_filename = "gen/tests/vaddswsx_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vaddswsx_vvvl(i32* %0, i32* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vadds.w.sx %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %21, %7 ], [ %0, %4 ] - %9 = phi i32* [ %22, %7 ], [ %1, %4 ] - %10 = phi i32* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i32* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %15, i32 %14) - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vaddswsx.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %19, i64 4, i8* %20, i32 %14) - %21 = getelementptr inbounds i32, i32* %8, i64 256 - %22 = getelementptr inbounds i32, i32* %9, i64 256 - %23 = getelementptr inbounds i32, i32* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vaddswsx.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddswsx_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddswsx_vvvmvl.ll deleted file mode 100644 index 925abce0c660..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddswsx_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vaddswsx_vvvmvl.c' -source_filename = "gen/tests/vaddswsx_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vaddswsx_vvvmvl(i32* %0, i32* %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vadds.w.sx %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %30, %9 ], [ %0, %6 ] - %11 = phi i32* [ %31, %9 ], [ %1, %6 ] - %12 = phi i32* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi i32* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %19, i32 %18) - %21 = bitcast i32* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast i32* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %26, i32 %18) - %28 = bitcast i32* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vaddswsx.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %29, i64 4, i8* %28, i32 %18) - %30 = getelementptr inbounds i32, i32* %10, i64 256 - %31 = getelementptr inbounds i32, i32* %11, i64 256 - %32 = getelementptr inbounds i32, i32* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds i32, i32* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vaddswsx.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddswzx_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddswzx_vsvl.ll deleted file mode 100644 index 56a618177e5c..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddswzx_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vaddswzx_vsvl.c' -source_filename = "gen/tests/vaddswzx_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vaddswzx_vsvl(i32* %0, i32 signext %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vadds.w.zx %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %18, %7 ], [ %0, %4 ] - %9 = phi i32* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i32* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vaddswzx.vsvl(i32 %1, <256 x double> %15, i32 %13) - %17 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %16, i64 4, i8* %17, i32 %13) - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = getelementptr inbounds i32, i32* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vaddswzx.vsvl(i32, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddswzx_vsvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddswzx_vsvl_imm.ll deleted file mode 100644 index 2f14407bde5b..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddswzx_vsvl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vaddswzx_vsvl_imm.c' -source_filename = "gen/tests/vaddswzx_vsvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vaddswzx_vsvl_imm(i32* %0, i32* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vadds.w.zx %v0, 3, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i32* [ %17, %6 ], [ %0, %3 ] - %8 = phi i32* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i32* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vaddswzx.vsvl(i32 3, <256 x double> %14, i32 %12) - %16 = bitcast i32* %7 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds i32, i32* %7, i64 256 - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vaddswzx.vsvl(i32, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddswzx_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddswzx_vsvmvl.ll deleted file mode 100644 index 1a36e35b0069..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddswzx_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vaddswzx_vsvmvl.c' -source_filename = "gen/tests/vaddswzx_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vaddswzx_vsvmvl(i32* %0, i32 signext %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vadds.w.zx %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %27, %9 ], [ %0, %6 ] - %11 = phi i32* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i32* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i32* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %23, i32 %17) - %25 = bitcast i32* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vaddswzx.vsvmvl(i32 %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %26, i64 4, i8* %25, i32 %17) - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i32, i32* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vaddswzx.vsvmvl(i32, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddswzx_vsvmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddswzx_vsvmvl_imm.ll deleted file mode 100644 index 6b98a4dc59d8..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddswzx_vsvmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vaddswzx_vsvmvl_imm.c' -source_filename = "gen/tests/vaddswzx_vsvmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vaddswzx_vsvmvl_imm(i32* %0, i32* %1, i32* %2, i32* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vadds.w.zx %v2, 3, %v0, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i32* [ %26, %8 ], [ %0, %5 ] - %10 = phi i32* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i32* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %22, i32 %16) - %24 = bitcast i32* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vaddswzx.vsvmvl(i32 3, <256 x double> %18, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %25, i64 4, i8* %24, i32 %16) - %26 = getelementptr inbounds i32, i32* %9, i64 256 - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vaddswzx.vsvmvl(i32, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddswzx_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddswzx_vvvl.ll deleted file mode 100644 index 11b583beb184..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddswzx_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vaddswzx_vvvl.c' -source_filename = "gen/tests/vaddswzx_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vaddswzx_vvvl(i32* %0, i32* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vadds.w.zx %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %21, %7 ], [ %0, %4 ] - %9 = phi i32* [ %22, %7 ], [ %1, %4 ] - %10 = phi i32* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i32* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %15, i32 %14) - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vaddswzx.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %19, i64 4, i8* %20, i32 %14) - %21 = getelementptr inbounds i32, i32* %8, i64 256 - %22 = getelementptr inbounds i32, i32* %9, i64 256 - %23 = getelementptr inbounds i32, i32* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vaddswzx.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddswzx_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddswzx_vvvmvl.ll deleted file mode 100644 index 15f938264c3e..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddswzx_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vaddswzx_vvvmvl.c' -source_filename = "gen/tests/vaddswzx_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vaddswzx_vvvmvl(i32* %0, i32* %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vadds.w.zx %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %30, %9 ], [ %0, %6 ] - %11 = phi i32* [ %31, %9 ], [ %1, %6 ] - %12 = phi i32* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi i32* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %19, i32 %18) - %21 = bitcast i32* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast i32* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %26, i32 %18) - %28 = bitcast i32* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vaddswzx.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %29, i64 4, i8* %28, i32 %18) - %30 = getelementptr inbounds i32, i32* %10, i64 256 - %31 = getelementptr inbounds i32, i32* %11, i64 256 - %32 = getelementptr inbounds i32, i32* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds i32, i32* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vaddswzx.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddul_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddul_vsvl.ll deleted file mode 100644 index e6812d927fef..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddul_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vaddul_vsvl.c' -source_filename = "gen/tests/vaddul_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vaddul_vsvl(i64* %0, i64 %1, i64* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vaddu.l %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %18, %7 ], [ %0, %4 ] - %9 = phi i64* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i64* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vaddul.vsvl(i64 %1, <256 x double> %15, i32 %13) - %17 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %16, i64 8, i8* %17, i32 %13) - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = getelementptr inbounds i64, i64* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vaddul.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddul_vsvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddul_vsvl_imm.ll deleted file mode 100644 index ebc4ecdcc62d..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddul_vsvl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vaddul_vsvl_imm.c' -source_filename = "gen/tests/vaddul_vsvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vaddul_vsvl_imm(i64* %0, i64* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vaddu.l %v0, 3, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i64* [ %17, %6 ], [ %0, %3 ] - %8 = phi i64* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i64* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vaddul.vsvl(i64 3, <256 x double> %14, i32 %12) - %16 = bitcast i64* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %15, i64 8, i8* %16, i32 %12) - %17 = getelementptr inbounds i64, i64* %7, i64 256 - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vaddul.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddul_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddul_vsvmvl.ll deleted file mode 100644 index 11edc6b3c869..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddul_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vaddul_vsvmvl.c' -source_filename = "gen/tests/vaddul_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vaddul_vsvmvl(i64* %0, i64 %1, i64* %2, i32* %3, i64* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vaddu.l %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i64* [ %27, %9 ], [ %0, %6 ] - %11 = phi i64* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i64* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i64* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i64* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %23, i32 %17) - %25 = bitcast i64* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vaddul.vsvmvl(i64 %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %26, i64 8, i8* %25, i32 %17) - %27 = getelementptr inbounds i64, i64* %10, i64 256 - %28 = getelementptr inbounds i64, i64* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i64, i64* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vaddul.vsvmvl(i64, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddul_vsvmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddul_vsvmvl_imm.ll deleted file mode 100644 index 92ed37ab5cc9..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddul_vsvmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vaddul_vsvmvl_imm.c' -source_filename = "gen/tests/vaddul_vsvmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vaddul_vsvmvl_imm(i64* %0, i64* %1, i32* %2, i64* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vaddu.l %v2, 3, %v0, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i64* [ %26, %8 ], [ %0, %5 ] - %10 = phi i64* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i64* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast i64* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i64* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %16) - %24 = bitcast i64* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vaddul.vsvmvl(i64 3, <256 x double> %18, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %25, i64 8, i8* %24, i32 %16) - %26 = getelementptr inbounds i64, i64* %9, i64 256 - %27 = getelementptr inbounds i64, i64* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i64, i64* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vaddul.vsvmvl(i64, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddul_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddul_vvvl.ll deleted file mode 100644 index b4ae63d9f543..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddul_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vaddul_vvvl.c' -source_filename = "gen/tests/vaddul_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vaddul_vvvl(i64* %0, i64* %1, i64* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vaddu.l %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %21, %7 ], [ %0, %4 ] - %9 = phi i64* [ %22, %7 ], [ %1, %4 ] - %10 = phi i64* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i64* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = bitcast i64* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vaddul.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %19, i64 8, i8* %20, i32 %14) - %21 = getelementptr inbounds i64, i64* %8, i64 256 - %22 = getelementptr inbounds i64, i64* %9, i64 256 - %23 = getelementptr inbounds i64, i64* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vaddul.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddul_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddul_vvvmvl.ll deleted file mode 100644 index e18728fc6fa5..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vaddul_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vaddul_vvvmvl.c' -source_filename = "gen/tests/vaddul_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vaddul_vvvmvl(i64* %0, i64* %1, i64* %2, i32* %3, i64* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vaddu.l %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i64* [ %30, %9 ], [ %0, %6 ] - %11 = phi i64* [ %31, %9 ], [ %1, %6 ] - %12 = phi i64* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi i64* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast i64* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast i64* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast i64* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %26, i32 %18) - %28 = bitcast i64* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vaddul.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %29, i64 8, i8* %28, i32 %18) - %30 = getelementptr inbounds i64, i64* %10, i64 256 - %31 = getelementptr inbounds i64, i64* %11, i64 256 - %32 = getelementptr inbounds i64, i64* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds i64, i64* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vaddul.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vadduw_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vadduw_vsvl.ll deleted file mode 100644 index 053ede2ac20a..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vadduw_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vadduw_vsvl.c' -source_filename = "gen/tests/vadduw_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vadduw_vsvl(i32* %0, i32 zeroext %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vaddu.w %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %18, %7 ], [ %0, %4 ] - %9 = phi i32* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i32* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vadduw.vsvl(i32 %1, <256 x double> %15, i32 %13) - %17 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %16, i64 4, i8* %17, i32 %13) - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = getelementptr inbounds i32, i32* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vadduw.vsvl(i32, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vadduw_vsvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vadduw_vsvl_imm.ll deleted file mode 100644 index 79275f5791ec..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vadduw_vsvl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vadduw_vsvl_imm.c' -source_filename = "gen/tests/vadduw_vsvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vadduw_vsvl_imm(i32* %0, i32* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vaddu.w %v0, 3, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i32* [ %17, %6 ], [ %0, %3 ] - %8 = phi i32* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i32* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vadduw.vsvl(i32 3, <256 x double> %14, i32 %12) - %16 = bitcast i32* %7 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds i32, i32* %7, i64 256 - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vadduw.vsvl(i32, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vadduw_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vadduw_vsvmvl.ll deleted file mode 100644 index bc6149b6a361..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vadduw_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vadduw_vsvmvl.c' -source_filename = "gen/tests/vadduw_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vadduw_vsvmvl(i32* %0, i32 zeroext %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vaddu.w %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %27, %9 ], [ %0, %6 ] - %11 = phi i32* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i32* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i32* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %23, i32 %17) - %25 = bitcast i32* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vadduw.vsvmvl(i32 %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %26, i64 4, i8* %25, i32 %17) - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i32, i32* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vadduw.vsvmvl(i32, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vadduw_vsvmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vadduw_vsvmvl_imm.ll deleted file mode 100644 index b3b1a29f88d1..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vadduw_vsvmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vadduw_vsvmvl_imm.c' -source_filename = "gen/tests/vadduw_vsvmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vadduw_vsvmvl_imm(i32* %0, i32* %1, i32* %2, i32* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vaddu.w %v2, 3, %v0, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i32* [ %26, %8 ], [ %0, %5 ] - %10 = phi i32* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i32* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %22, i32 %16) - %24 = bitcast i32* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vadduw.vsvmvl(i32 3, <256 x double> %18, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %25, i64 4, i8* %24, i32 %16) - %26 = getelementptr inbounds i32, i32* %9, i64 256 - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vadduw.vsvmvl(i32, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vadduw_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vadduw_vvvl.ll deleted file mode 100644 index 31aab50cbd96..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vadduw_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vadduw_vvvl.c' -source_filename = "gen/tests/vadduw_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vadduw_vvvl(i32* %0, i32* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vaddu.w %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %21, %7 ], [ %0, %4 ] - %9 = phi i32* [ %22, %7 ], [ %1, %4 ] - %10 = phi i32* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i32* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %15, i32 %14) - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vadduw.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %19, i64 4, i8* %20, i32 %14) - %21 = getelementptr inbounds i32, i32* %8, i64 256 - %22 = getelementptr inbounds i32, i32* %9, i64 256 - %23 = getelementptr inbounds i32, i32* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vadduw.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vadduw_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vadduw_vvvmvl.ll deleted file mode 100644 index c58bd79a9496..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vadduw_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vadduw_vvvmvl.c' -source_filename = "gen/tests/vadduw_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vadduw_vvvmvl(i32* %0, i32* %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vaddu.w %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %30, %9 ], [ %0, %6 ] - %11 = phi i32* [ %31, %9 ], [ %1, %6 ] - %12 = phi i32* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi i32* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %19, i32 %18) - %21 = bitcast i32* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast i32* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %26, i32 %18) - %28 = bitcast i32* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vadduw.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %29, i64 4, i8* %28, i32 %18) - %30 = getelementptr inbounds i32, i32* %10, i64 256 - %31 = getelementptr inbounds i32, i32* %11, i64 256 - %32 = getelementptr inbounds i32, i32* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds i32, i32* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vadduw.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vand_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vand_vsvl.ll deleted file mode 100644 index dbf3277017c2..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vand_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vand_vsvl.c' -source_filename = "gen/tests/vand_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vand_vsvl(i64* %0, i64 %1, i64* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vand %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %18, %7 ], [ %0, %4 ] - %9 = phi i64* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i64* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vand.vsvl(i64 %1, <256 x double> %15, i32 %13) - %17 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %16, i64 8, i8* %17, i32 %13) - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = getelementptr inbounds i64, i64* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vand.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vand_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vand_vsvmvl.ll deleted file mode 100644 index 2acec481fd5e..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vand_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vand_vsvmvl.c' -source_filename = "gen/tests/vand_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vand_vsvmvl(i64* %0, i64 %1, i64* %2, i32* %3, i64* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vand %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i64* [ %27, %9 ], [ %0, %6 ] - %11 = phi i64* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i64* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i64* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i64* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %23, i32 %17) - %25 = bitcast i64* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vand.vsvmvl(i64 %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %26, i64 8, i8* %25, i32 %17) - %27 = getelementptr inbounds i64, i64* %10, i64 256 - %28 = getelementptr inbounds i64, i64* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i64, i64* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vand.vsvmvl(i64, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vand_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vand_vvvl.ll deleted file mode 100644 index c89615a9d70b..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vand_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vand_vvvl.c' -source_filename = "gen/tests/vand_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vand_vvvl(i64* %0, i64* %1, i64* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vand %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %21, %7 ], [ %0, %4 ] - %9 = phi i64* [ %22, %7 ], [ %1, %4 ] - %10 = phi i64* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i64* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = bitcast i64* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vand.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %19, i64 8, i8* %20, i32 %14) - %21 = getelementptr inbounds i64, i64* %8, i64 256 - %22 = getelementptr inbounds i64, i64* %9, i64 256 - %23 = getelementptr inbounds i64, i64* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vand.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vand_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vand_vvvmvl.ll deleted file mode 100644 index a142191cb8b3..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vand_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vand_vvvmvl.c' -source_filename = "gen/tests/vand_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vand_vvvmvl(i64* %0, i64* %1, i64* %2, i32* %3, i64* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vand %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i64* [ %30, %9 ], [ %0, %6 ] - %11 = phi i64* [ %31, %9 ], [ %1, %6 ] - %12 = phi i64* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi i64* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast i64* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast i64* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast i64* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %26, i32 %18) - %28 = bitcast i64* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vand.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %29, i64 8, i8* %28, i32 %18) - %30 = getelementptr inbounds i64, i64* %10, i64 256 - %31 = getelementptr inbounds i64, i64* %11, i64 256 - %32 = getelementptr inbounds i64, i64* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds i64, i64* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vand.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vbrdd_vsl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vbrdd_vsl.ll deleted file mode 100644 index e06738c3f6f1..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vbrdd_vsl.ll +++ /dev/null @@ -1,45 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vbrdd_vsl.c' -source_filename = "gen/tests/vbrdd_vsl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind writeonly -define dso_local void @vbrdd_vsl(double* %0, double %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vbrd %v0, %s1 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi double* [ %14, %6 ], [ %0, %3 ] - %8 = phi i32 [ %15, %6 ], [ 0, %3 ] - %9 = sub nsw i32 %2, %8 - %10 = icmp slt i32 %9, 256 - %11 = select i1 %10, i32 %9, i32 256 - %12 = tail call <256 x double> @llvm.ve.vl.vbrdd.vsl(double %1, i32 %11) - %13 = bitcast double* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %12, i64 8, i8* %13, i32 %11) - %14 = getelementptr inbounds double, double* %7, i64 256 - %15 = add nuw nsw i32 %8, 256 - %16 = icmp slt i32 %15, %2 - br i1 %16, label %6, label %5 -} - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vbrdd.vsl(double, i32) #1 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #2 - -attributes #0 = { nounwind writeonly "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readnone } -attributes #2 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vbrdd_vsmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vbrdd_vsmvl.ll deleted file mode 100644 index 647096f8b6f2..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vbrdd_vsmvl.ll +++ /dev/null @@ -1,64 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vbrdd_vsmvl.c' -source_filename = "gen/tests/vbrdd_vsmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vbrdd_vsmvl(double* %0, double %1, i32* %2, double* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vbrd %v1, %s1, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi double* [ %23, %8 ], [ %0, %5 ] - %10 = phi i32* [ %24, %8 ], [ %2, %5 ] - %11 = phi double* [ %25, %8 ], [ %3, %5 ] - %12 = phi i32 [ %26, %8 ], [ 0, %5 ] - %13 = sub nsw i32 %4, %12 - %14 = icmp slt i32 %13, 256 - %15 = select i1 %14, i32 %13, i32 256 - %16 = bitcast i32* %10 to i8* - %17 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %16, i32 %15) - %18 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %17, i32 %15) - %19 = bitcast double* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %15) - %21 = bitcast double* %9 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vbrdd.vsmvl(double %1, <256 x i1> %18, <256 x double> %20, i32 %15) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %22, i64 8, i8* %21, i32 %15) - %23 = getelementptr inbounds double, double* %9, i64 256 - %24 = getelementptr inbounds i32, i32* %10, i64 256 - %25 = getelementptr inbounds double, double* %11, i64 256 - %26 = add nuw nsw i32 %12, 256 - %27 = icmp slt i32 %26, %4 - br i1 %27, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vbrdd.vsmvl(double, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vbrdl_vsl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vbrdl_vsl.ll deleted file mode 100644 index 94a2af30de3a..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vbrdl_vsl.ll +++ /dev/null @@ -1,45 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vbrdl_vsl.c' -source_filename = "gen/tests/vbrdl_vsl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind writeonly -define dso_local void @vbrdl_vsl(i64* %0, i64 %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vbrd %v0, %s1 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i64* [ %14, %6 ], [ %0, %3 ] - %8 = phi i32 [ %15, %6 ], [ 0, %3 ] - %9 = sub nsw i32 %2, %8 - %10 = icmp slt i32 %9, 256 - %11 = select i1 %10, i32 %9, i32 256 - %12 = tail call <256 x double> @llvm.ve.vl.vbrdl.vsl(i64 %1, i32 %11) - %13 = bitcast i64* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %12, i64 8, i8* %13, i32 %11) - %14 = getelementptr inbounds i64, i64* %7, i64 256 - %15 = add nuw nsw i32 %8, 256 - %16 = icmp slt i32 %15, %2 - br i1 %16, label %6, label %5 -} - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vbrdl.vsl(i64, i32) #1 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #2 - -attributes #0 = { nounwind writeonly "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readnone } -attributes #2 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vbrdl_vsl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vbrdl_vsl_imm.ll deleted file mode 100644 index b5f18647671a..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vbrdl_vsl_imm.ll +++ /dev/null @@ -1,45 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vbrdl_vsl_imm.c' -source_filename = "gen/tests/vbrdl_vsl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind writeonly -define dso_local void @vbrdl_vsl_imm(i64* %0, i32 signext %1) local_unnamed_addr #0 { -; CHECK: vbrd %v0, 3 - %3 = icmp sgt i32 %1, 0 - br i1 %3, label %5, label %4 - -4: ; preds = %5, %2 - ret void - -5: ; preds = %2, %5 - %6 = phi i64* [ %13, %5 ], [ %0, %2 ] - %7 = phi i32 [ %14, %5 ], [ 0, %2 ] - %8 = sub nsw i32 %1, %7 - %9 = icmp slt i32 %8, 256 - %10 = select i1 %9, i32 %8, i32 256 - %11 = tail call <256 x double> @llvm.ve.vl.vbrdl.vsl(i64 3, i32 %10) - %12 = bitcast i64* %6 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %11, i64 8, i8* %12, i32 %10) - %13 = getelementptr inbounds i64, i64* %6, i64 256 - %14 = add nuw nsw i32 %7, 256 - %15 = icmp slt i32 %14, %1 - br i1 %15, label %5, label %4 -} - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vbrdl.vsl(i64, i32) #1 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #2 - -attributes #0 = { nounwind writeonly "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readnone } -attributes #2 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vbrdl_vsmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vbrdl_vsmvl.ll deleted file mode 100644 index 17dc9915d197..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vbrdl_vsmvl.ll +++ /dev/null @@ -1,64 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vbrdl_vsmvl.c' -source_filename = "gen/tests/vbrdl_vsmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vbrdl_vsmvl(i64* %0, i64 %1, i32* %2, i64* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vbrd %v1, %s1, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i64* [ %23, %8 ], [ %0, %5 ] - %10 = phi i32* [ %24, %8 ], [ %2, %5 ] - %11 = phi i64* [ %25, %8 ], [ %3, %5 ] - %12 = phi i32 [ %26, %8 ], [ 0, %5 ] - %13 = sub nsw i32 %4, %12 - %14 = icmp slt i32 %13, 256 - %15 = select i1 %14, i32 %13, i32 256 - %16 = bitcast i32* %10 to i8* - %17 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %16, i32 %15) - %18 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %17, i32 %15) - %19 = bitcast i64* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %15) - %21 = bitcast i64* %9 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vbrdl.vsmvl(i64 %1, <256 x i1> %18, <256 x double> %20, i32 %15) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %22, i64 8, i8* %21, i32 %15) - %23 = getelementptr inbounds i64, i64* %9, i64 256 - %24 = getelementptr inbounds i32, i32* %10, i64 256 - %25 = getelementptr inbounds i64, i64* %11, i64 256 - %26 = add nuw nsw i32 %12, 256 - %27 = icmp slt i32 %26, %4 - br i1 %27, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vbrdl.vsmvl(i64, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vbrdl_vsmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vbrdl_vsmvl_imm.ll deleted file mode 100644 index d1a95805e970..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vbrdl_vsmvl_imm.ll +++ /dev/null @@ -1,64 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vbrdl_vsmvl_imm.c' -source_filename = "gen/tests/vbrdl_vsmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vbrdl_vsmvl_imm(i64* %0, i32* %1, i64* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vbrd %v1, 3, %vm1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %22, %7 ], [ %0, %4 ] - %9 = phi i32* [ %23, %7 ], [ %1, %4 ] - %10 = phi i64* [ %24, %7 ], [ %2, %4 ] - %11 = phi i32 [ %25, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i32* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %15, i32 %14) - %17 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %16, i32 %14) - %18 = bitcast i64* %10 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %14) - %20 = bitcast i64* %8 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vbrdl.vsmvl(i64 3, <256 x i1> %17, <256 x double> %19, i32 %14) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %21, i64 8, i8* %20, i32 %14) - %22 = getelementptr inbounds i64, i64* %8, i64 256 - %23 = getelementptr inbounds i32, i32* %9, i64 256 - %24 = getelementptr inbounds i64, i64* %10, i64 256 - %25 = add nuw nsw i32 %11, 256 - %26 = icmp slt i32 %25, %3 - br i1 %26, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vbrdl.vsmvl(i64, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vbrds_vsl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vbrds_vsl.ll deleted file mode 100644 index 8c3f657b1f73..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vbrds_vsl.ll +++ /dev/null @@ -1,45 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vbrds_vsl.c' -source_filename = "gen/tests/vbrds_vsl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind writeonly -define dso_local void @vbrds_vsl(float* %0, float %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vbrdu %v0, %s1 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi float* [ %14, %6 ], [ %0, %3 ] - %8 = phi i32 [ %15, %6 ], [ 0, %3 ] - %9 = sub nsw i32 %2, %8 - %10 = icmp slt i32 %9, 256 - %11 = select i1 %10, i32 %9, i32 256 - %12 = tail call <256 x double> @llvm.ve.vl.vbrds.vsl(float %1, i32 %11) - %13 = bitcast float* %7 to i8* - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %12, i64 4, i8* %13, i32 %11) - %14 = getelementptr inbounds float, float* %7, i64 256 - %15 = add nuw nsw i32 %8, 256 - %16 = icmp slt i32 %15, %2 - br i1 %16, label %6, label %5 -} - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vbrds.vsl(float, i32) #1 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #2 - -attributes #0 = { nounwind writeonly "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readnone } -attributes #2 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vbrds_vsmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vbrds_vsmvl.ll deleted file mode 100644 index 71f61df7c958..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vbrds_vsmvl.ll +++ /dev/null @@ -1,64 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vbrds_vsmvl.c' -source_filename = "gen/tests/vbrds_vsmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vbrds_vsmvl(float* %0, float %1, i32* %2, float* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vbrdu %v1, %s1, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi float* [ %23, %8 ], [ %0, %5 ] - %10 = phi i32* [ %24, %8 ], [ %2, %5 ] - %11 = phi float* [ %25, %8 ], [ %3, %5 ] - %12 = phi i32 [ %26, %8 ], [ 0, %5 ] - %13 = sub nsw i32 %4, %12 - %14 = icmp slt i32 %13, 256 - %15 = select i1 %14, i32 %13, i32 256 - %16 = bitcast i32* %10 to i8* - %17 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %16, i32 %15) - %18 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %17, i32 %15) - %19 = bitcast float* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %19, i32 %15) - %21 = bitcast float* %9 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vbrds.vsmvl(float %1, <256 x i1> %18, <256 x double> %20, i32 %15) - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %22, i64 4, i8* %21, i32 %15) - %23 = getelementptr inbounds float, float* %9, i64 256 - %24 = getelementptr inbounds i32, i32* %10, i64 256 - %25 = getelementptr inbounds float, float* %11, i64 256 - %26 = add nuw nsw i32 %12, 256 - %27 = icmp slt i32 %26, %4 - br i1 %27, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vbrds.vsmvl(float, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vbrdw_vsl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vbrdw_vsl.ll deleted file mode 100644 index 6a4c67855251..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vbrdw_vsl.ll +++ /dev/null @@ -1,45 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vbrdw_vsl.c' -source_filename = "gen/tests/vbrdw_vsl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind writeonly -define dso_local void @vbrdw_vsl(i32* %0, i32 signext %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vbrdl %v0, %s1 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i32* [ %14, %6 ], [ %0, %3 ] - %8 = phi i32 [ %15, %6 ], [ 0, %3 ] - %9 = sub nsw i32 %2, %8 - %10 = icmp slt i32 %9, 256 - %11 = select i1 %10, i32 %9, i32 256 - %12 = tail call <256 x double> @llvm.ve.vl.vbrdw.vsl(i32 %1, i32 %11) - %13 = bitcast i32* %7 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %12, i64 4, i8* %13, i32 %11) - %14 = getelementptr inbounds i32, i32* %7, i64 256 - %15 = add nuw nsw i32 %8, 256 - %16 = icmp slt i32 %15, %2 - br i1 %16, label %6, label %5 -} - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vbrdw.vsl(i32, i32) #1 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #2 - -attributes #0 = { nounwind writeonly "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readnone } -attributes #2 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vbrdw_vsl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vbrdw_vsl_imm.ll deleted file mode 100644 index dd15fd2d3cb4..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vbrdw_vsl_imm.ll +++ /dev/null @@ -1,45 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vbrdw_vsl_imm.c' -source_filename = "gen/tests/vbrdw_vsl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind writeonly -define dso_local void @vbrdw_vsl_imm(i32* %0, i32 signext %1) local_unnamed_addr #0 { -; CHECK: vbrdl %v0, 3 - %3 = icmp sgt i32 %1, 0 - br i1 %3, label %5, label %4 - -4: ; preds = %5, %2 - ret void - -5: ; preds = %2, %5 - %6 = phi i32* [ %13, %5 ], [ %0, %2 ] - %7 = phi i32 [ %14, %5 ], [ 0, %2 ] - %8 = sub nsw i32 %1, %7 - %9 = icmp slt i32 %8, 256 - %10 = select i1 %9, i32 %8, i32 256 - %11 = tail call <256 x double> @llvm.ve.vl.vbrdw.vsl(i32 3, i32 %10) - %12 = bitcast i32* %6 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %11, i64 4, i8* %12, i32 %10) - %13 = getelementptr inbounds i32, i32* %6, i64 256 - %14 = add nuw nsw i32 %7, 256 - %15 = icmp slt i32 %14, %1 - br i1 %15, label %5, label %4 -} - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vbrdw.vsl(i32, i32) #1 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #2 - -attributes #0 = { nounwind writeonly "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readnone } -attributes #2 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vbrdw_vsmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vbrdw_vsmvl.ll deleted file mode 100644 index dacd621da22a..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vbrdw_vsmvl.ll +++ /dev/null @@ -1,64 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vbrdw_vsmvl.c' -source_filename = "gen/tests/vbrdw_vsmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vbrdw_vsmvl(i32* %0, i32 signext %1, i32* %2, i32* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vbrdl %v1, %s1, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i32* [ %23, %8 ], [ %0, %5 ] - %10 = phi i32* [ %24, %8 ], [ %2, %5 ] - %11 = phi i32* [ %25, %8 ], [ %3, %5 ] - %12 = phi i32 [ %26, %8 ], [ 0, %5 ] - %13 = sub nsw i32 %4, %12 - %14 = icmp slt i32 %13, 256 - %15 = select i1 %14, i32 %13, i32 256 - %16 = bitcast i32* %10 to i8* - %17 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %16, i32 %15) - %18 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %17, i32 %15) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %19, i32 %15) - %21 = bitcast i32* %9 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vbrdw.vsmvl(i32 %1, <256 x i1> %18, <256 x double> %20, i32 %15) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %22, i64 4, i8* %21, i32 %15) - %23 = getelementptr inbounds i32, i32* %9, i64 256 - %24 = getelementptr inbounds i32, i32* %10, i64 256 - %25 = getelementptr inbounds i32, i32* %11, i64 256 - %26 = add nuw nsw i32 %12, 256 - %27 = icmp slt i32 %26, %4 - br i1 %27, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vbrdw.vsmvl(i32, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vbrdw_vsmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vbrdw_vsmvl_imm.ll deleted file mode 100644 index d72c62cbda9c..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vbrdw_vsmvl_imm.ll +++ /dev/null @@ -1,64 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vbrdw_vsmvl_imm.c' -source_filename = "gen/tests/vbrdw_vsmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vbrdw_vsmvl_imm(i32* %0, i32* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vbrdl %v1, 3, %vm1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %22, %7 ], [ %0, %4 ] - %9 = phi i32* [ %23, %7 ], [ %1, %4 ] - %10 = phi i32* [ %24, %7 ], [ %2, %4 ] - %11 = phi i32 [ %25, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i32* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %15, i32 %14) - %17 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %16, i32 %14) - %18 = bitcast i32* %10 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %18, i32 %14) - %20 = bitcast i32* %8 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vbrdw.vsmvl(i32 3, <256 x i1> %17, <256 x double> %19, i32 %14) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %21, i64 4, i8* %20, i32 %14) - %22 = getelementptr inbounds i32, i32* %8, i64 256 - %23 = getelementptr inbounds i32, i32* %9, i64 256 - %24 = getelementptr inbounds i32, i32* %10, i64 256 - %25 = add nuw nsw i32 %11, 256 - %26 = icmp slt i32 %25, %3 - br i1 %26, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vbrdw.vsmvl(i32, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpsl_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpsl_vsvl.ll deleted file mode 100644 index d9ab27c02293..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpsl_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcmpsl_vsvl.c' -source_filename = "gen/tests/vcmpsl_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcmpsl_vsvl(i64* %0, i64 %1, i64* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vcmps.l %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %18, %7 ], [ %0, %4 ] - %9 = phi i64* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i64* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vcmpsl.vsvl(i64 %1, <256 x double> %15, i32 %13) - %17 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %16, i64 8, i8* %17, i32 %13) - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = getelementptr inbounds i64, i64* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcmpsl.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpsl_vsvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpsl_vsvl_imm.ll deleted file mode 100644 index cf9460e47858..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpsl_vsvl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcmpsl_vsvl_imm.c' -source_filename = "gen/tests/vcmpsl_vsvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcmpsl_vsvl_imm(i64* %0, i64* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vcmps.l %v0, 3, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i64* [ %17, %6 ], [ %0, %3 ] - %8 = phi i64* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i64* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vcmpsl.vsvl(i64 3, <256 x double> %14, i32 %12) - %16 = bitcast i64* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %15, i64 8, i8* %16, i32 %12) - %17 = getelementptr inbounds i64, i64* %7, i64 256 - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcmpsl.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpsl_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpsl_vsvmvl.ll deleted file mode 100644 index c3eba48eb880..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpsl_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcmpsl_vsvmvl.c' -source_filename = "gen/tests/vcmpsl_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcmpsl_vsvmvl(i64* %0, i64 %1, i64* %2, i32* %3, i64* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vcmps.l %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i64* [ %27, %9 ], [ %0, %6 ] - %11 = phi i64* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i64* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i64* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i64* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %23, i32 %17) - %25 = bitcast i64* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vcmpsl.vsvmvl(i64 %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %26, i64 8, i8* %25, i32 %17) - %27 = getelementptr inbounds i64, i64* %10, i64 256 - %28 = getelementptr inbounds i64, i64* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i64, i64* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcmpsl.vsvmvl(i64, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpsl_vsvmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpsl_vsvmvl_imm.ll deleted file mode 100644 index 4f3ed72873cb..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpsl_vsvmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcmpsl_vsvmvl_imm.c' -source_filename = "gen/tests/vcmpsl_vsvmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcmpsl_vsvmvl_imm(i64* %0, i64* %1, i32* %2, i64* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vcmps.l %v2, 3, %v0, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i64* [ %26, %8 ], [ %0, %5 ] - %10 = phi i64* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i64* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast i64* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i64* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %16) - %24 = bitcast i64* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vcmpsl.vsvmvl(i64 3, <256 x double> %18, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %25, i64 8, i8* %24, i32 %16) - %26 = getelementptr inbounds i64, i64* %9, i64 256 - %27 = getelementptr inbounds i64, i64* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i64, i64* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcmpsl.vsvmvl(i64, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpsl_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpsl_vvvl.ll deleted file mode 100644 index 10b13946f579..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpsl_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcmpsl_vvvl.c' -source_filename = "gen/tests/vcmpsl_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcmpsl_vvvl(i64* %0, i64* %1, i64* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vcmps.l %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %21, %7 ], [ %0, %4 ] - %9 = phi i64* [ %22, %7 ], [ %1, %4 ] - %10 = phi i64* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i64* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = bitcast i64* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vcmpsl.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %19, i64 8, i8* %20, i32 %14) - %21 = getelementptr inbounds i64, i64* %8, i64 256 - %22 = getelementptr inbounds i64, i64* %9, i64 256 - %23 = getelementptr inbounds i64, i64* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcmpsl.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpsl_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpsl_vvvmvl.ll deleted file mode 100644 index cee45bf6e2f5..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpsl_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcmpsl_vvvmvl.c' -source_filename = "gen/tests/vcmpsl_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcmpsl_vvvmvl(i64* %0, i64* %1, i64* %2, i32* %3, i64* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vcmps.l %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i64* [ %30, %9 ], [ %0, %6 ] - %11 = phi i64* [ %31, %9 ], [ %1, %6 ] - %12 = phi i64* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi i64* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast i64* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast i64* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast i64* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %26, i32 %18) - %28 = bitcast i64* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vcmpsl.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %29, i64 8, i8* %28, i32 %18) - %30 = getelementptr inbounds i64, i64* %10, i64 256 - %31 = getelementptr inbounds i64, i64* %11, i64 256 - %32 = getelementptr inbounds i64, i64* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds i64, i64* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcmpsl.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpswsx_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpswsx_vsvl.ll deleted file mode 100644 index d98c6cd51c1e..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpswsx_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcmpswsx_vsvl.c' -source_filename = "gen/tests/vcmpswsx_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcmpswsx_vsvl(i32* %0, i32 signext %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vcmps.w.sx %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %18, %7 ], [ %0, %4 ] - %9 = phi i32* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i32* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vcmpswsx.vsvl(i32 %1, <256 x double> %15, i32 %13) - %17 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %16, i64 4, i8* %17, i32 %13) - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = getelementptr inbounds i32, i32* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcmpswsx.vsvl(i32, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpswsx_vsvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpswsx_vsvl_imm.ll deleted file mode 100644 index 4fab6cabd2bf..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpswsx_vsvl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcmpswsx_vsvl_imm.c' -source_filename = "gen/tests/vcmpswsx_vsvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcmpswsx_vsvl_imm(i32* %0, i32* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vcmps.w.sx %v0, 3, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i32* [ %17, %6 ], [ %0, %3 ] - %8 = phi i32* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i32* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vcmpswsx.vsvl(i32 3, <256 x double> %14, i32 %12) - %16 = bitcast i32* %7 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds i32, i32* %7, i64 256 - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcmpswsx.vsvl(i32, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpswsx_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpswsx_vsvmvl.ll deleted file mode 100644 index 1d7e61e8fbbe..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpswsx_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcmpswsx_vsvmvl.c' -source_filename = "gen/tests/vcmpswsx_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcmpswsx_vsvmvl(i32* %0, i32 signext %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vcmps.w.sx %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %27, %9 ], [ %0, %6 ] - %11 = phi i32* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i32* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i32* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %23, i32 %17) - %25 = bitcast i32* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vcmpswsx.vsvmvl(i32 %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %26, i64 4, i8* %25, i32 %17) - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i32, i32* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcmpswsx.vsvmvl(i32, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpswsx_vsvmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpswsx_vsvmvl_imm.ll deleted file mode 100644 index 8474bb79b308..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpswsx_vsvmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcmpswsx_vsvmvl_imm.c' -source_filename = "gen/tests/vcmpswsx_vsvmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcmpswsx_vsvmvl_imm(i32* %0, i32* %1, i32* %2, i32* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vcmps.w.sx %v2, 3, %v0, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i32* [ %26, %8 ], [ %0, %5 ] - %10 = phi i32* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i32* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %22, i32 %16) - %24 = bitcast i32* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vcmpswsx.vsvmvl(i32 3, <256 x double> %18, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %25, i64 4, i8* %24, i32 %16) - %26 = getelementptr inbounds i32, i32* %9, i64 256 - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcmpswsx.vsvmvl(i32, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpswsx_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpswsx_vvvl.ll deleted file mode 100644 index db285c9b30fb..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpswsx_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcmpswsx_vvvl.c' -source_filename = "gen/tests/vcmpswsx_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcmpswsx_vvvl(i32* %0, i32* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vcmps.w.sx %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %21, %7 ], [ %0, %4 ] - %9 = phi i32* [ %22, %7 ], [ %1, %4 ] - %10 = phi i32* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i32* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %15, i32 %14) - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vcmpswsx.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %19, i64 4, i8* %20, i32 %14) - %21 = getelementptr inbounds i32, i32* %8, i64 256 - %22 = getelementptr inbounds i32, i32* %9, i64 256 - %23 = getelementptr inbounds i32, i32* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcmpswsx.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpswsx_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpswsx_vvvmvl.ll deleted file mode 100644 index d59f3068459a..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpswsx_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcmpswsx_vvvmvl.c' -source_filename = "gen/tests/vcmpswsx_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcmpswsx_vvvmvl(i32* %0, i32* %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vcmps.w.sx %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %30, %9 ], [ %0, %6 ] - %11 = phi i32* [ %31, %9 ], [ %1, %6 ] - %12 = phi i32* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi i32* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %19, i32 %18) - %21 = bitcast i32* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast i32* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %26, i32 %18) - %28 = bitcast i32* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vcmpswsx.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %29, i64 4, i8* %28, i32 %18) - %30 = getelementptr inbounds i32, i32* %10, i64 256 - %31 = getelementptr inbounds i32, i32* %11, i64 256 - %32 = getelementptr inbounds i32, i32* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds i32, i32* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcmpswsx.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpswzx_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpswzx_vsvl.ll deleted file mode 100644 index b31d37c1dc91..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpswzx_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcmpswzx_vsvl.c' -source_filename = "gen/tests/vcmpswzx_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcmpswzx_vsvl(i32* %0, i32 signext %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vcmps.w.zx %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %18, %7 ], [ %0, %4 ] - %9 = phi i32* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i32* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vcmpswzx.vsvl(i32 %1, <256 x double> %15, i32 %13) - %17 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %16, i64 4, i8* %17, i32 %13) - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = getelementptr inbounds i32, i32* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcmpswzx.vsvl(i32, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpswzx_vsvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpswzx_vsvl_imm.ll deleted file mode 100644 index 1dcd935491cc..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpswzx_vsvl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcmpswzx_vsvl_imm.c' -source_filename = "gen/tests/vcmpswzx_vsvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcmpswzx_vsvl_imm(i32* %0, i32* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vcmps.w.zx %v0, 3, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i32* [ %17, %6 ], [ %0, %3 ] - %8 = phi i32* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i32* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vcmpswzx.vsvl(i32 3, <256 x double> %14, i32 %12) - %16 = bitcast i32* %7 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds i32, i32* %7, i64 256 - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcmpswzx.vsvl(i32, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpswzx_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpswzx_vsvmvl.ll deleted file mode 100644 index e19d7e1412e4..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpswzx_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcmpswzx_vsvmvl.c' -source_filename = "gen/tests/vcmpswzx_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcmpswzx_vsvmvl(i32* %0, i32 signext %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vcmps.w.zx %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %27, %9 ], [ %0, %6 ] - %11 = phi i32* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i32* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i32* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %23, i32 %17) - %25 = bitcast i32* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vcmpswzx.vsvmvl(i32 %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %26, i64 4, i8* %25, i32 %17) - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i32, i32* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcmpswzx.vsvmvl(i32, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpswzx_vsvmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpswzx_vsvmvl_imm.ll deleted file mode 100644 index 03449a3003fb..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpswzx_vsvmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcmpswzx_vsvmvl_imm.c' -source_filename = "gen/tests/vcmpswzx_vsvmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcmpswzx_vsvmvl_imm(i32* %0, i32* %1, i32* %2, i32* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vcmps.w.zx %v2, 3, %v0, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i32* [ %26, %8 ], [ %0, %5 ] - %10 = phi i32* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i32* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %22, i32 %16) - %24 = bitcast i32* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vcmpswzx.vsvmvl(i32 3, <256 x double> %18, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %25, i64 4, i8* %24, i32 %16) - %26 = getelementptr inbounds i32, i32* %9, i64 256 - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcmpswzx.vsvmvl(i32, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpswzx_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpswzx_vvvl.ll deleted file mode 100644 index b2b9b9f7ec8d..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpswzx_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcmpswzx_vvvl.c' -source_filename = "gen/tests/vcmpswzx_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcmpswzx_vvvl(i32* %0, i32* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vcmps.w.zx %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %21, %7 ], [ %0, %4 ] - %9 = phi i32* [ %22, %7 ], [ %1, %4 ] - %10 = phi i32* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i32* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %15, i32 %14) - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vcmpswzx.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %19, i64 4, i8* %20, i32 %14) - %21 = getelementptr inbounds i32, i32* %8, i64 256 - %22 = getelementptr inbounds i32, i32* %9, i64 256 - %23 = getelementptr inbounds i32, i32* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcmpswzx.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpswzx_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpswzx_vvvmvl.ll deleted file mode 100644 index 22671a6c9a2f..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpswzx_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcmpswzx_vvvmvl.c' -source_filename = "gen/tests/vcmpswzx_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcmpswzx_vvvmvl(i32* %0, i32* %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vcmps.w.zx %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %30, %9 ], [ %0, %6 ] - %11 = phi i32* [ %31, %9 ], [ %1, %6 ] - %12 = phi i32* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi i32* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %19, i32 %18) - %21 = bitcast i32* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast i32* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %26, i32 %18) - %28 = bitcast i32* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vcmpswzx.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %29, i64 4, i8* %28, i32 %18) - %30 = getelementptr inbounds i32, i32* %10, i64 256 - %31 = getelementptr inbounds i32, i32* %11, i64 256 - %32 = getelementptr inbounds i32, i32* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds i32, i32* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcmpswzx.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpul_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpul_vsvl.ll deleted file mode 100644 index 23df4017191d..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpul_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcmpul_vsvl.c' -source_filename = "gen/tests/vcmpul_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcmpul_vsvl(i64* %0, i64 %1, i64* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vcmpu.l %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %18, %7 ], [ %0, %4 ] - %9 = phi i64* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i64* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vcmpul.vsvl(i64 %1, <256 x double> %15, i32 %13) - %17 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %16, i64 8, i8* %17, i32 %13) - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = getelementptr inbounds i64, i64* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcmpul.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpul_vsvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpul_vsvl_imm.ll deleted file mode 100644 index 3da9623c9bae..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpul_vsvl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcmpul_vsvl_imm.c' -source_filename = "gen/tests/vcmpul_vsvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcmpul_vsvl_imm(i64* %0, i64* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vcmpu.l %v0, 3, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i64* [ %17, %6 ], [ %0, %3 ] - %8 = phi i64* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i64* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vcmpul.vsvl(i64 3, <256 x double> %14, i32 %12) - %16 = bitcast i64* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %15, i64 8, i8* %16, i32 %12) - %17 = getelementptr inbounds i64, i64* %7, i64 256 - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcmpul.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpul_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpul_vsvmvl.ll deleted file mode 100644 index 439184eaea80..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpul_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcmpul_vsvmvl.c' -source_filename = "gen/tests/vcmpul_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcmpul_vsvmvl(i64* %0, i64 %1, i64* %2, i32* %3, i64* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vcmpu.l %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i64* [ %27, %9 ], [ %0, %6 ] - %11 = phi i64* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i64* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i64* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i64* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %23, i32 %17) - %25 = bitcast i64* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vcmpul.vsvmvl(i64 %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %26, i64 8, i8* %25, i32 %17) - %27 = getelementptr inbounds i64, i64* %10, i64 256 - %28 = getelementptr inbounds i64, i64* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i64, i64* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcmpul.vsvmvl(i64, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpul_vsvmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpul_vsvmvl_imm.ll deleted file mode 100644 index f40a91d059e2..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpul_vsvmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcmpul_vsvmvl_imm.c' -source_filename = "gen/tests/vcmpul_vsvmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcmpul_vsvmvl_imm(i64* %0, i64* %1, i32* %2, i64* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vcmpu.l %v2, 3, %v0, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i64* [ %26, %8 ], [ %0, %5 ] - %10 = phi i64* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i64* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast i64* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i64* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %16) - %24 = bitcast i64* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vcmpul.vsvmvl(i64 3, <256 x double> %18, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %25, i64 8, i8* %24, i32 %16) - %26 = getelementptr inbounds i64, i64* %9, i64 256 - %27 = getelementptr inbounds i64, i64* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i64, i64* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcmpul.vsvmvl(i64, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpul_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpul_vvvl.ll deleted file mode 100644 index 3e3071c334ad..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpul_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcmpul_vvvl.c' -source_filename = "gen/tests/vcmpul_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcmpul_vvvl(i64* %0, i64* %1, i64* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vcmpu.l %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %21, %7 ], [ %0, %4 ] - %9 = phi i64* [ %22, %7 ], [ %1, %4 ] - %10 = phi i64* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i64* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = bitcast i64* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vcmpul.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %19, i64 8, i8* %20, i32 %14) - %21 = getelementptr inbounds i64, i64* %8, i64 256 - %22 = getelementptr inbounds i64, i64* %9, i64 256 - %23 = getelementptr inbounds i64, i64* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcmpul.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpul_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpul_vvvmvl.ll deleted file mode 100644 index c06134e60d4c..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpul_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcmpul_vvvmvl.c' -source_filename = "gen/tests/vcmpul_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcmpul_vvvmvl(i64* %0, i64* %1, i64* %2, i32* %3, i64* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vcmpu.l %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i64* [ %30, %9 ], [ %0, %6 ] - %11 = phi i64* [ %31, %9 ], [ %1, %6 ] - %12 = phi i64* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi i64* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast i64* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast i64* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast i64* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %26, i32 %18) - %28 = bitcast i64* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vcmpul.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %29, i64 8, i8* %28, i32 %18) - %30 = getelementptr inbounds i64, i64* %10, i64 256 - %31 = getelementptr inbounds i64, i64* %11, i64 256 - %32 = getelementptr inbounds i64, i64* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds i64, i64* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcmpul.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpuw_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpuw_vsvl.ll deleted file mode 100644 index a00ca15ea214..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpuw_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcmpuw_vsvl.c' -source_filename = "gen/tests/vcmpuw_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcmpuw_vsvl(i32* %0, i32 zeroext %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vcmpu.w %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %18, %7 ], [ %0, %4 ] - %9 = phi i32* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i32* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vcmpuw.vsvl(i32 %1, <256 x double> %15, i32 %13) - %17 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %16, i64 4, i8* %17, i32 %13) - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = getelementptr inbounds i32, i32* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcmpuw.vsvl(i32, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpuw_vsvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpuw_vsvl_imm.ll deleted file mode 100644 index 3876d4a71d72..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpuw_vsvl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcmpuw_vsvl_imm.c' -source_filename = "gen/tests/vcmpuw_vsvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcmpuw_vsvl_imm(i32* %0, i32* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vcmpu.w %v0, 3, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i32* [ %17, %6 ], [ %0, %3 ] - %8 = phi i32* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i32* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vcmpuw.vsvl(i32 3, <256 x double> %14, i32 %12) - %16 = bitcast i32* %7 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds i32, i32* %7, i64 256 - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcmpuw.vsvl(i32, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpuw_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpuw_vsvmvl.ll deleted file mode 100644 index f0c79549b6db..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpuw_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcmpuw_vsvmvl.c' -source_filename = "gen/tests/vcmpuw_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcmpuw_vsvmvl(i32* %0, i32 zeroext %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vcmpu.w %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %27, %9 ], [ %0, %6 ] - %11 = phi i32* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i32* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i32* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %23, i32 %17) - %25 = bitcast i32* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vcmpuw.vsvmvl(i32 %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %26, i64 4, i8* %25, i32 %17) - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i32, i32* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcmpuw.vsvmvl(i32, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpuw_vsvmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpuw_vsvmvl_imm.ll deleted file mode 100644 index 72ca5e8c417f..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpuw_vsvmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcmpuw_vsvmvl_imm.c' -source_filename = "gen/tests/vcmpuw_vsvmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcmpuw_vsvmvl_imm(i32* %0, i32* %1, i32* %2, i32* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vcmpu.w %v2, 3, %v0, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i32* [ %26, %8 ], [ %0, %5 ] - %10 = phi i32* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i32* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %22, i32 %16) - %24 = bitcast i32* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vcmpuw.vsvmvl(i32 3, <256 x double> %18, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %25, i64 4, i8* %24, i32 %16) - %26 = getelementptr inbounds i32, i32* %9, i64 256 - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcmpuw.vsvmvl(i32, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpuw_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpuw_vvvl.ll deleted file mode 100644 index 64a3312d2ee5..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpuw_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcmpuw_vvvl.c' -source_filename = "gen/tests/vcmpuw_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcmpuw_vvvl(i32* %0, i32* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vcmpu.w %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %21, %7 ], [ %0, %4 ] - %9 = phi i32* [ %22, %7 ], [ %1, %4 ] - %10 = phi i32* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i32* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %15, i32 %14) - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vcmpuw.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %19, i64 4, i8* %20, i32 %14) - %21 = getelementptr inbounds i32, i32* %8, i64 256 - %22 = getelementptr inbounds i32, i32* %9, i64 256 - %23 = getelementptr inbounds i32, i32* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcmpuw.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpuw_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpuw_vvvmvl.ll deleted file mode 100644 index f6030a500831..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcmpuw_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcmpuw_vvvmvl.c' -source_filename = "gen/tests/vcmpuw_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcmpuw_vvvmvl(i32* %0, i32* %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vcmpu.w %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %30, %9 ], [ %0, %6 ] - %11 = phi i32* [ %31, %9 ], [ %1, %6 ] - %12 = phi i32* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi i32* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %19, i32 %18) - %21 = bitcast i32* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast i32* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %26, i32 %18) - %28 = bitcast i32* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vcmpuw.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %29, i64 4, i8* %28, i32 %18) - %30 = getelementptr inbounds i32, i32* %10, i64 256 - %31 = getelementptr inbounds i32, i32* %11, i64 256 - %32 = getelementptr inbounds i32, i32* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds i32, i32* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcmpuw.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtdl_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtdl_vvl.ll deleted file mode 100644 index 581564f88fcd..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtdl_vvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcvtdl_vvl.c' -source_filename = "gen/tests/vcvtdl_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcvtdl_vvl(double* %0, i64* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vcvt.d.l %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi double* [ %17, %6 ], [ %0, %3 ] - %8 = phi i64* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i64* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vcvtdl.vvl(<256 x double> %14, i32 %12) - %16 = bitcast double* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %15, i64 8, i8* %16, i32 %12) - %17 = getelementptr inbounds double, double* %7, i64 256 - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcvtdl.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtds_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtds_vvl.ll deleted file mode 100644 index 818ff67ebd5a..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtds_vvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcvtds_vvl.c' -source_filename = "gen/tests/vcvtds_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcvtds_vvl(double* %0, float* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vcvt.d.s %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi double* [ %17, %6 ], [ %0, %3 ] - %8 = phi float* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast float* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vcvtds.vvl(<256 x double> %14, i32 %12) - %16 = bitcast double* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %15, i64 8, i8* %16, i32 %12) - %17 = getelementptr inbounds double, double* %7, i64 256 - %18 = getelementptr inbounds float, float* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcvtds.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtdw_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtdw_vvl.ll deleted file mode 100644 index 100b0a2c9ea3..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtdw_vvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcvtdw_vvl.c' -source_filename = "gen/tests/vcvtdw_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcvtdw_vvl(double* %0, i32* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vcvt.d.w %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi double* [ %17, %6 ], [ %0, %3 ] - %8 = phi i32* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i32* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vcvtdw.vvl(<256 x double> %14, i32 %12) - %16 = bitcast double* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %15, i64 8, i8* %16, i32 %12) - %17 = getelementptr inbounds double, double* %7, i64 256 - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcvtdw.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtld_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtld_vvl.ll deleted file mode 100644 index c3579d5403c5..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtld_vvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcvtld_vvl.c' -source_filename = "gen/tests/vcvtld_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcvtld_vvl(i64* %0, double* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vcvt.l.d %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i64* [ %17, %6 ], [ %0, %3 ] - %8 = phi double* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast double* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vcvtld.vvl(<256 x double> %14, i32 %12) - %16 = bitcast i64* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %15, i64 8, i8* %16, i32 %12) - %17 = getelementptr inbounds i64, i64* %7, i64 256 - %18 = getelementptr inbounds double, double* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcvtld.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtld_vvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtld_vvmvl.ll deleted file mode 100644 index 217d0cb64930..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtld_vvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcvtld_vvmvl.c' -source_filename = "gen/tests/vcvtld_vvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcvtld_vvmvl(i64* %0, double* %1, i32* %2, i64* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vcvt.l.d %v2, %v0, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i64* [ %26, %8 ], [ %0, %5 ] - %10 = phi double* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i64* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast double* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i64* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %16) - %24 = bitcast i64* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vcvtld.vvmvl(<256 x double> %18, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %25, i64 8, i8* %24, i32 %16) - %26 = getelementptr inbounds i64, i64* %9, i64 256 - %27 = getelementptr inbounds double, double* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i64, i64* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcvtld.vvmvl(<256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtldrz_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtldrz_vvl.ll deleted file mode 100644 index 1e37d534f989..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtldrz_vvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcvtldrz_vvl.c' -source_filename = "gen/tests/vcvtldrz_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcvtldrz_vvl(i64* %0, double* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vcvt.l.d.rz %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i64* [ %17, %6 ], [ %0, %3 ] - %8 = phi double* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast double* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vcvtldrz.vvl(<256 x double> %14, i32 %12) - %16 = bitcast i64* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %15, i64 8, i8* %16, i32 %12) - %17 = getelementptr inbounds i64, i64* %7, i64 256 - %18 = getelementptr inbounds double, double* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcvtldrz.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtldrz_vvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtldrz_vvmvl.ll deleted file mode 100644 index 3c427e1c8ce2..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtldrz_vvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcvtldrz_vvmvl.c' -source_filename = "gen/tests/vcvtldrz_vvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcvtldrz_vvmvl(i64* %0, double* %1, i32* %2, i64* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vcvt.l.d.rz %v2, %v0, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i64* [ %26, %8 ], [ %0, %5 ] - %10 = phi double* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i64* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast double* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i64* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %16) - %24 = bitcast i64* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vcvtldrz.vvmvl(<256 x double> %18, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %25, i64 8, i8* %24, i32 %16) - %26 = getelementptr inbounds i64, i64* %9, i64 256 - %27 = getelementptr inbounds double, double* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i64, i64* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcvtldrz.vvmvl(<256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtsd_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtsd_vvl.ll deleted file mode 100644 index 48b01b9253e5..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtsd_vvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcvtsd_vvl.c' -source_filename = "gen/tests/vcvtsd_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcvtsd_vvl(float* %0, double* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vcvt.s.d %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi float* [ %17, %6 ], [ %0, %3 ] - %8 = phi double* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast double* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vcvtsd.vvl(<256 x double> %14, i32 %12) - %16 = bitcast float* %7 to i8* - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds float, float* %7, i64 256 - %18 = getelementptr inbounds double, double* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcvtsd.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtsw_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtsw_vvl.ll deleted file mode 100644 index d30f1bf38508..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtsw_vvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcvtsw_vvl.c' -source_filename = "gen/tests/vcvtsw_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcvtsw_vvl(float* %0, i32* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vcvt.s.w %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi float* [ %17, %6 ], [ %0, %3 ] - %8 = phi i32* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i32* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vcvtsw.vvl(<256 x double> %14, i32 %12) - %16 = bitcast float* %7 to i8* - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds float, float* %7, i64 256 - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcvtsw.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwdsx_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwdsx_vvl.ll deleted file mode 100644 index 118f10f47738..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwdsx_vvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcvtwdsx_vvl.c' -source_filename = "gen/tests/vcvtwdsx_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcvtwdsx_vvl(i32* %0, double* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vcvt.w.d.sx %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i32* [ %17, %6 ], [ %0, %3 ] - %8 = phi double* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast double* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vcvtwdsx.vvl(<256 x double> %14, i32 %12) - %16 = bitcast i32* %7 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds i32, i32* %7, i64 256 - %18 = getelementptr inbounds double, double* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcvtwdsx.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwdsx_vvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwdsx_vvmvl.ll deleted file mode 100644 index b53a4488702f..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwdsx_vvmvl.ll +++ /dev/null @@ -1,71 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcvtwdsx_vvmvl.c' -source_filename = "gen/tests/vcvtwdsx_vvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcvtwdsx_vvmvl(i32* %0, double* %1, i32* %2, i32* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vcvt.w.d.sx %v2, %v0, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i32* [ %26, %8 ], [ %0, %5 ] - %10 = phi double* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i32* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast double* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %22, i32 %16) - %24 = bitcast i32* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vcvtwdsx.vvmvl(<256 x double> %18, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %25, i64 4, i8* %24, i32 %16) - %26 = getelementptr inbounds i32, i32* %9, i64 256 - %27 = getelementptr inbounds double, double* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcvtwdsx.vvmvl(<256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwdsxrz_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwdsxrz_vvl.ll deleted file mode 100644 index d52976e7ea91..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwdsxrz_vvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcvtwdsxrz_vvl.c' -source_filename = "gen/tests/vcvtwdsxrz_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcvtwdsxrz_vvl(i32* %0, double* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vcvt.w.d.sx.rz %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i32* [ %17, %6 ], [ %0, %3 ] - %8 = phi double* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast double* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vcvtwdsxrz.vvl(<256 x double> %14, i32 %12) - %16 = bitcast i32* %7 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds i32, i32* %7, i64 256 - %18 = getelementptr inbounds double, double* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcvtwdsxrz.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwdsxrz_vvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwdsxrz_vvmvl.ll deleted file mode 100644 index ebd3235c9c8e..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwdsxrz_vvmvl.ll +++ /dev/null @@ -1,71 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcvtwdsxrz_vvmvl.c' -source_filename = "gen/tests/vcvtwdsxrz_vvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcvtwdsxrz_vvmvl(i32* %0, double* %1, i32* %2, i32* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vcvt.w.d.sx.rz %v2, %v0, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i32* [ %26, %8 ], [ %0, %5 ] - %10 = phi double* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i32* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast double* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %22, i32 %16) - %24 = bitcast i32* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vcvtwdsxrz.vvmvl(<256 x double> %18, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %25, i64 4, i8* %24, i32 %16) - %26 = getelementptr inbounds i32, i32* %9, i64 256 - %27 = getelementptr inbounds double, double* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcvtwdsxrz.vvmvl(<256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwdzx_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwdzx_vvl.ll deleted file mode 100644 index ffacb5f6904f..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwdzx_vvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcvtwdzx_vvl.c' -source_filename = "gen/tests/vcvtwdzx_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcvtwdzx_vvl(i32* %0, double* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vcvt.w.d.zx %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i32* [ %17, %6 ], [ %0, %3 ] - %8 = phi double* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast double* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vcvtwdzx.vvl(<256 x double> %14, i32 %12) - %16 = bitcast i32* %7 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds i32, i32* %7, i64 256 - %18 = getelementptr inbounds double, double* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcvtwdzx.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwdzx_vvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwdzx_vvmvl.ll deleted file mode 100644 index 356560649718..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwdzx_vvmvl.ll +++ /dev/null @@ -1,71 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcvtwdzx_vvmvl.c' -source_filename = "gen/tests/vcvtwdzx_vvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcvtwdzx_vvmvl(i32* %0, double* %1, i32* %2, i32* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vcvt.w.d.zx %v2, %v0, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i32* [ %26, %8 ], [ %0, %5 ] - %10 = phi double* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i32* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast double* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %22, i32 %16) - %24 = bitcast i32* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vcvtwdzx.vvmvl(<256 x double> %18, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %25, i64 4, i8* %24, i32 %16) - %26 = getelementptr inbounds i32, i32* %9, i64 256 - %27 = getelementptr inbounds double, double* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcvtwdzx.vvmvl(<256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwdzxrz_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwdzxrz_vvl.ll deleted file mode 100644 index dec3921d6868..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwdzxrz_vvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcvtwdzxrz_vvl.c' -source_filename = "gen/tests/vcvtwdzxrz_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcvtwdzxrz_vvl(i32* %0, double* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vcvt.w.d.zx.rz %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i32* [ %17, %6 ], [ %0, %3 ] - %8 = phi double* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast double* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vcvtwdzxrz.vvl(<256 x double> %14, i32 %12) - %16 = bitcast i32* %7 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds i32, i32* %7, i64 256 - %18 = getelementptr inbounds double, double* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcvtwdzxrz.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwdzxrz_vvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwdzxrz_vvmvl.ll deleted file mode 100644 index c6872372a656..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwdzxrz_vvmvl.ll +++ /dev/null @@ -1,71 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcvtwdzxrz_vvmvl.c' -source_filename = "gen/tests/vcvtwdzxrz_vvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcvtwdzxrz_vvmvl(i32* %0, double* %1, i32* %2, i32* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vcvt.w.d.zx.rz %v2, %v0, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i32* [ %26, %8 ], [ %0, %5 ] - %10 = phi double* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i32* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast double* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %22, i32 %16) - %24 = bitcast i32* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vcvtwdzxrz.vvmvl(<256 x double> %18, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %25, i64 4, i8* %24, i32 %16) - %26 = getelementptr inbounds i32, i32* %9, i64 256 - %27 = getelementptr inbounds double, double* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcvtwdzxrz.vvmvl(<256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwssx_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwssx_vvl.ll deleted file mode 100644 index 2036a6288a8d..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwssx_vvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcvtwssx_vvl.c' -source_filename = "gen/tests/vcvtwssx_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcvtwssx_vvl(i32* %0, float* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vcvt.w.s.sx %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i32* [ %17, %6 ], [ %0, %3 ] - %8 = phi float* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast float* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vcvtwssx.vvl(<256 x double> %14, i32 %12) - %16 = bitcast i32* %7 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds i32, i32* %7, i64 256 - %18 = getelementptr inbounds float, float* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcvtwssx.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwssx_vvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwssx_vvmvl.ll deleted file mode 100644 index 4accedfef368..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwssx_vvmvl.ll +++ /dev/null @@ -1,71 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcvtwssx_vvmvl.c' -source_filename = "gen/tests/vcvtwssx_vvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcvtwssx_vvmvl(i32* %0, float* %1, i32* %2, i32* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vcvt.w.s.sx %v2, %v0, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i32* [ %26, %8 ], [ %0, %5 ] - %10 = phi float* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i32* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast float* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %22, i32 %16) - %24 = bitcast i32* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vcvtwssx.vvmvl(<256 x double> %18, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %25, i64 4, i8* %24, i32 %16) - %26 = getelementptr inbounds i32, i32* %9, i64 256 - %27 = getelementptr inbounds float, float* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcvtwssx.vvmvl(<256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwssxrz_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwssxrz_vvl.ll deleted file mode 100644 index ae839d2362e3..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwssxrz_vvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcvtwssxrz_vvl.c' -source_filename = "gen/tests/vcvtwssxrz_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcvtwssxrz_vvl(i32* %0, float* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vcvt.w.s.sx.rz %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i32* [ %17, %6 ], [ %0, %3 ] - %8 = phi float* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast float* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vcvtwssxrz.vvl(<256 x double> %14, i32 %12) - %16 = bitcast i32* %7 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds i32, i32* %7, i64 256 - %18 = getelementptr inbounds float, float* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcvtwssxrz.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwssxrz_vvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwssxrz_vvmvl.ll deleted file mode 100644 index 1f443fb21fc2..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwssxrz_vvmvl.ll +++ /dev/null @@ -1,71 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcvtwssxrz_vvmvl.c' -source_filename = "gen/tests/vcvtwssxrz_vvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcvtwssxrz_vvmvl(i32* %0, float* %1, i32* %2, i32* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vcvt.w.s.sx.rz %v2, %v0, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i32* [ %26, %8 ], [ %0, %5 ] - %10 = phi float* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i32* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast float* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %22, i32 %16) - %24 = bitcast i32* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vcvtwssxrz.vvmvl(<256 x double> %18, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %25, i64 4, i8* %24, i32 %16) - %26 = getelementptr inbounds i32, i32* %9, i64 256 - %27 = getelementptr inbounds float, float* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcvtwssxrz.vvmvl(<256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwszx_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwszx_vvl.ll deleted file mode 100644 index a6edcf998061..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwszx_vvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcvtwszx_vvl.c' -source_filename = "gen/tests/vcvtwszx_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcvtwszx_vvl(i32* %0, float* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vcvt.w.s.zx %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i32* [ %17, %6 ], [ %0, %3 ] - %8 = phi float* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast float* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vcvtwszx.vvl(<256 x double> %14, i32 %12) - %16 = bitcast i32* %7 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds i32, i32* %7, i64 256 - %18 = getelementptr inbounds float, float* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcvtwszx.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwszx_vvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwszx_vvmvl.ll deleted file mode 100644 index 6a7a90016954..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwszx_vvmvl.ll +++ /dev/null @@ -1,71 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcvtwszx_vvmvl.c' -source_filename = "gen/tests/vcvtwszx_vvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcvtwszx_vvmvl(i32* %0, float* %1, i32* %2, i32* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vcvt.w.s.zx %v2, %v0, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i32* [ %26, %8 ], [ %0, %5 ] - %10 = phi float* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i32* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast float* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %22, i32 %16) - %24 = bitcast i32* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vcvtwszx.vvmvl(<256 x double> %18, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %25, i64 4, i8* %24, i32 %16) - %26 = getelementptr inbounds i32, i32* %9, i64 256 - %27 = getelementptr inbounds float, float* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcvtwszx.vvmvl(<256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwszxrz_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwszxrz_vvl.ll deleted file mode 100644 index 62e197c3e0a9..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwszxrz_vvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcvtwszxrz_vvl.c' -source_filename = "gen/tests/vcvtwszxrz_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcvtwszxrz_vvl(i32* %0, float* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vcvt.w.s.zx.rz %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i32* [ %17, %6 ], [ %0, %3 ] - %8 = phi float* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast float* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vcvtwszxrz.vvl(<256 x double> %14, i32 %12) - %16 = bitcast i32* %7 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds i32, i32* %7, i64 256 - %18 = getelementptr inbounds float, float* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcvtwszxrz.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwszxrz_vvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwszxrz_vvmvl.ll deleted file mode 100644 index 8eab033b0252..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vcvtwszxrz_vvmvl.ll +++ /dev/null @@ -1,71 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vcvtwszxrz_vvmvl.c' -source_filename = "gen/tests/vcvtwszxrz_vvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vcvtwszxrz_vvmvl(i32* %0, float* %1, i32* %2, i32* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vcvt.w.s.zx.rz %v2, %v0, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i32* [ %26, %8 ], [ %0, %5 ] - %10 = phi float* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i32* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast float* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %22, i32 %16) - %24 = bitcast i32* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vcvtwszxrz.vvmvl(<256 x double> %18, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %25, i64 4, i8* %24, i32 %16) - %26 = getelementptr inbounds i32, i32* %9, i64 256 - %27 = getelementptr inbounds float, float* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vcvtwszxrz.vvmvl(<256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivsl_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivsl_vsvl.ll deleted file mode 100644 index fd14b4700367..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivsl_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivsl_vsvl.c' -source_filename = "gen/tests/vdivsl_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivsl_vsvl(i64* %0, i64 %1, i64* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vdivs.l %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %18, %7 ], [ %0, %4 ] - %9 = phi i64* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i64* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vdivsl.vsvl(i64 %1, <256 x double> %15, i32 %13) - %17 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %16, i64 8, i8* %17, i32 %13) - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = getelementptr inbounds i64, i64* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivsl.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivsl_vsvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivsl_vsvl_imm.ll deleted file mode 100644 index ff000902587e..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivsl_vsvl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivsl_vsvl_imm.c' -source_filename = "gen/tests/vdivsl_vsvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivsl_vsvl_imm(i64* %0, i64* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vdivs.l %v0, 3, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i64* [ %17, %6 ], [ %0, %3 ] - %8 = phi i64* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i64* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vdivsl.vsvl(i64 3, <256 x double> %14, i32 %12) - %16 = bitcast i64* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %15, i64 8, i8* %16, i32 %12) - %17 = getelementptr inbounds i64, i64* %7, i64 256 - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivsl.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivsl_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivsl_vsvmvl.ll deleted file mode 100644 index 9f416d2631be..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivsl_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivsl_vsvmvl.c' -source_filename = "gen/tests/vdivsl_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivsl_vsvmvl(i64* %0, i64 %1, i64* %2, i32* %3, i64* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vdivs.l %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i64* [ %27, %9 ], [ %0, %6 ] - %11 = phi i64* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i64* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i64* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i64* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %23, i32 %17) - %25 = bitcast i64* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vdivsl.vsvmvl(i64 %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %26, i64 8, i8* %25, i32 %17) - %27 = getelementptr inbounds i64, i64* %10, i64 256 - %28 = getelementptr inbounds i64, i64* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i64, i64* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivsl.vsvmvl(i64, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivsl_vsvmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivsl_vsvmvl_imm.ll deleted file mode 100644 index 72c443e29ac1..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivsl_vsvmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivsl_vsvmvl_imm.c' -source_filename = "gen/tests/vdivsl_vsvmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivsl_vsvmvl_imm(i64* %0, i64* %1, i32* %2, i64* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vdivs.l %v2, 3, %v0, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i64* [ %26, %8 ], [ %0, %5 ] - %10 = phi i64* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i64* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast i64* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i64* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %16) - %24 = bitcast i64* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vdivsl.vsvmvl(i64 3, <256 x double> %18, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %25, i64 8, i8* %24, i32 %16) - %26 = getelementptr inbounds i64, i64* %9, i64 256 - %27 = getelementptr inbounds i64, i64* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i64, i64* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivsl.vsvmvl(i64, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivsl_vvsl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivsl_vvsl.ll deleted file mode 100644 index 5a8a32cf0a06..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivsl_vvsl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivsl_vvsl.c' -source_filename = "gen/tests/vdivsl_vvsl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivsl_vvsl(i64* %0, i64* %1, i64 %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vdivs.l %v0, %v0, %s2 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %18, %7 ], [ %0, %4 ] - %9 = phi i64* [ %19, %7 ], [ %1, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i64* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vdivsl.vvsl(<256 x double> %15, i64 %2, i32 %13) - %17 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %16, i64 8, i8* %17, i32 %13) - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = getelementptr inbounds i64, i64* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivsl.vvsl(<256 x double>, i64, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivsl_vvsl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivsl_vvsl_imm.ll deleted file mode 100644 index 2fd86410d381..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivsl_vvsl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivsl_vvsl_imm.c' -source_filename = "gen/tests/vdivsl_vvsl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivsl_vvsl_imm(i64* %0, i64* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vdivs.l %v0, %v0, 3 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i64* [ %17, %6 ], [ %0, %3 ] - %8 = phi i64* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i64* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vdivsl.vvsl(<256 x double> %14, i64 3, i32 %12) - %16 = bitcast i64* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %15, i64 8, i8* %16, i32 %12) - %17 = getelementptr inbounds i64, i64* %7, i64 256 - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivsl.vvsl(<256 x double>, i64, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivsl_vvsmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivsl_vvsmvl.ll deleted file mode 100644 index ac837fd5c416..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivsl_vvsmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivsl_vvsmvl.c' -source_filename = "gen/tests/vdivsl_vvsmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivsl_vvsmvl(i64* %0, i64* %1, i64 %2, i32* %3, i64* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vdivs.l %v2, %v0, %s2, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i64* [ %27, %9 ], [ %0, %6 ] - %11 = phi i64* [ %28, %9 ], [ %1, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i64* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i64* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i64* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %23, i32 %17) - %25 = bitcast i64* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vdivsl.vvsmvl(<256 x double> %19, i64 %2, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %26, i64 8, i8* %25, i32 %17) - %27 = getelementptr inbounds i64, i64* %10, i64 256 - %28 = getelementptr inbounds i64, i64* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i64, i64* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivsl.vvsmvl(<256 x double>, i64, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivsl_vvsmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivsl_vvsmvl_imm.ll deleted file mode 100644 index a08e5959942e..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivsl_vvsmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivsl_vvsmvl_imm.c' -source_filename = "gen/tests/vdivsl_vvsmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivsl_vvsmvl_imm(i64* %0, i64* %1, i32* %2, i64* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vdivs.l %v2, %v0, 3, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i64* [ %26, %8 ], [ %0, %5 ] - %10 = phi i64* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i64* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast i64* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i64* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %16) - %24 = bitcast i64* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vdivsl.vvsmvl(<256 x double> %18, i64 3, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %25, i64 8, i8* %24, i32 %16) - %26 = getelementptr inbounds i64, i64* %9, i64 256 - %27 = getelementptr inbounds i64, i64* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i64, i64* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivsl.vvsmvl(<256 x double>, i64, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivsl_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivsl_vvvl.ll deleted file mode 100644 index ed874e2c6ef5..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivsl_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivsl_vvvl.c' -source_filename = "gen/tests/vdivsl_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivsl_vvvl(i64* %0, i64* %1, i64* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vdivs.l %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %21, %7 ], [ %0, %4 ] - %9 = phi i64* [ %22, %7 ], [ %1, %4 ] - %10 = phi i64* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i64* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = bitcast i64* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vdivsl.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %19, i64 8, i8* %20, i32 %14) - %21 = getelementptr inbounds i64, i64* %8, i64 256 - %22 = getelementptr inbounds i64, i64* %9, i64 256 - %23 = getelementptr inbounds i64, i64* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivsl.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivsl_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivsl_vvvmvl.ll deleted file mode 100644 index 29649df071b8..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivsl_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivsl_vvvmvl.c' -source_filename = "gen/tests/vdivsl_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivsl_vvvmvl(i64* %0, i64* %1, i64* %2, i32* %3, i64* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vdivs.l %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i64* [ %30, %9 ], [ %0, %6 ] - %11 = phi i64* [ %31, %9 ], [ %1, %6 ] - %12 = phi i64* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi i64* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast i64* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast i64* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast i64* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %26, i32 %18) - %28 = bitcast i64* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vdivsl.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %29, i64 8, i8* %28, i32 %18) - %30 = getelementptr inbounds i64, i64* %10, i64 256 - %31 = getelementptr inbounds i64, i64* %11, i64 256 - %32 = getelementptr inbounds i64, i64* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds i64, i64* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivsl.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswsx_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswsx_vsvl.ll deleted file mode 100644 index 1abb149756d4..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswsx_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivswsx_vsvl.c' -source_filename = "gen/tests/vdivswsx_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivswsx_vsvl(i32* %0, i32 signext %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vdivs.w.sx %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %18, %7 ], [ %0, %4 ] - %9 = phi i32* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i32* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vdivswsx.vsvl(i32 %1, <256 x double> %15, i32 %13) - %17 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %16, i64 4, i8* %17, i32 %13) - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = getelementptr inbounds i32, i32* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivswsx.vsvl(i32, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswsx_vsvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswsx_vsvl_imm.ll deleted file mode 100644 index 22599ab5e406..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswsx_vsvl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivswsx_vsvl_imm.c' -source_filename = "gen/tests/vdivswsx_vsvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivswsx_vsvl_imm(i32* %0, i32* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vdivs.w.sx %v0, 3, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i32* [ %17, %6 ], [ %0, %3 ] - %8 = phi i32* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i32* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vdivswsx.vsvl(i32 3, <256 x double> %14, i32 %12) - %16 = bitcast i32* %7 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds i32, i32* %7, i64 256 - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivswsx.vsvl(i32, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswsx_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswsx_vsvmvl.ll deleted file mode 100644 index 235eaf285169..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswsx_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivswsx_vsvmvl.c' -source_filename = "gen/tests/vdivswsx_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivswsx_vsvmvl(i32* %0, i32 signext %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vdivs.w.sx %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %27, %9 ], [ %0, %6 ] - %11 = phi i32* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i32* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i32* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %23, i32 %17) - %25 = bitcast i32* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vdivswsx.vsvmvl(i32 %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %26, i64 4, i8* %25, i32 %17) - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i32, i32* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivswsx.vsvmvl(i32, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswsx_vsvmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswsx_vsvmvl_imm.ll deleted file mode 100644 index 8dba5c899249..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswsx_vsvmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivswsx_vsvmvl_imm.c' -source_filename = "gen/tests/vdivswsx_vsvmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivswsx_vsvmvl_imm(i32* %0, i32* %1, i32* %2, i32* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vdivs.w.sx %v2, 3, %v0, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i32* [ %26, %8 ], [ %0, %5 ] - %10 = phi i32* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i32* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %22, i32 %16) - %24 = bitcast i32* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vdivswsx.vsvmvl(i32 3, <256 x double> %18, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %25, i64 4, i8* %24, i32 %16) - %26 = getelementptr inbounds i32, i32* %9, i64 256 - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivswsx.vsvmvl(i32, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswsx_vvsl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswsx_vvsl.ll deleted file mode 100644 index 1cf85c5b9a10..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswsx_vvsl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivswsx_vvsl.c' -source_filename = "gen/tests/vdivswsx_vvsl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivswsx_vvsl(i32* %0, i32* %1, i32 signext %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vdivs.w.sx %v0, %v0, %s2 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %18, %7 ], [ %0, %4 ] - %9 = phi i32* [ %19, %7 ], [ %1, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i32* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vdivswsx.vvsl(<256 x double> %15, i32 %2, i32 %13) - %17 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %16, i64 4, i8* %17, i32 %13) - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = getelementptr inbounds i32, i32* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivswsx.vvsl(<256 x double>, i32, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswsx_vvsl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswsx_vvsl_imm.ll deleted file mode 100644 index 22fc4e76b1a9..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswsx_vvsl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivswsx_vvsl_imm.c' -source_filename = "gen/tests/vdivswsx_vvsl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivswsx_vvsl_imm(i32* %0, i32* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vdivs.w.sx %v0, %v0, 3 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i32* [ %17, %6 ], [ %0, %3 ] - %8 = phi i32* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i32* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vdivswsx.vvsl(<256 x double> %14, i32 3, i32 %12) - %16 = bitcast i32* %7 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds i32, i32* %7, i64 256 - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivswsx.vvsl(<256 x double>, i32, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswsx_vvsmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswsx_vvsmvl.ll deleted file mode 100644 index 9697f004e1b4..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswsx_vvsmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivswsx_vvsmvl.c' -source_filename = "gen/tests/vdivswsx_vvsmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivswsx_vvsmvl(i32* %0, i32* %1, i32 signext %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vdivs.w.sx %v2, %v0, %s2, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %27, %9 ], [ %0, %6 ] - %11 = phi i32* [ %28, %9 ], [ %1, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i32* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i32* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %23, i32 %17) - %25 = bitcast i32* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vdivswsx.vvsmvl(<256 x double> %19, i32 %2, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %26, i64 4, i8* %25, i32 %17) - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i32, i32* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivswsx.vvsmvl(<256 x double>, i32, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswsx_vvsmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswsx_vvsmvl_imm.ll deleted file mode 100644 index 663b8233188e..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswsx_vvsmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivswsx_vvsmvl_imm.c' -source_filename = "gen/tests/vdivswsx_vvsmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivswsx_vvsmvl_imm(i32* %0, i32* %1, i32* %2, i32* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vdivs.w.sx %v2, %v0, 3, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i32* [ %26, %8 ], [ %0, %5 ] - %10 = phi i32* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i32* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %22, i32 %16) - %24 = bitcast i32* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vdivswsx.vvsmvl(<256 x double> %18, i32 3, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %25, i64 4, i8* %24, i32 %16) - %26 = getelementptr inbounds i32, i32* %9, i64 256 - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivswsx.vvsmvl(<256 x double>, i32, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswsx_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswsx_vvvl.ll deleted file mode 100644 index 77dc234b1217..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswsx_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivswsx_vvvl.c' -source_filename = "gen/tests/vdivswsx_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivswsx_vvvl(i32* %0, i32* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vdivs.w.sx %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %21, %7 ], [ %0, %4 ] - %9 = phi i32* [ %22, %7 ], [ %1, %4 ] - %10 = phi i32* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i32* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %15, i32 %14) - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vdivswsx.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %19, i64 4, i8* %20, i32 %14) - %21 = getelementptr inbounds i32, i32* %8, i64 256 - %22 = getelementptr inbounds i32, i32* %9, i64 256 - %23 = getelementptr inbounds i32, i32* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivswsx.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswsx_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswsx_vvvmvl.ll deleted file mode 100644 index bf875773b83e..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswsx_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivswsx_vvvmvl.c' -source_filename = "gen/tests/vdivswsx_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivswsx_vvvmvl(i32* %0, i32* %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vdivs.w.sx %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %30, %9 ], [ %0, %6 ] - %11 = phi i32* [ %31, %9 ], [ %1, %6 ] - %12 = phi i32* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi i32* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %19, i32 %18) - %21 = bitcast i32* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast i32* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %26, i32 %18) - %28 = bitcast i32* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vdivswsx.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %29, i64 4, i8* %28, i32 %18) - %30 = getelementptr inbounds i32, i32* %10, i64 256 - %31 = getelementptr inbounds i32, i32* %11, i64 256 - %32 = getelementptr inbounds i32, i32* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds i32, i32* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivswsx.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswzx_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswzx_vsvl.ll deleted file mode 100644 index 93f7720756f7..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswzx_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivswzx_vsvl.c' -source_filename = "gen/tests/vdivswzx_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivswzx_vsvl(i32* %0, i32 signext %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vdivs.w.zx %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %18, %7 ], [ %0, %4 ] - %9 = phi i32* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i32* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vdivswzx.vsvl(i32 %1, <256 x double> %15, i32 %13) - %17 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %16, i64 4, i8* %17, i32 %13) - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = getelementptr inbounds i32, i32* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivswzx.vsvl(i32, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswzx_vsvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswzx_vsvl_imm.ll deleted file mode 100644 index 6b2e8f10968e..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswzx_vsvl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivswzx_vsvl_imm.c' -source_filename = "gen/tests/vdivswzx_vsvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivswzx_vsvl_imm(i32* %0, i32* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vdivs.w.zx %v0, 3, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i32* [ %17, %6 ], [ %0, %3 ] - %8 = phi i32* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i32* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vdivswzx.vsvl(i32 3, <256 x double> %14, i32 %12) - %16 = bitcast i32* %7 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds i32, i32* %7, i64 256 - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivswzx.vsvl(i32, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswzx_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswzx_vsvmvl.ll deleted file mode 100644 index 5ed949f27956..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswzx_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivswzx_vsvmvl.c' -source_filename = "gen/tests/vdivswzx_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivswzx_vsvmvl(i32* %0, i32 signext %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vdivs.w.zx %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %27, %9 ], [ %0, %6 ] - %11 = phi i32* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i32* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i32* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %23, i32 %17) - %25 = bitcast i32* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vdivswzx.vsvmvl(i32 %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %26, i64 4, i8* %25, i32 %17) - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i32, i32* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivswzx.vsvmvl(i32, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswzx_vsvmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswzx_vsvmvl_imm.ll deleted file mode 100644 index 4abb79948aa1..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswzx_vsvmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivswzx_vsvmvl_imm.c' -source_filename = "gen/tests/vdivswzx_vsvmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivswzx_vsvmvl_imm(i32* %0, i32* %1, i32* %2, i32* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vdivs.w.zx %v2, 3, %v0, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i32* [ %26, %8 ], [ %0, %5 ] - %10 = phi i32* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i32* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %22, i32 %16) - %24 = bitcast i32* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vdivswzx.vsvmvl(i32 3, <256 x double> %18, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %25, i64 4, i8* %24, i32 %16) - %26 = getelementptr inbounds i32, i32* %9, i64 256 - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivswzx.vsvmvl(i32, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswzx_vvsl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswzx_vvsl.ll deleted file mode 100644 index 00a86a9d8b06..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswzx_vvsl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivswzx_vvsl.c' -source_filename = "gen/tests/vdivswzx_vvsl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivswzx_vvsl(i32* %0, i32* %1, i32 signext %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vdivs.w.zx %v0, %v0, %s2 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %18, %7 ], [ %0, %4 ] - %9 = phi i32* [ %19, %7 ], [ %1, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i32* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vdivswzx.vvsl(<256 x double> %15, i32 %2, i32 %13) - %17 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %16, i64 4, i8* %17, i32 %13) - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = getelementptr inbounds i32, i32* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivswzx.vvsl(<256 x double>, i32, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswzx_vvsl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswzx_vvsl_imm.ll deleted file mode 100644 index 06a8a22ab424..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswzx_vvsl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivswzx_vvsl_imm.c' -source_filename = "gen/tests/vdivswzx_vvsl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivswzx_vvsl_imm(i32* %0, i32* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vdivs.w.zx %v0, %v0, 3 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i32* [ %17, %6 ], [ %0, %3 ] - %8 = phi i32* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i32* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vdivswzx.vvsl(<256 x double> %14, i32 3, i32 %12) - %16 = bitcast i32* %7 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds i32, i32* %7, i64 256 - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivswzx.vvsl(<256 x double>, i32, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswzx_vvsmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswzx_vvsmvl.ll deleted file mode 100644 index 1ac565676252..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswzx_vvsmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivswzx_vvsmvl.c' -source_filename = "gen/tests/vdivswzx_vvsmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivswzx_vvsmvl(i32* %0, i32* %1, i32 signext %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vdivs.w.zx %v2, %v0, %s2, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %27, %9 ], [ %0, %6 ] - %11 = phi i32* [ %28, %9 ], [ %1, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i32* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i32* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %23, i32 %17) - %25 = bitcast i32* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vdivswzx.vvsmvl(<256 x double> %19, i32 %2, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %26, i64 4, i8* %25, i32 %17) - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i32, i32* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivswzx.vvsmvl(<256 x double>, i32, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswzx_vvsmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswzx_vvsmvl_imm.ll deleted file mode 100644 index ee4cb114a565..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswzx_vvsmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivswzx_vvsmvl_imm.c' -source_filename = "gen/tests/vdivswzx_vvsmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivswzx_vvsmvl_imm(i32* %0, i32* %1, i32* %2, i32* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vdivs.w.zx %v2, %v0, 3, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i32* [ %26, %8 ], [ %0, %5 ] - %10 = phi i32* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i32* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %22, i32 %16) - %24 = bitcast i32* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vdivswzx.vvsmvl(<256 x double> %18, i32 3, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %25, i64 4, i8* %24, i32 %16) - %26 = getelementptr inbounds i32, i32* %9, i64 256 - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivswzx.vvsmvl(<256 x double>, i32, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswzx_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswzx_vvvl.ll deleted file mode 100644 index 60ae9581a7b6..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswzx_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivswzx_vvvl.c' -source_filename = "gen/tests/vdivswzx_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivswzx_vvvl(i32* %0, i32* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vdivs.w.zx %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %21, %7 ], [ %0, %4 ] - %9 = phi i32* [ %22, %7 ], [ %1, %4 ] - %10 = phi i32* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i32* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %15, i32 %14) - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vdivswzx.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %19, i64 4, i8* %20, i32 %14) - %21 = getelementptr inbounds i32, i32* %8, i64 256 - %22 = getelementptr inbounds i32, i32* %9, i64 256 - %23 = getelementptr inbounds i32, i32* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivswzx.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswzx_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswzx_vvvmvl.ll deleted file mode 100644 index 9a42521fca9e..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivswzx_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivswzx_vvvmvl.c' -source_filename = "gen/tests/vdivswzx_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivswzx_vvvmvl(i32* %0, i32* %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vdivs.w.zx %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %30, %9 ], [ %0, %6 ] - %11 = phi i32* [ %31, %9 ], [ %1, %6 ] - %12 = phi i32* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi i32* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %19, i32 %18) - %21 = bitcast i32* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast i32* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %26, i32 %18) - %28 = bitcast i32* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vdivswzx.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %29, i64 4, i8* %28, i32 %18) - %30 = getelementptr inbounds i32, i32* %10, i64 256 - %31 = getelementptr inbounds i32, i32* %11, i64 256 - %32 = getelementptr inbounds i32, i32* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds i32, i32* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivswzx.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivul_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivul_vsvl.ll deleted file mode 100644 index 0d7bcd9635cf..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivul_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivul_vsvl.c' -source_filename = "gen/tests/vdivul_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivul_vsvl(i64* %0, i64 %1, i64* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vdivu.l %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %18, %7 ], [ %0, %4 ] - %9 = phi i64* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i64* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vdivul.vsvl(i64 %1, <256 x double> %15, i32 %13) - %17 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %16, i64 8, i8* %17, i32 %13) - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = getelementptr inbounds i64, i64* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivul.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivul_vsvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivul_vsvl_imm.ll deleted file mode 100644 index f8774dbdc261..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivul_vsvl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivul_vsvl_imm.c' -source_filename = "gen/tests/vdivul_vsvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivul_vsvl_imm(i64* %0, i64* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vdivu.l %v0, 3, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i64* [ %17, %6 ], [ %0, %3 ] - %8 = phi i64* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i64* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vdivul.vsvl(i64 3, <256 x double> %14, i32 %12) - %16 = bitcast i64* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %15, i64 8, i8* %16, i32 %12) - %17 = getelementptr inbounds i64, i64* %7, i64 256 - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivul.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivul_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivul_vsvmvl.ll deleted file mode 100644 index 7bda672fd1a6..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivul_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivul_vsvmvl.c' -source_filename = "gen/tests/vdivul_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivul_vsvmvl(i64* %0, i64 %1, i64* %2, i32* %3, i64* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vdivu.l %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i64* [ %27, %9 ], [ %0, %6 ] - %11 = phi i64* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i64* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i64* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i64* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %23, i32 %17) - %25 = bitcast i64* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vdivul.vsvmvl(i64 %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %26, i64 8, i8* %25, i32 %17) - %27 = getelementptr inbounds i64, i64* %10, i64 256 - %28 = getelementptr inbounds i64, i64* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i64, i64* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivul.vsvmvl(i64, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivul_vsvmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivul_vsvmvl_imm.ll deleted file mode 100644 index 99bf97ef453c..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivul_vsvmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivul_vsvmvl_imm.c' -source_filename = "gen/tests/vdivul_vsvmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivul_vsvmvl_imm(i64* %0, i64* %1, i32* %2, i64* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vdivu.l %v2, 3, %v0, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i64* [ %26, %8 ], [ %0, %5 ] - %10 = phi i64* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i64* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast i64* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i64* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %16) - %24 = bitcast i64* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vdivul.vsvmvl(i64 3, <256 x double> %18, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %25, i64 8, i8* %24, i32 %16) - %26 = getelementptr inbounds i64, i64* %9, i64 256 - %27 = getelementptr inbounds i64, i64* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i64, i64* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivul.vsvmvl(i64, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivul_vvsl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivul_vvsl.ll deleted file mode 100644 index 7ceaa564f881..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivul_vvsl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivul_vvsl.c' -source_filename = "gen/tests/vdivul_vvsl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivul_vvsl(i64* %0, i64* %1, i64 %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vdivu.l %v0, %v0, %s2 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %18, %7 ], [ %0, %4 ] - %9 = phi i64* [ %19, %7 ], [ %1, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i64* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vdivul.vvsl(<256 x double> %15, i64 %2, i32 %13) - %17 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %16, i64 8, i8* %17, i32 %13) - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = getelementptr inbounds i64, i64* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivul.vvsl(<256 x double>, i64, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivul_vvsl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivul_vvsl_imm.ll deleted file mode 100644 index 4b1b4dd33cd8..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivul_vvsl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivul_vvsl_imm.c' -source_filename = "gen/tests/vdivul_vvsl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivul_vvsl_imm(i64* %0, i64* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vdivu.l %v0, %v0, 3 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i64* [ %17, %6 ], [ %0, %3 ] - %8 = phi i64* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i64* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vdivul.vvsl(<256 x double> %14, i64 3, i32 %12) - %16 = bitcast i64* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %15, i64 8, i8* %16, i32 %12) - %17 = getelementptr inbounds i64, i64* %7, i64 256 - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivul.vvsl(<256 x double>, i64, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivul_vvsmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivul_vvsmvl.ll deleted file mode 100644 index ec3d34140d38..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivul_vvsmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivul_vvsmvl.c' -source_filename = "gen/tests/vdivul_vvsmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivul_vvsmvl(i64* %0, i64* %1, i64 %2, i32* %3, i64* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vdivu.l %v2, %v0, %s2, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i64* [ %27, %9 ], [ %0, %6 ] - %11 = phi i64* [ %28, %9 ], [ %1, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i64* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i64* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i64* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %23, i32 %17) - %25 = bitcast i64* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vdivul.vvsmvl(<256 x double> %19, i64 %2, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %26, i64 8, i8* %25, i32 %17) - %27 = getelementptr inbounds i64, i64* %10, i64 256 - %28 = getelementptr inbounds i64, i64* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i64, i64* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivul.vvsmvl(<256 x double>, i64, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivul_vvsmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivul_vvsmvl_imm.ll deleted file mode 100644 index 4c13929142d6..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivul_vvsmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivul_vvsmvl_imm.c' -source_filename = "gen/tests/vdivul_vvsmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivul_vvsmvl_imm(i64* %0, i64* %1, i32* %2, i64* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vdivu.l %v2, %v0, 3, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i64* [ %26, %8 ], [ %0, %5 ] - %10 = phi i64* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i64* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast i64* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i64* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %16) - %24 = bitcast i64* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vdivul.vvsmvl(<256 x double> %18, i64 3, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %25, i64 8, i8* %24, i32 %16) - %26 = getelementptr inbounds i64, i64* %9, i64 256 - %27 = getelementptr inbounds i64, i64* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i64, i64* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivul.vvsmvl(<256 x double>, i64, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivul_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivul_vvvl.ll deleted file mode 100644 index a390b598bbfc..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivul_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivul_vvvl.c' -source_filename = "gen/tests/vdivul_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivul_vvvl(i64* %0, i64* %1, i64* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vdivu.l %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %21, %7 ], [ %0, %4 ] - %9 = phi i64* [ %22, %7 ], [ %1, %4 ] - %10 = phi i64* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i64* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = bitcast i64* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vdivul.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %19, i64 8, i8* %20, i32 %14) - %21 = getelementptr inbounds i64, i64* %8, i64 256 - %22 = getelementptr inbounds i64, i64* %9, i64 256 - %23 = getelementptr inbounds i64, i64* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivul.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivul_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivul_vvvmvl.ll deleted file mode 100644 index aeefb6e1960b..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivul_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivul_vvvmvl.c' -source_filename = "gen/tests/vdivul_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivul_vvvmvl(i64* %0, i64* %1, i64* %2, i32* %3, i64* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vdivu.l %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i64* [ %30, %9 ], [ %0, %6 ] - %11 = phi i64* [ %31, %9 ], [ %1, %6 ] - %12 = phi i64* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi i64* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast i64* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast i64* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast i64* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %26, i32 %18) - %28 = bitcast i64* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vdivul.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %29, i64 8, i8* %28, i32 %18) - %30 = getelementptr inbounds i64, i64* %10, i64 256 - %31 = getelementptr inbounds i64, i64* %11, i64 256 - %32 = getelementptr inbounds i64, i64* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds i64, i64* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivul.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivuw_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivuw_vsvl.ll deleted file mode 100644 index f392719bcbc2..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivuw_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivuw_vsvl.c' -source_filename = "gen/tests/vdivuw_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivuw_vsvl(i32* %0, i32 zeroext %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vdivu.w %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %18, %7 ], [ %0, %4 ] - %9 = phi i32* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i32* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vdivuw.vsvl(i32 %1, <256 x double> %15, i32 %13) - %17 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %16, i64 4, i8* %17, i32 %13) - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = getelementptr inbounds i32, i32* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivuw.vsvl(i32, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivuw_vsvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivuw_vsvl_imm.ll deleted file mode 100644 index 2adb23d3c4b5..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivuw_vsvl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivuw_vsvl_imm.c' -source_filename = "gen/tests/vdivuw_vsvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivuw_vsvl_imm(i32* %0, i32* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vdivu.w %v0, 3, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i32* [ %17, %6 ], [ %0, %3 ] - %8 = phi i32* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i32* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vdivuw.vsvl(i32 3, <256 x double> %14, i32 %12) - %16 = bitcast i32* %7 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds i32, i32* %7, i64 256 - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivuw.vsvl(i32, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivuw_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivuw_vsvmvl.ll deleted file mode 100644 index 573e2cf4f3d3..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivuw_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivuw_vsvmvl.c' -source_filename = "gen/tests/vdivuw_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivuw_vsvmvl(i32* %0, i32 zeroext %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vdivu.w %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %27, %9 ], [ %0, %6 ] - %11 = phi i32* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i32* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i32* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %23, i32 %17) - %25 = bitcast i32* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vdivuw.vsvmvl(i32 %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %26, i64 4, i8* %25, i32 %17) - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i32, i32* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivuw.vsvmvl(i32, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivuw_vsvmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivuw_vsvmvl_imm.ll deleted file mode 100644 index 2fd8c49ad524..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivuw_vsvmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivuw_vsvmvl_imm.c' -source_filename = "gen/tests/vdivuw_vsvmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivuw_vsvmvl_imm(i32* %0, i32* %1, i32* %2, i32* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vdivu.w %v2, 3, %v0, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i32* [ %26, %8 ], [ %0, %5 ] - %10 = phi i32* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i32* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %22, i32 %16) - %24 = bitcast i32* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vdivuw.vsvmvl(i32 3, <256 x double> %18, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %25, i64 4, i8* %24, i32 %16) - %26 = getelementptr inbounds i32, i32* %9, i64 256 - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivuw.vsvmvl(i32, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivuw_vvsl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivuw_vvsl.ll deleted file mode 100644 index 21632b5d02e9..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivuw_vvsl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivuw_vvsl.c' -source_filename = "gen/tests/vdivuw_vvsl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivuw_vvsl(i32* %0, i32* %1, i32 zeroext %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vdivu.w %v0, %v0, %s2 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %18, %7 ], [ %0, %4 ] - %9 = phi i32* [ %19, %7 ], [ %1, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i32* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vdivuw.vvsl(<256 x double> %15, i32 %2, i32 %13) - %17 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %16, i64 4, i8* %17, i32 %13) - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = getelementptr inbounds i32, i32* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivuw.vvsl(<256 x double>, i32, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivuw_vvsl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivuw_vvsl_imm.ll deleted file mode 100644 index d9f269c62f15..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivuw_vvsl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivuw_vvsl_imm.c' -source_filename = "gen/tests/vdivuw_vvsl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivuw_vvsl_imm(i32* %0, i32* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vdivu.w %v0, %v0, 3 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i32* [ %17, %6 ], [ %0, %3 ] - %8 = phi i32* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i32* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vdivuw.vvsl(<256 x double> %14, i32 3, i32 %12) - %16 = bitcast i32* %7 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds i32, i32* %7, i64 256 - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivuw.vvsl(<256 x double>, i32, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivuw_vvsmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivuw_vvsmvl.ll deleted file mode 100644 index 74a014ed314c..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivuw_vvsmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivuw_vvsmvl.c' -source_filename = "gen/tests/vdivuw_vvsmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivuw_vvsmvl(i32* %0, i32* %1, i32 zeroext %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vdivu.w %v2, %v0, %s2, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %27, %9 ], [ %0, %6 ] - %11 = phi i32* [ %28, %9 ], [ %1, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i32* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i32* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %23, i32 %17) - %25 = bitcast i32* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vdivuw.vvsmvl(<256 x double> %19, i32 %2, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %26, i64 4, i8* %25, i32 %17) - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i32, i32* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivuw.vvsmvl(<256 x double>, i32, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivuw_vvsmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivuw_vvsmvl_imm.ll deleted file mode 100644 index eb8860a3d922..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivuw_vvsmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivuw_vvsmvl_imm.c' -source_filename = "gen/tests/vdivuw_vvsmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivuw_vvsmvl_imm(i32* %0, i32* %1, i32* %2, i32* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vdivu.w %v2, %v0, 3, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i32* [ %26, %8 ], [ %0, %5 ] - %10 = phi i32* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i32* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %22, i32 %16) - %24 = bitcast i32* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vdivuw.vvsmvl(<256 x double> %18, i32 3, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %25, i64 4, i8* %24, i32 %16) - %26 = getelementptr inbounds i32, i32* %9, i64 256 - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivuw.vvsmvl(<256 x double>, i32, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivuw_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivuw_vvvl.ll deleted file mode 100644 index 67ff158330cc..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivuw_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivuw_vvvl.c' -source_filename = "gen/tests/vdivuw_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivuw_vvvl(i32* %0, i32* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vdivu.w %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %21, %7 ], [ %0, %4 ] - %9 = phi i32* [ %22, %7 ], [ %1, %4 ] - %10 = phi i32* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i32* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %15, i32 %14) - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vdivuw.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %19, i64 4, i8* %20, i32 %14) - %21 = getelementptr inbounds i32, i32* %8, i64 256 - %22 = getelementptr inbounds i32, i32* %9, i64 256 - %23 = getelementptr inbounds i32, i32* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivuw.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivuw_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivuw_vvvmvl.ll deleted file mode 100644 index 0139226ee2df..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vdivuw_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vdivuw_vvvmvl.c' -source_filename = "gen/tests/vdivuw_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vdivuw_vvvmvl(i32* %0, i32* %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vdivu.w %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %30, %9 ], [ %0, %6 ] - %11 = phi i32* [ %31, %9 ], [ %1, %6 ] - %12 = phi i32* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi i32* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %19, i32 %18) - %21 = bitcast i32* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast i32* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %26, i32 %18) - %28 = bitcast i32* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vdivuw.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %29, i64 4, i8* %28, i32 %18) - %30 = getelementptr inbounds i32, i32* %10, i64 256 - %31 = getelementptr inbounds i32, i32* %11, i64 256 - %32 = getelementptr inbounds i32, i32* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds i32, i32* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vdivuw.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-veqv_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-veqv_vsvl.ll deleted file mode 100644 index fffc67e68991..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-veqv_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/veqv_vsvl.c' -source_filename = "gen/tests/veqv_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @veqv_vsvl(i64* %0, i64 %1, i64* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: veqv %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %18, %7 ], [ %0, %4 ] - %9 = phi i64* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i64* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.veqv.vsvl(i64 %1, <256 x double> %15, i32 %13) - %17 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %16, i64 8, i8* %17, i32 %13) - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = getelementptr inbounds i64, i64* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.veqv.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-veqv_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-veqv_vsvmvl.ll deleted file mode 100644 index 47f68bb216b0..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-veqv_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/veqv_vsvmvl.c' -source_filename = "gen/tests/veqv_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @veqv_vsvmvl(i64* %0, i64 %1, i64* %2, i32* %3, i64* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: veqv %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i64* [ %27, %9 ], [ %0, %6 ] - %11 = phi i64* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i64* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i64* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i64* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %23, i32 %17) - %25 = bitcast i64* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.veqv.vsvmvl(i64 %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %26, i64 8, i8* %25, i32 %17) - %27 = getelementptr inbounds i64, i64* %10, i64 256 - %28 = getelementptr inbounds i64, i64* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i64, i64* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.veqv.vsvmvl(i64, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-veqv_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-veqv_vvvl.ll deleted file mode 100644 index a0b882b72f8c..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-veqv_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/veqv_vvvl.c' -source_filename = "gen/tests/veqv_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @veqv_vvvl(i64* %0, i64* %1, i64* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: veqv %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %21, %7 ], [ %0, %4 ] - %9 = phi i64* [ %22, %7 ], [ %1, %4 ] - %10 = phi i64* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i64* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = bitcast i64* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.veqv.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %19, i64 8, i8* %20, i32 %14) - %21 = getelementptr inbounds i64, i64* %8, i64 256 - %22 = getelementptr inbounds i64, i64* %9, i64 256 - %23 = getelementptr inbounds i64, i64* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.veqv.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-veqv_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-veqv_vvvmvl.ll deleted file mode 100644 index 99dff973d01b..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-veqv_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/veqv_vvvmvl.c' -source_filename = "gen/tests/veqv_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @veqv_vvvmvl(i64* %0, i64* %1, i64* %2, i32* %3, i64* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: veqv %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i64* [ %30, %9 ], [ %0, %6 ] - %11 = phi i64* [ %31, %9 ], [ %1, %6 ] - %12 = phi i64* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi i64* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast i64* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast i64* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast i64* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %26, i32 %18) - %28 = bitcast i64* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.veqv.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %29, i64 8, i8* %28, i32 %18) - %30 = getelementptr inbounds i64, i64* %10, i64 256 - %31 = getelementptr inbounds i64, i64* %11, i64 256 - %32 = getelementptr inbounds i64, i64* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds i64, i64* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.veqv.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfaddd_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfaddd_vsvl.ll deleted file mode 100644 index c87fea711411..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfaddd_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfaddd_vsvl.c' -source_filename = "gen/tests/vfaddd_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfaddd_vsvl(double* %0, double %1, double* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vfadd.d %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi double* [ %18, %7 ], [ %0, %4 ] - %9 = phi double* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast double* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vfaddd.vsvl(double %1, <256 x double> %15, i32 %13) - %17 = bitcast double* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %16, i64 8, i8* %17, i32 %13) - %18 = getelementptr inbounds double, double* %8, i64 256 - %19 = getelementptr inbounds double, double* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfaddd.vsvl(double, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfaddd_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfaddd_vsvmvl.ll deleted file mode 100644 index 0ea035de4028..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfaddd_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfaddd_vsvmvl.c' -source_filename = "gen/tests/vfaddd_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfaddd_vsvmvl(double* %0, double %1, double* %2, i32* %3, double* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vfadd.d %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi double* [ %27, %9 ], [ %0, %6 ] - %11 = phi double* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi double* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast double* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast double* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %23, i32 %17) - %25 = bitcast double* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vfaddd.vsvmvl(double %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %26, i64 8, i8* %25, i32 %17) - %27 = getelementptr inbounds double, double* %10, i64 256 - %28 = getelementptr inbounds double, double* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds double, double* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfaddd.vsvmvl(double, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfaddd_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfaddd_vvvl.ll deleted file mode 100644 index 966b48ec2886..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfaddd_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfaddd_vvvl.c' -source_filename = "gen/tests/vfaddd_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfaddd_vvvl(double* %0, double* %1, double* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vfadd.d %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi double* [ %21, %7 ], [ %0, %4 ] - %9 = phi double* [ %22, %7 ], [ %1, %4 ] - %10 = phi double* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast double* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = bitcast double* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vfaddd.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast double* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %19, i64 8, i8* %20, i32 %14) - %21 = getelementptr inbounds double, double* %8, i64 256 - %22 = getelementptr inbounds double, double* %9, i64 256 - %23 = getelementptr inbounds double, double* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfaddd.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfaddd_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfaddd_vvvmvl.ll deleted file mode 100644 index 8ec8b6df6624..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfaddd_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfaddd_vvvmvl.c' -source_filename = "gen/tests/vfaddd_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfaddd_vvvmvl(double* %0, double* %1, double* %2, i32* %3, double* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vfadd.d %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi double* [ %30, %9 ], [ %0, %6 ] - %11 = phi double* [ %31, %9 ], [ %1, %6 ] - %12 = phi double* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi double* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast double* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast double* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast double* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %26, i32 %18) - %28 = bitcast double* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vfaddd.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %29, i64 8, i8* %28, i32 %18) - %30 = getelementptr inbounds double, double* %10, i64 256 - %31 = getelementptr inbounds double, double* %11, i64 256 - %32 = getelementptr inbounds double, double* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds double, double* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfaddd.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfadds_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfadds_vsvl.ll deleted file mode 100644 index deffcc0238c7..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfadds_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfadds_vsvl.c' -source_filename = "gen/tests/vfadds_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfadds_vsvl(float* %0, float %1, float* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vfadd.s %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi float* [ %18, %7 ], [ %0, %4 ] - %9 = phi float* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast float* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vfadds.vsvl(float %1, <256 x double> %15, i32 %13) - %17 = bitcast float* %8 to i8* - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %16, i64 4, i8* %17, i32 %13) - %18 = getelementptr inbounds float, float* %8, i64 256 - %19 = getelementptr inbounds float, float* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfadds.vsvl(float, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfadds_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfadds_vsvmvl.ll deleted file mode 100644 index 39090445d1b0..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfadds_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfadds_vsvmvl.c' -source_filename = "gen/tests/vfadds_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfadds_vsvmvl(float* %0, float %1, float* %2, i32* %3, float* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vfadd.s %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi float* [ %27, %9 ], [ %0, %6 ] - %11 = phi float* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi float* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast float* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast float* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %23, i32 %17) - %25 = bitcast float* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vfadds.vsvmvl(float %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %26, i64 4, i8* %25, i32 %17) - %27 = getelementptr inbounds float, float* %10, i64 256 - %28 = getelementptr inbounds float, float* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds float, float* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfadds.vsvmvl(float, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfadds_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfadds_vvvl.ll deleted file mode 100644 index 22efb958f3ce..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfadds_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfadds_vvvl.c' -source_filename = "gen/tests/vfadds_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfadds_vvvl(float* %0, float* %1, float* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vfadd.s %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi float* [ %21, %7 ], [ %0, %4 ] - %9 = phi float* [ %22, %7 ], [ %1, %4 ] - %10 = phi float* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast float* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %15, i32 %14) - %17 = bitcast float* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vfadds.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast float* %8 to i8* - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %19, i64 4, i8* %20, i32 %14) - %21 = getelementptr inbounds float, float* %8, i64 256 - %22 = getelementptr inbounds float, float* %9, i64 256 - %23 = getelementptr inbounds float, float* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfadds.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfadds_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfadds_vvvmvl.ll deleted file mode 100644 index f0e5b8da0c79..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfadds_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfadds_vvvmvl.c' -source_filename = "gen/tests/vfadds_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfadds_vvvmvl(float* %0, float* %1, float* %2, i32* %3, float* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vfadd.s %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi float* [ %30, %9 ], [ %0, %6 ] - %11 = phi float* [ %31, %9 ], [ %1, %6 ] - %12 = phi float* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi float* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast float* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %19, i32 %18) - %21 = bitcast float* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast float* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %26, i32 %18) - %28 = bitcast float* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vfadds.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %29, i64 4, i8* %28, i32 %18) - %30 = getelementptr inbounds float, float* %10, i64 256 - %31 = getelementptr inbounds float, float* %11, i64 256 - %32 = getelementptr inbounds float, float* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds float, float* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfadds.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfcmpd_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfcmpd_vsvl.ll deleted file mode 100644 index 9b7ffe15e261..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfcmpd_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfcmpd_vsvl.c' -source_filename = "gen/tests/vfcmpd_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfcmpd_vsvl(double* %0, double %1, double* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vfcmp.d %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi double* [ %18, %7 ], [ %0, %4 ] - %9 = phi double* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast double* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vfcmpd.vsvl(double %1, <256 x double> %15, i32 %13) - %17 = bitcast double* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %16, i64 8, i8* %17, i32 %13) - %18 = getelementptr inbounds double, double* %8, i64 256 - %19 = getelementptr inbounds double, double* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfcmpd.vsvl(double, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfcmpd_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfcmpd_vsvmvl.ll deleted file mode 100644 index 9e511e9e531e..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfcmpd_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfcmpd_vsvmvl.c' -source_filename = "gen/tests/vfcmpd_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfcmpd_vsvmvl(double* %0, double %1, double* %2, i32* %3, double* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vfcmp.d %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi double* [ %27, %9 ], [ %0, %6 ] - %11 = phi double* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi double* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast double* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast double* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %23, i32 %17) - %25 = bitcast double* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vfcmpd.vsvmvl(double %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %26, i64 8, i8* %25, i32 %17) - %27 = getelementptr inbounds double, double* %10, i64 256 - %28 = getelementptr inbounds double, double* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds double, double* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfcmpd.vsvmvl(double, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfcmpd_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfcmpd_vvvl.ll deleted file mode 100644 index eebf71a3dcfd..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfcmpd_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfcmpd_vvvl.c' -source_filename = "gen/tests/vfcmpd_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfcmpd_vvvl(double* %0, double* %1, double* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vfcmp.d %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi double* [ %21, %7 ], [ %0, %4 ] - %9 = phi double* [ %22, %7 ], [ %1, %4 ] - %10 = phi double* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast double* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = bitcast double* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vfcmpd.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast double* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %19, i64 8, i8* %20, i32 %14) - %21 = getelementptr inbounds double, double* %8, i64 256 - %22 = getelementptr inbounds double, double* %9, i64 256 - %23 = getelementptr inbounds double, double* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfcmpd.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfcmpd_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfcmpd_vvvmvl.ll deleted file mode 100644 index d60249e282e6..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfcmpd_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfcmpd_vvvmvl.c' -source_filename = "gen/tests/vfcmpd_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfcmpd_vvvmvl(double* %0, double* %1, double* %2, i32* %3, double* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vfcmp.d %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi double* [ %30, %9 ], [ %0, %6 ] - %11 = phi double* [ %31, %9 ], [ %1, %6 ] - %12 = phi double* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi double* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast double* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast double* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast double* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %26, i32 %18) - %28 = bitcast double* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vfcmpd.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %29, i64 8, i8* %28, i32 %18) - %30 = getelementptr inbounds double, double* %10, i64 256 - %31 = getelementptr inbounds double, double* %11, i64 256 - %32 = getelementptr inbounds double, double* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds double, double* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfcmpd.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfcmps_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfcmps_vsvl.ll deleted file mode 100644 index d1089068c21c..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfcmps_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfcmps_vsvl.c' -source_filename = "gen/tests/vfcmps_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfcmps_vsvl(float* %0, float %1, float* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vfcmp.s %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi float* [ %18, %7 ], [ %0, %4 ] - %9 = phi float* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast float* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vfcmps.vsvl(float %1, <256 x double> %15, i32 %13) - %17 = bitcast float* %8 to i8* - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %16, i64 4, i8* %17, i32 %13) - %18 = getelementptr inbounds float, float* %8, i64 256 - %19 = getelementptr inbounds float, float* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfcmps.vsvl(float, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfcmps_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfcmps_vsvmvl.ll deleted file mode 100644 index 5ef32c8fbc82..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfcmps_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfcmps_vsvmvl.c' -source_filename = "gen/tests/vfcmps_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfcmps_vsvmvl(float* %0, float %1, float* %2, i32* %3, float* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vfcmp.s %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi float* [ %27, %9 ], [ %0, %6 ] - %11 = phi float* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi float* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast float* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast float* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %23, i32 %17) - %25 = bitcast float* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vfcmps.vsvmvl(float %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %26, i64 4, i8* %25, i32 %17) - %27 = getelementptr inbounds float, float* %10, i64 256 - %28 = getelementptr inbounds float, float* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds float, float* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfcmps.vsvmvl(float, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfcmps_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfcmps_vvvl.ll deleted file mode 100644 index 717dabd02b55..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfcmps_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfcmps_vvvl.c' -source_filename = "gen/tests/vfcmps_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfcmps_vvvl(float* %0, float* %1, float* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vfcmp.s %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi float* [ %21, %7 ], [ %0, %4 ] - %9 = phi float* [ %22, %7 ], [ %1, %4 ] - %10 = phi float* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast float* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %15, i32 %14) - %17 = bitcast float* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vfcmps.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast float* %8 to i8* - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %19, i64 4, i8* %20, i32 %14) - %21 = getelementptr inbounds float, float* %8, i64 256 - %22 = getelementptr inbounds float, float* %9, i64 256 - %23 = getelementptr inbounds float, float* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfcmps.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfcmps_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfcmps_vvvmvl.ll deleted file mode 100644 index c468e9d44f0f..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfcmps_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfcmps_vvvmvl.c' -source_filename = "gen/tests/vfcmps_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfcmps_vvvmvl(float* %0, float* %1, float* %2, i32* %3, float* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vfcmp.s %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi float* [ %30, %9 ], [ %0, %6 ] - %11 = phi float* [ %31, %9 ], [ %1, %6 ] - %12 = phi float* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi float* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast float* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %19, i32 %18) - %21 = bitcast float* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast float* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %26, i32 %18) - %28 = bitcast float* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vfcmps.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %29, i64 4, i8* %28, i32 %18) - %30 = getelementptr inbounds float, float* %10, i64 256 - %31 = getelementptr inbounds float, float* %11, i64 256 - %32 = getelementptr inbounds float, float* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds float, float* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfcmps.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfdivd_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfdivd_vsvl.ll deleted file mode 100644 index 7c6b33fc4a9a..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfdivd_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfdivd_vsvl.c' -source_filename = "gen/tests/vfdivd_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfdivd_vsvl(double* %0, double %1, double* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vfdiv.d %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi double* [ %18, %7 ], [ %0, %4 ] - %9 = phi double* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast double* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vfdivd.vsvl(double %1, <256 x double> %15, i32 %13) - %17 = bitcast double* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %16, i64 8, i8* %17, i32 %13) - %18 = getelementptr inbounds double, double* %8, i64 256 - %19 = getelementptr inbounds double, double* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfdivd.vsvl(double, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfdivd_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfdivd_vsvmvl.ll deleted file mode 100644 index ffd204c152ed..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfdivd_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfdivd_vsvmvl.c' -source_filename = "gen/tests/vfdivd_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfdivd_vsvmvl(double* %0, double %1, double* %2, i32* %3, double* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vfdiv.d %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi double* [ %27, %9 ], [ %0, %6 ] - %11 = phi double* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi double* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast double* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast double* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %23, i32 %17) - %25 = bitcast double* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vfdivd.vsvmvl(double %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %26, i64 8, i8* %25, i32 %17) - %27 = getelementptr inbounds double, double* %10, i64 256 - %28 = getelementptr inbounds double, double* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds double, double* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfdivd.vsvmvl(double, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfdivd_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfdivd_vvvl.ll deleted file mode 100644 index aece37a30c5e..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfdivd_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfdivd_vvvl.c' -source_filename = "gen/tests/vfdivd_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfdivd_vvvl(double* %0, double* %1, double* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vfdiv.d %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi double* [ %21, %7 ], [ %0, %4 ] - %9 = phi double* [ %22, %7 ], [ %1, %4 ] - %10 = phi double* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast double* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = bitcast double* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vfdivd.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast double* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %19, i64 8, i8* %20, i32 %14) - %21 = getelementptr inbounds double, double* %8, i64 256 - %22 = getelementptr inbounds double, double* %9, i64 256 - %23 = getelementptr inbounds double, double* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfdivd.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfdivd_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfdivd_vvvmvl.ll deleted file mode 100644 index be99e960acd6..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfdivd_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfdivd_vvvmvl.c' -source_filename = "gen/tests/vfdivd_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfdivd_vvvmvl(double* %0, double* %1, double* %2, i32* %3, double* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vfdiv.d %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi double* [ %30, %9 ], [ %0, %6 ] - %11 = phi double* [ %31, %9 ], [ %1, %6 ] - %12 = phi double* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi double* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast double* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast double* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast double* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %26, i32 %18) - %28 = bitcast double* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vfdivd.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %29, i64 8, i8* %28, i32 %18) - %30 = getelementptr inbounds double, double* %10, i64 256 - %31 = getelementptr inbounds double, double* %11, i64 256 - %32 = getelementptr inbounds double, double* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds double, double* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfdivd.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfdivs_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfdivs_vsvl.ll deleted file mode 100644 index 1b5cf16b233e..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfdivs_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfdivs_vsvl.c' -source_filename = "gen/tests/vfdivs_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfdivs_vsvl(float* %0, float %1, float* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vfdiv.s %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi float* [ %18, %7 ], [ %0, %4 ] - %9 = phi float* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast float* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vfdivs.vsvl(float %1, <256 x double> %15, i32 %13) - %17 = bitcast float* %8 to i8* - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %16, i64 4, i8* %17, i32 %13) - %18 = getelementptr inbounds float, float* %8, i64 256 - %19 = getelementptr inbounds float, float* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfdivs.vsvl(float, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfdivs_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfdivs_vsvmvl.ll deleted file mode 100644 index 2aec714e16d7..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfdivs_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfdivs_vsvmvl.c' -source_filename = "gen/tests/vfdivs_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfdivs_vsvmvl(float* %0, float %1, float* %2, i32* %3, float* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vfdiv.s %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi float* [ %27, %9 ], [ %0, %6 ] - %11 = phi float* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi float* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast float* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast float* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %23, i32 %17) - %25 = bitcast float* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vfdivs.vsvmvl(float %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %26, i64 4, i8* %25, i32 %17) - %27 = getelementptr inbounds float, float* %10, i64 256 - %28 = getelementptr inbounds float, float* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds float, float* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfdivs.vsvmvl(float, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfdivs_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfdivs_vvvl.ll deleted file mode 100644 index 17ad38ec4220..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfdivs_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfdivs_vvvl.c' -source_filename = "gen/tests/vfdivs_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfdivs_vvvl(float* %0, float* %1, float* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vfdiv.s %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi float* [ %21, %7 ], [ %0, %4 ] - %9 = phi float* [ %22, %7 ], [ %1, %4 ] - %10 = phi float* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast float* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %15, i32 %14) - %17 = bitcast float* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vfdivs.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast float* %8 to i8* - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %19, i64 4, i8* %20, i32 %14) - %21 = getelementptr inbounds float, float* %8, i64 256 - %22 = getelementptr inbounds float, float* %9, i64 256 - %23 = getelementptr inbounds float, float* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfdivs.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfdivs_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfdivs_vvvmvl.ll deleted file mode 100644 index c1fd2fd02433..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfdivs_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfdivs_vvvmvl.c' -source_filename = "gen/tests/vfdivs_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfdivs_vvvmvl(float* %0, float* %1, float* %2, i32* %3, float* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vfdiv.s %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi float* [ %30, %9 ], [ %0, %6 ] - %11 = phi float* [ %31, %9 ], [ %1, %6 ] - %12 = phi float* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi float* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast float* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %19, i32 %18) - %21 = bitcast float* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast float* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %26, i32 %18) - %28 = bitcast float* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vfdivs.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %29, i64 4, i8* %28, i32 %18) - %30 = getelementptr inbounds float, float* %10, i64 256 - %31 = getelementptr inbounds float, float* %11, i64 256 - %32 = getelementptr inbounds float, float* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds float, float* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfdivs.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmadd_vsvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmadd_vsvvl.ll deleted file mode 100644 index b0b4d06bd3f0..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmadd_vsvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmadd_vsvvl.c' -source_filename = "gen/tests/vfmadd_vsvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmadd_vsvvl(double* %0, double %1, double* %2, double* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vfmad.d %v0, %s1, %v0, %v1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi double* [ %22, %8 ], [ %0, %5 ] - %10 = phi double* [ %23, %8 ], [ %2, %5 ] - %11 = phi double* [ %24, %8 ], [ %3, %5 ] - %12 = phi i32 [ %25, %8 ], [ 0, %5 ] - %13 = sub nsw i32 %4, %12 - %14 = icmp slt i32 %13, 256 - %15 = select i1 %14, i32 %13, i32 256 - %16 = bitcast double* %10 to i8* - %17 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %16, i32 %15) - %18 = bitcast double* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %15) - %20 = tail call <256 x double> @llvm.ve.vl.vfmadd.vsvvl(double %1, <256 x double> %17, <256 x double> %19, i32 %15) - %21 = bitcast double* %9 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %20, i64 8, i8* %21, i32 %15) - %22 = getelementptr inbounds double, double* %9, i64 256 - %23 = getelementptr inbounds double, double* %10, i64 256 - %24 = getelementptr inbounds double, double* %11, i64 256 - %25 = add nuw nsw i32 %12, 256 - %26 = icmp slt i32 %25, %4 - br i1 %26, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmadd.vsvvl(double, <256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmadd_vsvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmadd_vsvvmvl.ll deleted file mode 100644 index 5ace6f6fb345..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmadd_vsvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmadd_vsvvmvl.c' -source_filename = "gen/tests/vfmadd_vsvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmadd_vsvvmvl(double* %0, double %1, double* %2, double* %3, i32* %4, double* %5, i32 signext %6) local_unnamed_addr #0 { -; CHECK: vfmad.d %v3, %s1, %v0, %v1, %vm1 - %8 = icmp sgt i32 %6, 0 - br i1 %8, label %10, label %9 - -9: ; preds = %10, %7 - ret void - -10: ; preds = %7, %10 - %11 = phi double* [ %31, %10 ], [ %0, %7 ] - %12 = phi double* [ %32, %10 ], [ %2, %7 ] - %13 = phi double* [ %33, %10 ], [ %3, %7 ] - %14 = phi i32* [ %34, %10 ], [ %4, %7 ] - %15 = phi double* [ %35, %10 ], [ %5, %7 ] - %16 = phi i32 [ %36, %10 ], [ 0, %7 ] - %17 = sub nsw i32 %6, %16 - %18 = icmp slt i32 %17, 256 - %19 = select i1 %18, i32 %17, i32 256 - %20 = bitcast double* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %20, i32 %19) - %22 = bitcast double* %13 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %19) - %24 = bitcast i32* %14 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %24, i32 %19) - %26 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %25, i32 %19) - %27 = bitcast double* %15 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %27, i32 %19) - %29 = bitcast double* %11 to i8* - %30 = tail call <256 x double> @llvm.ve.vl.vfmadd.vsvvmvl(double %1, <256 x double> %21, <256 x double> %23, <256 x i1> %26, <256 x double> %28, i32 %19) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %30, i64 8, i8* %29, i32 %19) - %31 = getelementptr inbounds double, double* %11, i64 256 - %32 = getelementptr inbounds double, double* %12, i64 256 - %33 = getelementptr inbounds double, double* %13, i64 256 - %34 = getelementptr inbounds i32, i32* %14, i64 256 - %35 = getelementptr inbounds double, double* %15, i64 256 - %36 = add nuw nsw i32 %16, 256 - %37 = icmp slt i32 %36, %6 - br i1 %37, label %10, label %9 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmadd.vsvvmvl(double, <256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmadd_vvsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmadd_vvsvl.ll deleted file mode 100644 index 88cdb98b854e..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmadd_vvsvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmadd_vvsvl.c' -source_filename = "gen/tests/vfmadd_vvsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmadd_vvsvl(double* %0, double* %1, double %2, double* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vfmad.d %v0, %v0, %s2, %v1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi double* [ %22, %8 ], [ %0, %5 ] - %10 = phi double* [ %23, %8 ], [ %1, %5 ] - %11 = phi double* [ %24, %8 ], [ %3, %5 ] - %12 = phi i32 [ %25, %8 ], [ 0, %5 ] - %13 = sub nsw i32 %4, %12 - %14 = icmp slt i32 %13, 256 - %15 = select i1 %14, i32 %13, i32 256 - %16 = bitcast double* %10 to i8* - %17 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %16, i32 %15) - %18 = bitcast double* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %15) - %20 = tail call <256 x double> @llvm.ve.vl.vfmadd.vvsvl(<256 x double> %17, double %2, <256 x double> %19, i32 %15) - %21 = bitcast double* %9 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %20, i64 8, i8* %21, i32 %15) - %22 = getelementptr inbounds double, double* %9, i64 256 - %23 = getelementptr inbounds double, double* %10, i64 256 - %24 = getelementptr inbounds double, double* %11, i64 256 - %25 = add nuw nsw i32 %12, 256 - %26 = icmp slt i32 %25, %4 - br i1 %26, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmadd.vvsvl(<256 x double>, double, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmadd_vvsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmadd_vvsvmvl.ll deleted file mode 100644 index ddd5e80ee9d2..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmadd_vvsvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmadd_vvsvmvl.c' -source_filename = "gen/tests/vfmadd_vvsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmadd_vvsvmvl(double* %0, double* %1, double %2, double* %3, i32* %4, double* %5, i32 signext %6) local_unnamed_addr #0 { -; CHECK: vfmad.d %v3, %v0, %s2, %v1, %vm1 - %8 = icmp sgt i32 %6, 0 - br i1 %8, label %10, label %9 - -9: ; preds = %10, %7 - ret void - -10: ; preds = %7, %10 - %11 = phi double* [ %31, %10 ], [ %0, %7 ] - %12 = phi double* [ %32, %10 ], [ %1, %7 ] - %13 = phi double* [ %33, %10 ], [ %3, %7 ] - %14 = phi i32* [ %34, %10 ], [ %4, %7 ] - %15 = phi double* [ %35, %10 ], [ %5, %7 ] - %16 = phi i32 [ %36, %10 ], [ 0, %7 ] - %17 = sub nsw i32 %6, %16 - %18 = icmp slt i32 %17, 256 - %19 = select i1 %18, i32 %17, i32 256 - %20 = bitcast double* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %20, i32 %19) - %22 = bitcast double* %13 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %19) - %24 = bitcast i32* %14 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %24, i32 %19) - %26 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %25, i32 %19) - %27 = bitcast double* %15 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %27, i32 %19) - %29 = bitcast double* %11 to i8* - %30 = tail call <256 x double> @llvm.ve.vl.vfmadd.vvsvmvl(<256 x double> %21, double %2, <256 x double> %23, <256 x i1> %26, <256 x double> %28, i32 %19) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %30, i64 8, i8* %29, i32 %19) - %31 = getelementptr inbounds double, double* %11, i64 256 - %32 = getelementptr inbounds double, double* %12, i64 256 - %33 = getelementptr inbounds double, double* %13, i64 256 - %34 = getelementptr inbounds i32, i32* %14, i64 256 - %35 = getelementptr inbounds double, double* %15, i64 256 - %36 = add nuw nsw i32 %16, 256 - %37 = icmp slt i32 %36, %6 - br i1 %37, label %10, label %9 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmadd.vvsvmvl(<256 x double>, double, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmadd_vvvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmadd_vvvvl.ll deleted file mode 100644 index 73e1ad9e4731..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmadd_vvvvl.ll +++ /dev/null @@ -1,61 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmadd_vvvvl.c' -source_filename = "gen/tests/vfmadd_vvvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmadd_vvvvl(double* %0, double* %1, double* %2, double* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vfmad.d %v0, %v0, %v1, %v2 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi double* [ %25, %8 ], [ %0, %5 ] - %10 = phi double* [ %26, %8 ], [ %1, %5 ] - %11 = phi double* [ %27, %8 ], [ %2, %5 ] - %12 = phi double* [ %28, %8 ], [ %3, %5 ] - %13 = phi i32 [ %29, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast double* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %16) - %19 = bitcast double* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %16) - %21 = bitcast double* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %16) - %23 = tail call <256 x double> @llvm.ve.vl.vfmadd.vvvvl(<256 x double> %18, <256 x double> %20, <256 x double> %22, i32 %16) - %24 = bitcast double* %9 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %23, i64 8, i8* %24, i32 %16) - %25 = getelementptr inbounds double, double* %9, i64 256 - %26 = getelementptr inbounds double, double* %10, i64 256 - %27 = getelementptr inbounds double, double* %11, i64 256 - %28 = getelementptr inbounds double, double* %12, i64 256 - %29 = add nuw nsw i32 %13, 256 - %30 = icmp slt i32 %29, %4 - br i1 %30, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmadd.vvvvl(<256 x double>, <256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmadd_vvvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmadd_vvvvmvl.ll deleted file mode 100644 index 2c8a3d228b93..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmadd_vvvvmvl.ll +++ /dev/null @@ -1,76 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmadd_vvvvmvl.c' -source_filename = "gen/tests/vfmadd_vvvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmadd_vvvvmvl(double* %0, double* %1, double* %2, double* %3, i32* %4, double* %5, i32 signext %6) local_unnamed_addr #0 { -; CHECK: vfmad.d %v4, %v0, %v1, %v2, %vm1 - %8 = icmp sgt i32 %6, 0 - br i1 %8, label %10, label %9 - -9: ; preds = %10, %7 - ret void - -10: ; preds = %7, %10 - %11 = phi double* [ %34, %10 ], [ %0, %7 ] - %12 = phi double* [ %35, %10 ], [ %1, %7 ] - %13 = phi double* [ %36, %10 ], [ %2, %7 ] - %14 = phi double* [ %37, %10 ], [ %3, %7 ] - %15 = phi i32* [ %38, %10 ], [ %4, %7 ] - %16 = phi double* [ %39, %10 ], [ %5, %7 ] - %17 = phi i32 [ %40, %10 ], [ 0, %7 ] - %18 = sub nsw i32 %6, %17 - %19 = icmp slt i32 %18, 256 - %20 = select i1 %19, i32 %18, i32 256 - %21 = bitcast double* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %20) - %23 = bitcast double* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %23, i32 %20) - %25 = bitcast double* %14 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %25, i32 %20) - %27 = bitcast i32* %15 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %27, i32 %20) - %29 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %28, i32 %20) - %30 = bitcast double* %16 to i8* - %31 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %30, i32 %20) - %32 = bitcast double* %11 to i8* - %33 = tail call <256 x double> @llvm.ve.vl.vfmadd.vvvvmvl(<256 x double> %22, <256 x double> %24, <256 x double> %26, <256 x i1> %29, <256 x double> %31, i32 %20) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %33, i64 8, i8* %32, i32 %20) - %34 = getelementptr inbounds double, double* %11, i64 256 - %35 = getelementptr inbounds double, double* %12, i64 256 - %36 = getelementptr inbounds double, double* %13, i64 256 - %37 = getelementptr inbounds double, double* %14, i64 256 - %38 = getelementptr inbounds i32, i32* %15, i64 256 - %39 = getelementptr inbounds double, double* %16, i64 256 - %40 = add nuw nsw i32 %17, 256 - %41 = icmp slt i32 %40, %6 - br i1 %41, label %10, label %9 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmadd.vvvvmvl(<256 x double>, <256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmads_vsvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmads_vsvvl.ll deleted file mode 100644 index 38ef90cd7828..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmads_vsvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmads_vsvvl.c' -source_filename = "gen/tests/vfmads_vsvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmads_vsvvl(float* %0, float %1, float* %2, float* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vfmad.s %v0, %s1, %v0, %v1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi float* [ %22, %8 ], [ %0, %5 ] - %10 = phi float* [ %23, %8 ], [ %2, %5 ] - %11 = phi float* [ %24, %8 ], [ %3, %5 ] - %12 = phi i32 [ %25, %8 ], [ 0, %5 ] - %13 = sub nsw i32 %4, %12 - %14 = icmp slt i32 %13, 256 - %15 = select i1 %14, i32 %13, i32 256 - %16 = bitcast float* %10 to i8* - %17 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %16, i32 %15) - %18 = bitcast float* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %18, i32 %15) - %20 = tail call <256 x double> @llvm.ve.vl.vfmads.vsvvl(float %1, <256 x double> %17, <256 x double> %19, i32 %15) - %21 = bitcast float* %9 to i8* - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %20, i64 4, i8* %21, i32 %15) - %22 = getelementptr inbounds float, float* %9, i64 256 - %23 = getelementptr inbounds float, float* %10, i64 256 - %24 = getelementptr inbounds float, float* %11, i64 256 - %25 = add nuw nsw i32 %12, 256 - %26 = icmp slt i32 %25, %4 - br i1 %26, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmads.vsvvl(float, <256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmads_vsvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmads_vsvvmvl.ll deleted file mode 100644 index 6c506143ac8f..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmads_vsvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmads_vsvvmvl.c' -source_filename = "gen/tests/vfmads_vsvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmads_vsvvmvl(float* %0, float %1, float* %2, float* %3, i32* %4, float* %5, i32 signext %6) local_unnamed_addr #0 { -; CHECK: vfmad.s %v3, %s1, %v0, %v1, %vm1 - %8 = icmp sgt i32 %6, 0 - br i1 %8, label %10, label %9 - -9: ; preds = %10, %7 - ret void - -10: ; preds = %7, %10 - %11 = phi float* [ %31, %10 ], [ %0, %7 ] - %12 = phi float* [ %32, %10 ], [ %2, %7 ] - %13 = phi float* [ %33, %10 ], [ %3, %7 ] - %14 = phi i32* [ %34, %10 ], [ %4, %7 ] - %15 = phi float* [ %35, %10 ], [ %5, %7 ] - %16 = phi i32 [ %36, %10 ], [ 0, %7 ] - %17 = sub nsw i32 %6, %16 - %18 = icmp slt i32 %17, 256 - %19 = select i1 %18, i32 %17, i32 256 - %20 = bitcast float* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %20, i32 %19) - %22 = bitcast float* %13 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %22, i32 %19) - %24 = bitcast i32* %14 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %24, i32 %19) - %26 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %25, i32 %19) - %27 = bitcast float* %15 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %27, i32 %19) - %29 = bitcast float* %11 to i8* - %30 = tail call <256 x double> @llvm.ve.vl.vfmads.vsvvmvl(float %1, <256 x double> %21, <256 x double> %23, <256 x i1> %26, <256 x double> %28, i32 %19) - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %30, i64 4, i8* %29, i32 %19) - %31 = getelementptr inbounds float, float* %11, i64 256 - %32 = getelementptr inbounds float, float* %12, i64 256 - %33 = getelementptr inbounds float, float* %13, i64 256 - %34 = getelementptr inbounds i32, i32* %14, i64 256 - %35 = getelementptr inbounds float, float* %15, i64 256 - %36 = add nuw nsw i32 %16, 256 - %37 = icmp slt i32 %36, %6 - br i1 %37, label %10, label %9 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmads.vsvvmvl(float, <256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmads_vvsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmads_vvsvl.ll deleted file mode 100644 index 7d75fac9169a..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmads_vvsvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmads_vvsvl.c' -source_filename = "gen/tests/vfmads_vvsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmads_vvsvl(float* %0, float* %1, float %2, float* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vfmad.s %v0, %v0, %s2, %v1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi float* [ %22, %8 ], [ %0, %5 ] - %10 = phi float* [ %23, %8 ], [ %1, %5 ] - %11 = phi float* [ %24, %8 ], [ %3, %5 ] - %12 = phi i32 [ %25, %8 ], [ 0, %5 ] - %13 = sub nsw i32 %4, %12 - %14 = icmp slt i32 %13, 256 - %15 = select i1 %14, i32 %13, i32 256 - %16 = bitcast float* %10 to i8* - %17 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %16, i32 %15) - %18 = bitcast float* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %18, i32 %15) - %20 = tail call <256 x double> @llvm.ve.vl.vfmads.vvsvl(<256 x double> %17, float %2, <256 x double> %19, i32 %15) - %21 = bitcast float* %9 to i8* - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %20, i64 4, i8* %21, i32 %15) - %22 = getelementptr inbounds float, float* %9, i64 256 - %23 = getelementptr inbounds float, float* %10, i64 256 - %24 = getelementptr inbounds float, float* %11, i64 256 - %25 = add nuw nsw i32 %12, 256 - %26 = icmp slt i32 %25, %4 - br i1 %26, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmads.vvsvl(<256 x double>, float, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmads_vvsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmads_vvsvmvl.ll deleted file mode 100644 index 26f0105d3808..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmads_vvsvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmads_vvsvmvl.c' -source_filename = "gen/tests/vfmads_vvsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmads_vvsvmvl(float* %0, float* %1, float %2, float* %3, i32* %4, float* %5, i32 signext %6) local_unnamed_addr #0 { -; CHECK: vfmad.s %v3, %v0, %s2, %v1, %vm1 - %8 = icmp sgt i32 %6, 0 - br i1 %8, label %10, label %9 - -9: ; preds = %10, %7 - ret void - -10: ; preds = %7, %10 - %11 = phi float* [ %31, %10 ], [ %0, %7 ] - %12 = phi float* [ %32, %10 ], [ %1, %7 ] - %13 = phi float* [ %33, %10 ], [ %3, %7 ] - %14 = phi i32* [ %34, %10 ], [ %4, %7 ] - %15 = phi float* [ %35, %10 ], [ %5, %7 ] - %16 = phi i32 [ %36, %10 ], [ 0, %7 ] - %17 = sub nsw i32 %6, %16 - %18 = icmp slt i32 %17, 256 - %19 = select i1 %18, i32 %17, i32 256 - %20 = bitcast float* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %20, i32 %19) - %22 = bitcast float* %13 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %22, i32 %19) - %24 = bitcast i32* %14 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %24, i32 %19) - %26 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %25, i32 %19) - %27 = bitcast float* %15 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %27, i32 %19) - %29 = bitcast float* %11 to i8* - %30 = tail call <256 x double> @llvm.ve.vl.vfmads.vvsvmvl(<256 x double> %21, float %2, <256 x double> %23, <256 x i1> %26, <256 x double> %28, i32 %19) - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %30, i64 4, i8* %29, i32 %19) - %31 = getelementptr inbounds float, float* %11, i64 256 - %32 = getelementptr inbounds float, float* %12, i64 256 - %33 = getelementptr inbounds float, float* %13, i64 256 - %34 = getelementptr inbounds i32, i32* %14, i64 256 - %35 = getelementptr inbounds float, float* %15, i64 256 - %36 = add nuw nsw i32 %16, 256 - %37 = icmp slt i32 %36, %6 - br i1 %37, label %10, label %9 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmads.vvsvmvl(<256 x double>, float, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmads_vvvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmads_vvvvl.ll deleted file mode 100644 index 1b732a08bf1f..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmads_vvvvl.ll +++ /dev/null @@ -1,61 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmads_vvvvl.c' -source_filename = "gen/tests/vfmads_vvvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmads_vvvvl(float* %0, float* %1, float* %2, float* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vfmad.s %v0, %v0, %v1, %v2 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi float* [ %25, %8 ], [ %0, %5 ] - %10 = phi float* [ %26, %8 ], [ %1, %5 ] - %11 = phi float* [ %27, %8 ], [ %2, %5 ] - %12 = phi float* [ %28, %8 ], [ %3, %5 ] - %13 = phi i32 [ %29, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast float* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %17, i32 %16) - %19 = bitcast float* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %19, i32 %16) - %21 = bitcast float* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %21, i32 %16) - %23 = tail call <256 x double> @llvm.ve.vl.vfmads.vvvvl(<256 x double> %18, <256 x double> %20, <256 x double> %22, i32 %16) - %24 = bitcast float* %9 to i8* - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %23, i64 4, i8* %24, i32 %16) - %25 = getelementptr inbounds float, float* %9, i64 256 - %26 = getelementptr inbounds float, float* %10, i64 256 - %27 = getelementptr inbounds float, float* %11, i64 256 - %28 = getelementptr inbounds float, float* %12, i64 256 - %29 = add nuw nsw i32 %13, 256 - %30 = icmp slt i32 %29, %4 - br i1 %30, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmads.vvvvl(<256 x double>, <256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmads_vvvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmads_vvvvmvl.ll deleted file mode 100644 index bc21b74f7388..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmads_vvvvmvl.ll +++ /dev/null @@ -1,76 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmads_vvvvmvl.c' -source_filename = "gen/tests/vfmads_vvvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmads_vvvvmvl(float* %0, float* %1, float* %2, float* %3, i32* %4, float* %5, i32 signext %6) local_unnamed_addr #0 { -; CHECK: vfmad.s %v4, %v0, %v1, %v2, %vm1 - %8 = icmp sgt i32 %6, 0 - br i1 %8, label %10, label %9 - -9: ; preds = %10, %7 - ret void - -10: ; preds = %7, %10 - %11 = phi float* [ %34, %10 ], [ %0, %7 ] - %12 = phi float* [ %35, %10 ], [ %1, %7 ] - %13 = phi float* [ %36, %10 ], [ %2, %7 ] - %14 = phi float* [ %37, %10 ], [ %3, %7 ] - %15 = phi i32* [ %38, %10 ], [ %4, %7 ] - %16 = phi float* [ %39, %10 ], [ %5, %7 ] - %17 = phi i32 [ %40, %10 ], [ 0, %7 ] - %18 = sub nsw i32 %6, %17 - %19 = icmp slt i32 %18, 256 - %20 = select i1 %19, i32 %18, i32 256 - %21 = bitcast float* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %21, i32 %20) - %23 = bitcast float* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %23, i32 %20) - %25 = bitcast float* %14 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %25, i32 %20) - %27 = bitcast i32* %15 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %27, i32 %20) - %29 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %28, i32 %20) - %30 = bitcast float* %16 to i8* - %31 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %30, i32 %20) - %32 = bitcast float* %11 to i8* - %33 = tail call <256 x double> @llvm.ve.vl.vfmads.vvvvmvl(<256 x double> %22, <256 x double> %24, <256 x double> %26, <256 x i1> %29, <256 x double> %31, i32 %20) - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %33, i64 4, i8* %32, i32 %20) - %34 = getelementptr inbounds float, float* %11, i64 256 - %35 = getelementptr inbounds float, float* %12, i64 256 - %36 = getelementptr inbounds float, float* %13, i64 256 - %37 = getelementptr inbounds float, float* %14, i64 256 - %38 = getelementptr inbounds i32, i32* %15, i64 256 - %39 = getelementptr inbounds float, float* %16, i64 256 - %40 = add nuw nsw i32 %17, 256 - %41 = icmp slt i32 %40, %6 - br i1 %41, label %10, label %9 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmads.vvvvmvl(<256 x double>, <256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmaxd_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmaxd_vsvl.ll deleted file mode 100644 index d0b9c29a7dcf..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmaxd_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmaxd_vsvl.c' -source_filename = "gen/tests/vfmaxd_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmaxd_vsvl(double* %0, double %1, double* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vfmax.d %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi double* [ %18, %7 ], [ %0, %4 ] - %9 = phi double* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast double* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vfmaxd.vsvl(double %1, <256 x double> %15, i32 %13) - %17 = bitcast double* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %16, i64 8, i8* %17, i32 %13) - %18 = getelementptr inbounds double, double* %8, i64 256 - %19 = getelementptr inbounds double, double* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmaxd.vsvl(double, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmaxd_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmaxd_vsvmvl.ll deleted file mode 100644 index 5bcbf3fc5498..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmaxd_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmaxd_vsvmvl.c' -source_filename = "gen/tests/vfmaxd_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmaxd_vsvmvl(double* %0, double %1, double* %2, i32* %3, double* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vfmax.d %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi double* [ %27, %9 ], [ %0, %6 ] - %11 = phi double* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi double* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast double* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast double* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %23, i32 %17) - %25 = bitcast double* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vfmaxd.vsvmvl(double %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %26, i64 8, i8* %25, i32 %17) - %27 = getelementptr inbounds double, double* %10, i64 256 - %28 = getelementptr inbounds double, double* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds double, double* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmaxd.vsvmvl(double, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmaxd_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmaxd_vvvl.ll deleted file mode 100644 index cfbff2130264..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmaxd_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmaxd_vvvl.c' -source_filename = "gen/tests/vfmaxd_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmaxd_vvvl(double* %0, double* %1, double* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vfmax.d %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi double* [ %21, %7 ], [ %0, %4 ] - %9 = phi double* [ %22, %7 ], [ %1, %4 ] - %10 = phi double* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast double* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = bitcast double* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vfmaxd.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast double* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %19, i64 8, i8* %20, i32 %14) - %21 = getelementptr inbounds double, double* %8, i64 256 - %22 = getelementptr inbounds double, double* %9, i64 256 - %23 = getelementptr inbounds double, double* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmaxd.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmaxd_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmaxd_vvvmvl.ll deleted file mode 100644 index 1a1106f45a42..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmaxd_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmaxd_vvvmvl.c' -source_filename = "gen/tests/vfmaxd_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmaxd_vvvmvl(double* %0, double* %1, double* %2, i32* %3, double* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vfmax.d %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi double* [ %30, %9 ], [ %0, %6 ] - %11 = phi double* [ %31, %9 ], [ %1, %6 ] - %12 = phi double* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi double* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast double* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast double* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast double* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %26, i32 %18) - %28 = bitcast double* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vfmaxd.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %29, i64 8, i8* %28, i32 %18) - %30 = getelementptr inbounds double, double* %10, i64 256 - %31 = getelementptr inbounds double, double* %11, i64 256 - %32 = getelementptr inbounds double, double* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds double, double* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmaxd.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmaxs_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmaxs_vsvl.ll deleted file mode 100644 index b4bedc2a2ee9..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmaxs_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmaxs_vsvl.c' -source_filename = "gen/tests/vfmaxs_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmaxs_vsvl(float* %0, float %1, float* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vfmax.s %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi float* [ %18, %7 ], [ %0, %4 ] - %9 = phi float* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast float* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vfmaxs.vsvl(float %1, <256 x double> %15, i32 %13) - %17 = bitcast float* %8 to i8* - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %16, i64 4, i8* %17, i32 %13) - %18 = getelementptr inbounds float, float* %8, i64 256 - %19 = getelementptr inbounds float, float* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmaxs.vsvl(float, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmaxs_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmaxs_vsvmvl.ll deleted file mode 100644 index 3e40ceb0bd46..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmaxs_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmaxs_vsvmvl.c' -source_filename = "gen/tests/vfmaxs_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmaxs_vsvmvl(float* %0, float %1, float* %2, i32* %3, float* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vfmax.s %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi float* [ %27, %9 ], [ %0, %6 ] - %11 = phi float* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi float* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast float* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast float* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %23, i32 %17) - %25 = bitcast float* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vfmaxs.vsvmvl(float %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %26, i64 4, i8* %25, i32 %17) - %27 = getelementptr inbounds float, float* %10, i64 256 - %28 = getelementptr inbounds float, float* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds float, float* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmaxs.vsvmvl(float, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmaxs_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmaxs_vvvl.ll deleted file mode 100644 index d11d3d901cab..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmaxs_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmaxs_vvvl.c' -source_filename = "gen/tests/vfmaxs_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmaxs_vvvl(float* %0, float* %1, float* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vfmax.s %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi float* [ %21, %7 ], [ %0, %4 ] - %9 = phi float* [ %22, %7 ], [ %1, %4 ] - %10 = phi float* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast float* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %15, i32 %14) - %17 = bitcast float* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vfmaxs.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast float* %8 to i8* - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %19, i64 4, i8* %20, i32 %14) - %21 = getelementptr inbounds float, float* %8, i64 256 - %22 = getelementptr inbounds float, float* %9, i64 256 - %23 = getelementptr inbounds float, float* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmaxs.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmaxs_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmaxs_vvvmvl.ll deleted file mode 100644 index 8cb4426212d1..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmaxs_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmaxs_vvvmvl.c' -source_filename = "gen/tests/vfmaxs_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmaxs_vvvmvl(float* %0, float* %1, float* %2, i32* %3, float* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vfmax.s %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi float* [ %30, %9 ], [ %0, %6 ] - %11 = phi float* [ %31, %9 ], [ %1, %6 ] - %12 = phi float* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi float* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast float* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %19, i32 %18) - %21 = bitcast float* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast float* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %26, i32 %18) - %28 = bitcast float* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vfmaxs.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %29, i64 4, i8* %28, i32 %18) - %30 = getelementptr inbounds float, float* %10, i64 256 - %31 = getelementptr inbounds float, float* %11, i64 256 - %32 = getelementptr inbounds float, float* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds float, float* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmaxs.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmind_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmind_vsvl.ll deleted file mode 100644 index 13e5cbcd99a3..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmind_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmind_vsvl.c' -source_filename = "gen/tests/vfmind_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmind_vsvl(double* %0, double %1, double* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vfmin.d %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi double* [ %18, %7 ], [ %0, %4 ] - %9 = phi double* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast double* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vfmind.vsvl(double %1, <256 x double> %15, i32 %13) - %17 = bitcast double* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %16, i64 8, i8* %17, i32 %13) - %18 = getelementptr inbounds double, double* %8, i64 256 - %19 = getelementptr inbounds double, double* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmind.vsvl(double, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmind_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmind_vsvmvl.ll deleted file mode 100644 index 199ba6d24aa6..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmind_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmind_vsvmvl.c' -source_filename = "gen/tests/vfmind_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmind_vsvmvl(double* %0, double %1, double* %2, i32* %3, double* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vfmin.d %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi double* [ %27, %9 ], [ %0, %6 ] - %11 = phi double* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi double* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast double* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast double* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %23, i32 %17) - %25 = bitcast double* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vfmind.vsvmvl(double %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %26, i64 8, i8* %25, i32 %17) - %27 = getelementptr inbounds double, double* %10, i64 256 - %28 = getelementptr inbounds double, double* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds double, double* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmind.vsvmvl(double, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmind_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmind_vvvl.ll deleted file mode 100644 index 225b408a4d46..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmind_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmind_vvvl.c' -source_filename = "gen/tests/vfmind_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmind_vvvl(double* %0, double* %1, double* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vfmin.d %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi double* [ %21, %7 ], [ %0, %4 ] - %9 = phi double* [ %22, %7 ], [ %1, %4 ] - %10 = phi double* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast double* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = bitcast double* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vfmind.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast double* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %19, i64 8, i8* %20, i32 %14) - %21 = getelementptr inbounds double, double* %8, i64 256 - %22 = getelementptr inbounds double, double* %9, i64 256 - %23 = getelementptr inbounds double, double* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmind.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmind_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmind_vvvmvl.ll deleted file mode 100644 index 62612a60d78b..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmind_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmind_vvvmvl.c' -source_filename = "gen/tests/vfmind_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmind_vvvmvl(double* %0, double* %1, double* %2, i32* %3, double* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vfmin.d %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi double* [ %30, %9 ], [ %0, %6 ] - %11 = phi double* [ %31, %9 ], [ %1, %6 ] - %12 = phi double* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi double* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast double* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast double* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast double* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %26, i32 %18) - %28 = bitcast double* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vfmind.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %29, i64 8, i8* %28, i32 %18) - %30 = getelementptr inbounds double, double* %10, i64 256 - %31 = getelementptr inbounds double, double* %11, i64 256 - %32 = getelementptr inbounds double, double* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds double, double* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmind.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmins_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmins_vsvl.ll deleted file mode 100644 index f7872a6c9f40..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmins_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmins_vsvl.c' -source_filename = "gen/tests/vfmins_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmins_vsvl(float* %0, float %1, float* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vfmin.s %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi float* [ %18, %7 ], [ %0, %4 ] - %9 = phi float* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast float* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vfmins.vsvl(float %1, <256 x double> %15, i32 %13) - %17 = bitcast float* %8 to i8* - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %16, i64 4, i8* %17, i32 %13) - %18 = getelementptr inbounds float, float* %8, i64 256 - %19 = getelementptr inbounds float, float* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmins.vsvl(float, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmins_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmins_vsvmvl.ll deleted file mode 100644 index 642f20dfd5d7..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmins_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmins_vsvmvl.c' -source_filename = "gen/tests/vfmins_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmins_vsvmvl(float* %0, float %1, float* %2, i32* %3, float* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vfmin.s %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi float* [ %27, %9 ], [ %0, %6 ] - %11 = phi float* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi float* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast float* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast float* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %23, i32 %17) - %25 = bitcast float* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vfmins.vsvmvl(float %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %26, i64 4, i8* %25, i32 %17) - %27 = getelementptr inbounds float, float* %10, i64 256 - %28 = getelementptr inbounds float, float* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds float, float* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmins.vsvmvl(float, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmins_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmins_vvvl.ll deleted file mode 100644 index 0c808f22641e..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmins_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmins_vvvl.c' -source_filename = "gen/tests/vfmins_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmins_vvvl(float* %0, float* %1, float* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vfmin.s %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi float* [ %21, %7 ], [ %0, %4 ] - %9 = phi float* [ %22, %7 ], [ %1, %4 ] - %10 = phi float* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast float* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %15, i32 %14) - %17 = bitcast float* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vfmins.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast float* %8 to i8* - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %19, i64 4, i8* %20, i32 %14) - %21 = getelementptr inbounds float, float* %8, i64 256 - %22 = getelementptr inbounds float, float* %9, i64 256 - %23 = getelementptr inbounds float, float* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmins.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmins_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmins_vvvmvl.ll deleted file mode 100644 index 3ea07fd78ad2..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmins_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmins_vvvmvl.c' -source_filename = "gen/tests/vfmins_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmins_vvvmvl(float* %0, float* %1, float* %2, i32* %3, float* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vfmin.s %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi float* [ %30, %9 ], [ %0, %6 ] - %11 = phi float* [ %31, %9 ], [ %1, %6 ] - %12 = phi float* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi float* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast float* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %19, i32 %18) - %21 = bitcast float* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast float* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %26, i32 %18) - %28 = bitcast float* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vfmins.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %29, i64 4, i8* %28, i32 %18) - %30 = getelementptr inbounds float, float* %10, i64 256 - %31 = getelementptr inbounds float, float* %11, i64 256 - %32 = getelementptr inbounds float, float* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds float, float* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmins.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmsbd_vsvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmsbd_vsvvl.ll deleted file mode 100644 index 1779e71713f0..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmsbd_vsvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmsbd_vsvvl.c' -source_filename = "gen/tests/vfmsbd_vsvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmsbd_vsvvl(double* %0, double %1, double* %2, double* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vfmsb.d %v0, %s1, %v0, %v1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi double* [ %22, %8 ], [ %0, %5 ] - %10 = phi double* [ %23, %8 ], [ %2, %5 ] - %11 = phi double* [ %24, %8 ], [ %3, %5 ] - %12 = phi i32 [ %25, %8 ], [ 0, %5 ] - %13 = sub nsw i32 %4, %12 - %14 = icmp slt i32 %13, 256 - %15 = select i1 %14, i32 %13, i32 256 - %16 = bitcast double* %10 to i8* - %17 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %16, i32 %15) - %18 = bitcast double* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %15) - %20 = tail call <256 x double> @llvm.ve.vl.vfmsbd.vsvvl(double %1, <256 x double> %17, <256 x double> %19, i32 %15) - %21 = bitcast double* %9 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %20, i64 8, i8* %21, i32 %15) - %22 = getelementptr inbounds double, double* %9, i64 256 - %23 = getelementptr inbounds double, double* %10, i64 256 - %24 = getelementptr inbounds double, double* %11, i64 256 - %25 = add nuw nsw i32 %12, 256 - %26 = icmp slt i32 %25, %4 - br i1 %26, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmsbd.vsvvl(double, <256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmsbd_vsvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmsbd_vsvvmvl.ll deleted file mode 100644 index 4953c45b6828..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmsbd_vsvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmsbd_vsvvmvl.c' -source_filename = "gen/tests/vfmsbd_vsvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmsbd_vsvvmvl(double* %0, double %1, double* %2, double* %3, i32* %4, double* %5, i32 signext %6) local_unnamed_addr #0 { -; CHECK: vfmsb.d %v3, %s1, %v0, %v1, %vm1 - %8 = icmp sgt i32 %6, 0 - br i1 %8, label %10, label %9 - -9: ; preds = %10, %7 - ret void - -10: ; preds = %7, %10 - %11 = phi double* [ %31, %10 ], [ %0, %7 ] - %12 = phi double* [ %32, %10 ], [ %2, %7 ] - %13 = phi double* [ %33, %10 ], [ %3, %7 ] - %14 = phi i32* [ %34, %10 ], [ %4, %7 ] - %15 = phi double* [ %35, %10 ], [ %5, %7 ] - %16 = phi i32 [ %36, %10 ], [ 0, %7 ] - %17 = sub nsw i32 %6, %16 - %18 = icmp slt i32 %17, 256 - %19 = select i1 %18, i32 %17, i32 256 - %20 = bitcast double* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %20, i32 %19) - %22 = bitcast double* %13 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %19) - %24 = bitcast i32* %14 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %24, i32 %19) - %26 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %25, i32 %19) - %27 = bitcast double* %15 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %27, i32 %19) - %29 = bitcast double* %11 to i8* - %30 = tail call <256 x double> @llvm.ve.vl.vfmsbd.vsvvmvl(double %1, <256 x double> %21, <256 x double> %23, <256 x i1> %26, <256 x double> %28, i32 %19) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %30, i64 8, i8* %29, i32 %19) - %31 = getelementptr inbounds double, double* %11, i64 256 - %32 = getelementptr inbounds double, double* %12, i64 256 - %33 = getelementptr inbounds double, double* %13, i64 256 - %34 = getelementptr inbounds i32, i32* %14, i64 256 - %35 = getelementptr inbounds double, double* %15, i64 256 - %36 = add nuw nsw i32 %16, 256 - %37 = icmp slt i32 %36, %6 - br i1 %37, label %10, label %9 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmsbd.vsvvmvl(double, <256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmsbd_vvsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmsbd_vvsvl.ll deleted file mode 100644 index ea7d6d72d1f0..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmsbd_vvsvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmsbd_vvsvl.c' -source_filename = "gen/tests/vfmsbd_vvsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmsbd_vvsvl(double* %0, double* %1, double %2, double* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vfmsb.d %v0, %v0, %s2, %v1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi double* [ %22, %8 ], [ %0, %5 ] - %10 = phi double* [ %23, %8 ], [ %1, %5 ] - %11 = phi double* [ %24, %8 ], [ %3, %5 ] - %12 = phi i32 [ %25, %8 ], [ 0, %5 ] - %13 = sub nsw i32 %4, %12 - %14 = icmp slt i32 %13, 256 - %15 = select i1 %14, i32 %13, i32 256 - %16 = bitcast double* %10 to i8* - %17 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %16, i32 %15) - %18 = bitcast double* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %15) - %20 = tail call <256 x double> @llvm.ve.vl.vfmsbd.vvsvl(<256 x double> %17, double %2, <256 x double> %19, i32 %15) - %21 = bitcast double* %9 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %20, i64 8, i8* %21, i32 %15) - %22 = getelementptr inbounds double, double* %9, i64 256 - %23 = getelementptr inbounds double, double* %10, i64 256 - %24 = getelementptr inbounds double, double* %11, i64 256 - %25 = add nuw nsw i32 %12, 256 - %26 = icmp slt i32 %25, %4 - br i1 %26, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmsbd.vvsvl(<256 x double>, double, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmsbd_vvsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmsbd_vvsvmvl.ll deleted file mode 100644 index 2b27300bfa49..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmsbd_vvsvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmsbd_vvsvmvl.c' -source_filename = "gen/tests/vfmsbd_vvsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmsbd_vvsvmvl(double* %0, double* %1, double %2, double* %3, i32* %4, double* %5, i32 signext %6) local_unnamed_addr #0 { -; CHECK: vfmsb.d %v3, %v0, %s2, %v1, %vm1 - %8 = icmp sgt i32 %6, 0 - br i1 %8, label %10, label %9 - -9: ; preds = %10, %7 - ret void - -10: ; preds = %7, %10 - %11 = phi double* [ %31, %10 ], [ %0, %7 ] - %12 = phi double* [ %32, %10 ], [ %1, %7 ] - %13 = phi double* [ %33, %10 ], [ %3, %7 ] - %14 = phi i32* [ %34, %10 ], [ %4, %7 ] - %15 = phi double* [ %35, %10 ], [ %5, %7 ] - %16 = phi i32 [ %36, %10 ], [ 0, %7 ] - %17 = sub nsw i32 %6, %16 - %18 = icmp slt i32 %17, 256 - %19 = select i1 %18, i32 %17, i32 256 - %20 = bitcast double* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %20, i32 %19) - %22 = bitcast double* %13 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %19) - %24 = bitcast i32* %14 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %24, i32 %19) - %26 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %25, i32 %19) - %27 = bitcast double* %15 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %27, i32 %19) - %29 = bitcast double* %11 to i8* - %30 = tail call <256 x double> @llvm.ve.vl.vfmsbd.vvsvmvl(<256 x double> %21, double %2, <256 x double> %23, <256 x i1> %26, <256 x double> %28, i32 %19) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %30, i64 8, i8* %29, i32 %19) - %31 = getelementptr inbounds double, double* %11, i64 256 - %32 = getelementptr inbounds double, double* %12, i64 256 - %33 = getelementptr inbounds double, double* %13, i64 256 - %34 = getelementptr inbounds i32, i32* %14, i64 256 - %35 = getelementptr inbounds double, double* %15, i64 256 - %36 = add nuw nsw i32 %16, 256 - %37 = icmp slt i32 %36, %6 - br i1 %37, label %10, label %9 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmsbd.vvsvmvl(<256 x double>, double, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmsbd_vvvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmsbd_vvvvl.ll deleted file mode 100644 index 8f94ea6c2a74..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmsbd_vvvvl.ll +++ /dev/null @@ -1,61 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmsbd_vvvvl.c' -source_filename = "gen/tests/vfmsbd_vvvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmsbd_vvvvl(double* %0, double* %1, double* %2, double* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vfmsb.d %v0, %v0, %v1, %v2 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi double* [ %25, %8 ], [ %0, %5 ] - %10 = phi double* [ %26, %8 ], [ %1, %5 ] - %11 = phi double* [ %27, %8 ], [ %2, %5 ] - %12 = phi double* [ %28, %8 ], [ %3, %5 ] - %13 = phi i32 [ %29, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast double* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %16) - %19 = bitcast double* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %16) - %21 = bitcast double* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %16) - %23 = tail call <256 x double> @llvm.ve.vl.vfmsbd.vvvvl(<256 x double> %18, <256 x double> %20, <256 x double> %22, i32 %16) - %24 = bitcast double* %9 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %23, i64 8, i8* %24, i32 %16) - %25 = getelementptr inbounds double, double* %9, i64 256 - %26 = getelementptr inbounds double, double* %10, i64 256 - %27 = getelementptr inbounds double, double* %11, i64 256 - %28 = getelementptr inbounds double, double* %12, i64 256 - %29 = add nuw nsw i32 %13, 256 - %30 = icmp slt i32 %29, %4 - br i1 %30, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmsbd.vvvvl(<256 x double>, <256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmsbd_vvvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmsbd_vvvvmvl.ll deleted file mode 100644 index 8be4bd2a1e8d..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmsbd_vvvvmvl.ll +++ /dev/null @@ -1,76 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmsbd_vvvvmvl.c' -source_filename = "gen/tests/vfmsbd_vvvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmsbd_vvvvmvl(double* %0, double* %1, double* %2, double* %3, i32* %4, double* %5, i32 signext %6) local_unnamed_addr #0 { -; CHECK: vfmsb.d %v4, %v0, %v1, %v2, %vm1 - %8 = icmp sgt i32 %6, 0 - br i1 %8, label %10, label %9 - -9: ; preds = %10, %7 - ret void - -10: ; preds = %7, %10 - %11 = phi double* [ %34, %10 ], [ %0, %7 ] - %12 = phi double* [ %35, %10 ], [ %1, %7 ] - %13 = phi double* [ %36, %10 ], [ %2, %7 ] - %14 = phi double* [ %37, %10 ], [ %3, %7 ] - %15 = phi i32* [ %38, %10 ], [ %4, %7 ] - %16 = phi double* [ %39, %10 ], [ %5, %7 ] - %17 = phi i32 [ %40, %10 ], [ 0, %7 ] - %18 = sub nsw i32 %6, %17 - %19 = icmp slt i32 %18, 256 - %20 = select i1 %19, i32 %18, i32 256 - %21 = bitcast double* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %20) - %23 = bitcast double* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %23, i32 %20) - %25 = bitcast double* %14 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %25, i32 %20) - %27 = bitcast i32* %15 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %27, i32 %20) - %29 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %28, i32 %20) - %30 = bitcast double* %16 to i8* - %31 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %30, i32 %20) - %32 = bitcast double* %11 to i8* - %33 = tail call <256 x double> @llvm.ve.vl.vfmsbd.vvvvmvl(<256 x double> %22, <256 x double> %24, <256 x double> %26, <256 x i1> %29, <256 x double> %31, i32 %20) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %33, i64 8, i8* %32, i32 %20) - %34 = getelementptr inbounds double, double* %11, i64 256 - %35 = getelementptr inbounds double, double* %12, i64 256 - %36 = getelementptr inbounds double, double* %13, i64 256 - %37 = getelementptr inbounds double, double* %14, i64 256 - %38 = getelementptr inbounds i32, i32* %15, i64 256 - %39 = getelementptr inbounds double, double* %16, i64 256 - %40 = add nuw nsw i32 %17, 256 - %41 = icmp slt i32 %40, %6 - br i1 %41, label %10, label %9 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmsbd.vvvvmvl(<256 x double>, <256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmsbs_vsvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmsbs_vsvvl.ll deleted file mode 100644 index 07d2ce27fdeb..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmsbs_vsvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmsbs_vsvvl.c' -source_filename = "gen/tests/vfmsbs_vsvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmsbs_vsvvl(float* %0, float %1, float* %2, float* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vfmsb.s %v0, %s1, %v0, %v1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi float* [ %22, %8 ], [ %0, %5 ] - %10 = phi float* [ %23, %8 ], [ %2, %5 ] - %11 = phi float* [ %24, %8 ], [ %3, %5 ] - %12 = phi i32 [ %25, %8 ], [ 0, %5 ] - %13 = sub nsw i32 %4, %12 - %14 = icmp slt i32 %13, 256 - %15 = select i1 %14, i32 %13, i32 256 - %16 = bitcast float* %10 to i8* - %17 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %16, i32 %15) - %18 = bitcast float* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %18, i32 %15) - %20 = tail call <256 x double> @llvm.ve.vl.vfmsbs.vsvvl(float %1, <256 x double> %17, <256 x double> %19, i32 %15) - %21 = bitcast float* %9 to i8* - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %20, i64 4, i8* %21, i32 %15) - %22 = getelementptr inbounds float, float* %9, i64 256 - %23 = getelementptr inbounds float, float* %10, i64 256 - %24 = getelementptr inbounds float, float* %11, i64 256 - %25 = add nuw nsw i32 %12, 256 - %26 = icmp slt i32 %25, %4 - br i1 %26, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmsbs.vsvvl(float, <256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmsbs_vsvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmsbs_vsvvmvl.ll deleted file mode 100644 index f99c1e1e507c..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmsbs_vsvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmsbs_vsvvmvl.c' -source_filename = "gen/tests/vfmsbs_vsvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmsbs_vsvvmvl(float* %0, float %1, float* %2, float* %3, i32* %4, float* %5, i32 signext %6) local_unnamed_addr #0 { -; CHECK: vfmsb.s %v3, %s1, %v0, %v1, %vm1 - %8 = icmp sgt i32 %6, 0 - br i1 %8, label %10, label %9 - -9: ; preds = %10, %7 - ret void - -10: ; preds = %7, %10 - %11 = phi float* [ %31, %10 ], [ %0, %7 ] - %12 = phi float* [ %32, %10 ], [ %2, %7 ] - %13 = phi float* [ %33, %10 ], [ %3, %7 ] - %14 = phi i32* [ %34, %10 ], [ %4, %7 ] - %15 = phi float* [ %35, %10 ], [ %5, %7 ] - %16 = phi i32 [ %36, %10 ], [ 0, %7 ] - %17 = sub nsw i32 %6, %16 - %18 = icmp slt i32 %17, 256 - %19 = select i1 %18, i32 %17, i32 256 - %20 = bitcast float* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %20, i32 %19) - %22 = bitcast float* %13 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %22, i32 %19) - %24 = bitcast i32* %14 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %24, i32 %19) - %26 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %25, i32 %19) - %27 = bitcast float* %15 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %27, i32 %19) - %29 = bitcast float* %11 to i8* - %30 = tail call <256 x double> @llvm.ve.vl.vfmsbs.vsvvmvl(float %1, <256 x double> %21, <256 x double> %23, <256 x i1> %26, <256 x double> %28, i32 %19) - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %30, i64 4, i8* %29, i32 %19) - %31 = getelementptr inbounds float, float* %11, i64 256 - %32 = getelementptr inbounds float, float* %12, i64 256 - %33 = getelementptr inbounds float, float* %13, i64 256 - %34 = getelementptr inbounds i32, i32* %14, i64 256 - %35 = getelementptr inbounds float, float* %15, i64 256 - %36 = add nuw nsw i32 %16, 256 - %37 = icmp slt i32 %36, %6 - br i1 %37, label %10, label %9 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmsbs.vsvvmvl(float, <256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmsbs_vvsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmsbs_vvsvl.ll deleted file mode 100644 index ad0fafedf1a9..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmsbs_vvsvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmsbs_vvsvl.c' -source_filename = "gen/tests/vfmsbs_vvsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmsbs_vvsvl(float* %0, float* %1, float %2, float* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vfmsb.s %v0, %v0, %s2, %v1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi float* [ %22, %8 ], [ %0, %5 ] - %10 = phi float* [ %23, %8 ], [ %1, %5 ] - %11 = phi float* [ %24, %8 ], [ %3, %5 ] - %12 = phi i32 [ %25, %8 ], [ 0, %5 ] - %13 = sub nsw i32 %4, %12 - %14 = icmp slt i32 %13, 256 - %15 = select i1 %14, i32 %13, i32 256 - %16 = bitcast float* %10 to i8* - %17 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %16, i32 %15) - %18 = bitcast float* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %18, i32 %15) - %20 = tail call <256 x double> @llvm.ve.vl.vfmsbs.vvsvl(<256 x double> %17, float %2, <256 x double> %19, i32 %15) - %21 = bitcast float* %9 to i8* - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %20, i64 4, i8* %21, i32 %15) - %22 = getelementptr inbounds float, float* %9, i64 256 - %23 = getelementptr inbounds float, float* %10, i64 256 - %24 = getelementptr inbounds float, float* %11, i64 256 - %25 = add nuw nsw i32 %12, 256 - %26 = icmp slt i32 %25, %4 - br i1 %26, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmsbs.vvsvl(<256 x double>, float, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmsbs_vvsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmsbs_vvsvmvl.ll deleted file mode 100644 index a9f84d927263..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmsbs_vvsvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmsbs_vvsvmvl.c' -source_filename = "gen/tests/vfmsbs_vvsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmsbs_vvsvmvl(float* %0, float* %1, float %2, float* %3, i32* %4, float* %5, i32 signext %6) local_unnamed_addr #0 { -; CHECK: vfmsb.s %v3, %v0, %s2, %v1, %vm1 - %8 = icmp sgt i32 %6, 0 - br i1 %8, label %10, label %9 - -9: ; preds = %10, %7 - ret void - -10: ; preds = %7, %10 - %11 = phi float* [ %31, %10 ], [ %0, %7 ] - %12 = phi float* [ %32, %10 ], [ %1, %7 ] - %13 = phi float* [ %33, %10 ], [ %3, %7 ] - %14 = phi i32* [ %34, %10 ], [ %4, %7 ] - %15 = phi float* [ %35, %10 ], [ %5, %7 ] - %16 = phi i32 [ %36, %10 ], [ 0, %7 ] - %17 = sub nsw i32 %6, %16 - %18 = icmp slt i32 %17, 256 - %19 = select i1 %18, i32 %17, i32 256 - %20 = bitcast float* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %20, i32 %19) - %22 = bitcast float* %13 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %22, i32 %19) - %24 = bitcast i32* %14 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %24, i32 %19) - %26 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %25, i32 %19) - %27 = bitcast float* %15 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %27, i32 %19) - %29 = bitcast float* %11 to i8* - %30 = tail call <256 x double> @llvm.ve.vl.vfmsbs.vvsvmvl(<256 x double> %21, float %2, <256 x double> %23, <256 x i1> %26, <256 x double> %28, i32 %19) - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %30, i64 4, i8* %29, i32 %19) - %31 = getelementptr inbounds float, float* %11, i64 256 - %32 = getelementptr inbounds float, float* %12, i64 256 - %33 = getelementptr inbounds float, float* %13, i64 256 - %34 = getelementptr inbounds i32, i32* %14, i64 256 - %35 = getelementptr inbounds float, float* %15, i64 256 - %36 = add nuw nsw i32 %16, 256 - %37 = icmp slt i32 %36, %6 - br i1 %37, label %10, label %9 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmsbs.vvsvmvl(<256 x double>, float, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmsbs_vvvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmsbs_vvvvl.ll deleted file mode 100644 index 35ed030fef5a..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmsbs_vvvvl.ll +++ /dev/null @@ -1,61 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmsbs_vvvvl.c' -source_filename = "gen/tests/vfmsbs_vvvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmsbs_vvvvl(float* %0, float* %1, float* %2, float* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vfmsb.s %v0, %v0, %v1, %v2 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi float* [ %25, %8 ], [ %0, %5 ] - %10 = phi float* [ %26, %8 ], [ %1, %5 ] - %11 = phi float* [ %27, %8 ], [ %2, %5 ] - %12 = phi float* [ %28, %8 ], [ %3, %5 ] - %13 = phi i32 [ %29, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast float* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %17, i32 %16) - %19 = bitcast float* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %19, i32 %16) - %21 = bitcast float* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %21, i32 %16) - %23 = tail call <256 x double> @llvm.ve.vl.vfmsbs.vvvvl(<256 x double> %18, <256 x double> %20, <256 x double> %22, i32 %16) - %24 = bitcast float* %9 to i8* - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %23, i64 4, i8* %24, i32 %16) - %25 = getelementptr inbounds float, float* %9, i64 256 - %26 = getelementptr inbounds float, float* %10, i64 256 - %27 = getelementptr inbounds float, float* %11, i64 256 - %28 = getelementptr inbounds float, float* %12, i64 256 - %29 = add nuw nsw i32 %13, 256 - %30 = icmp slt i32 %29, %4 - br i1 %30, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmsbs.vvvvl(<256 x double>, <256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmsbs_vvvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmsbs_vvvvmvl.ll deleted file mode 100644 index 56d2d40144a1..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmsbs_vvvvmvl.ll +++ /dev/null @@ -1,76 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmsbs_vvvvmvl.c' -source_filename = "gen/tests/vfmsbs_vvvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmsbs_vvvvmvl(float* %0, float* %1, float* %2, float* %3, i32* %4, float* %5, i32 signext %6) local_unnamed_addr #0 { -; CHECK: vfmsb.s %v4, %v0, %v1, %v2, %vm1 - %8 = icmp sgt i32 %6, 0 - br i1 %8, label %10, label %9 - -9: ; preds = %10, %7 - ret void - -10: ; preds = %7, %10 - %11 = phi float* [ %34, %10 ], [ %0, %7 ] - %12 = phi float* [ %35, %10 ], [ %1, %7 ] - %13 = phi float* [ %36, %10 ], [ %2, %7 ] - %14 = phi float* [ %37, %10 ], [ %3, %7 ] - %15 = phi i32* [ %38, %10 ], [ %4, %7 ] - %16 = phi float* [ %39, %10 ], [ %5, %7 ] - %17 = phi i32 [ %40, %10 ], [ 0, %7 ] - %18 = sub nsw i32 %6, %17 - %19 = icmp slt i32 %18, 256 - %20 = select i1 %19, i32 %18, i32 256 - %21 = bitcast float* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %21, i32 %20) - %23 = bitcast float* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %23, i32 %20) - %25 = bitcast float* %14 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %25, i32 %20) - %27 = bitcast i32* %15 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %27, i32 %20) - %29 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %28, i32 %20) - %30 = bitcast float* %16 to i8* - %31 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %30, i32 %20) - %32 = bitcast float* %11 to i8* - %33 = tail call <256 x double> @llvm.ve.vl.vfmsbs.vvvvmvl(<256 x double> %22, <256 x double> %24, <256 x double> %26, <256 x i1> %29, <256 x double> %31, i32 %20) - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %33, i64 4, i8* %32, i32 %20) - %34 = getelementptr inbounds float, float* %11, i64 256 - %35 = getelementptr inbounds float, float* %12, i64 256 - %36 = getelementptr inbounds float, float* %13, i64 256 - %37 = getelementptr inbounds float, float* %14, i64 256 - %38 = getelementptr inbounds i32, i32* %15, i64 256 - %39 = getelementptr inbounds float, float* %16, i64 256 - %40 = add nuw nsw i32 %17, 256 - %41 = icmp slt i32 %40, %6 - br i1 %41, label %10, label %9 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmsbs.vvvvmvl(<256 x double>, <256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmuld_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmuld_vsvl.ll deleted file mode 100644 index 7cf82f0ca397..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmuld_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmuld_vsvl.c' -source_filename = "gen/tests/vfmuld_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmuld_vsvl(double* %0, double %1, double* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vfmul.d %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi double* [ %18, %7 ], [ %0, %4 ] - %9 = phi double* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast double* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vfmuld.vsvl(double %1, <256 x double> %15, i32 %13) - %17 = bitcast double* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %16, i64 8, i8* %17, i32 %13) - %18 = getelementptr inbounds double, double* %8, i64 256 - %19 = getelementptr inbounds double, double* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmuld.vsvl(double, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmuld_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmuld_vsvmvl.ll deleted file mode 100644 index cbc569185f09..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmuld_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmuld_vsvmvl.c' -source_filename = "gen/tests/vfmuld_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmuld_vsvmvl(double* %0, double %1, double* %2, i32* %3, double* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vfmul.d %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi double* [ %27, %9 ], [ %0, %6 ] - %11 = phi double* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi double* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast double* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast double* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %23, i32 %17) - %25 = bitcast double* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vfmuld.vsvmvl(double %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %26, i64 8, i8* %25, i32 %17) - %27 = getelementptr inbounds double, double* %10, i64 256 - %28 = getelementptr inbounds double, double* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds double, double* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmuld.vsvmvl(double, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmuld_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmuld_vvvl.ll deleted file mode 100644 index 2ab7a2d9fc68..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmuld_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmuld_vvvl.c' -source_filename = "gen/tests/vfmuld_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmuld_vvvl(double* %0, double* %1, double* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vfmul.d %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi double* [ %21, %7 ], [ %0, %4 ] - %9 = phi double* [ %22, %7 ], [ %1, %4 ] - %10 = phi double* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast double* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = bitcast double* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vfmuld.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast double* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %19, i64 8, i8* %20, i32 %14) - %21 = getelementptr inbounds double, double* %8, i64 256 - %22 = getelementptr inbounds double, double* %9, i64 256 - %23 = getelementptr inbounds double, double* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmuld.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmuld_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmuld_vvvmvl.ll deleted file mode 100644 index 3d10fde8dc5d..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmuld_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmuld_vvvmvl.c' -source_filename = "gen/tests/vfmuld_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmuld_vvvmvl(double* %0, double* %1, double* %2, i32* %3, double* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vfmul.d %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi double* [ %30, %9 ], [ %0, %6 ] - %11 = phi double* [ %31, %9 ], [ %1, %6 ] - %12 = phi double* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi double* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast double* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast double* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast double* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %26, i32 %18) - %28 = bitcast double* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vfmuld.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %29, i64 8, i8* %28, i32 %18) - %30 = getelementptr inbounds double, double* %10, i64 256 - %31 = getelementptr inbounds double, double* %11, i64 256 - %32 = getelementptr inbounds double, double* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds double, double* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmuld.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmuls_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmuls_vsvl.ll deleted file mode 100644 index b5e1480cb755..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmuls_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmuls_vsvl.c' -source_filename = "gen/tests/vfmuls_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmuls_vsvl(float* %0, float %1, float* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vfmul.s %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi float* [ %18, %7 ], [ %0, %4 ] - %9 = phi float* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast float* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vfmuls.vsvl(float %1, <256 x double> %15, i32 %13) - %17 = bitcast float* %8 to i8* - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %16, i64 4, i8* %17, i32 %13) - %18 = getelementptr inbounds float, float* %8, i64 256 - %19 = getelementptr inbounds float, float* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmuls.vsvl(float, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmuls_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmuls_vsvmvl.ll deleted file mode 100644 index 1ecccaeebd9a..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmuls_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmuls_vsvmvl.c' -source_filename = "gen/tests/vfmuls_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmuls_vsvmvl(float* %0, float %1, float* %2, i32* %3, float* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vfmul.s %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi float* [ %27, %9 ], [ %0, %6 ] - %11 = phi float* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi float* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast float* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast float* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %23, i32 %17) - %25 = bitcast float* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vfmuls.vsvmvl(float %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %26, i64 4, i8* %25, i32 %17) - %27 = getelementptr inbounds float, float* %10, i64 256 - %28 = getelementptr inbounds float, float* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds float, float* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmuls.vsvmvl(float, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmuls_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmuls_vvvl.ll deleted file mode 100644 index eed672a1fee2..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmuls_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmuls_vvvl.c' -source_filename = "gen/tests/vfmuls_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmuls_vvvl(float* %0, float* %1, float* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vfmul.s %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi float* [ %21, %7 ], [ %0, %4 ] - %9 = phi float* [ %22, %7 ], [ %1, %4 ] - %10 = phi float* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast float* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %15, i32 %14) - %17 = bitcast float* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vfmuls.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast float* %8 to i8* - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %19, i64 4, i8* %20, i32 %14) - %21 = getelementptr inbounds float, float* %8, i64 256 - %22 = getelementptr inbounds float, float* %9, i64 256 - %23 = getelementptr inbounds float, float* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmuls.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmuls_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmuls_vvvmvl.ll deleted file mode 100644 index 462d40a95dd9..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfmuls_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfmuls_vvvmvl.c' -source_filename = "gen/tests/vfmuls_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfmuls_vvvmvl(float* %0, float* %1, float* %2, i32* %3, float* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vfmul.s %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi float* [ %30, %9 ], [ %0, %6 ] - %11 = phi float* [ %31, %9 ], [ %1, %6 ] - %12 = phi float* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi float* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast float* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %19, i32 %18) - %21 = bitcast float* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast float* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %26, i32 %18) - %28 = bitcast float* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vfmuls.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %29, i64 4, i8* %28, i32 %18) - %30 = getelementptr inbounds float, float* %10, i64 256 - %31 = getelementptr inbounds float, float* %11, i64 256 - %32 = getelementptr inbounds float, float* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds float, float* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfmuls.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmadd_vsvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmadd_vsvvl.ll deleted file mode 100644 index a016c585daaa..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmadd_vsvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfnmadd_vsvvl.c' -source_filename = "gen/tests/vfnmadd_vsvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfnmadd_vsvvl(double* %0, double %1, double* %2, double* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vfnmad.d %v0, %s1, %v0, %v1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi double* [ %22, %8 ], [ %0, %5 ] - %10 = phi double* [ %23, %8 ], [ %2, %5 ] - %11 = phi double* [ %24, %8 ], [ %3, %5 ] - %12 = phi i32 [ %25, %8 ], [ 0, %5 ] - %13 = sub nsw i32 %4, %12 - %14 = icmp slt i32 %13, 256 - %15 = select i1 %14, i32 %13, i32 256 - %16 = bitcast double* %10 to i8* - %17 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %16, i32 %15) - %18 = bitcast double* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %15) - %20 = tail call <256 x double> @llvm.ve.vl.vfnmadd.vsvvl(double %1, <256 x double> %17, <256 x double> %19, i32 %15) - %21 = bitcast double* %9 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %20, i64 8, i8* %21, i32 %15) - %22 = getelementptr inbounds double, double* %9, i64 256 - %23 = getelementptr inbounds double, double* %10, i64 256 - %24 = getelementptr inbounds double, double* %11, i64 256 - %25 = add nuw nsw i32 %12, 256 - %26 = icmp slt i32 %25, %4 - br i1 %26, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfnmadd.vsvvl(double, <256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmadd_vsvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmadd_vsvvmvl.ll deleted file mode 100644 index c5afaad3118a..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmadd_vsvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfnmadd_vsvvmvl.c' -source_filename = "gen/tests/vfnmadd_vsvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfnmadd_vsvvmvl(double* %0, double %1, double* %2, double* %3, i32* %4, double* %5, i32 signext %6) local_unnamed_addr #0 { -; CHECK: vfnmad.d %v3, %s1, %v0, %v1, %vm1 - %8 = icmp sgt i32 %6, 0 - br i1 %8, label %10, label %9 - -9: ; preds = %10, %7 - ret void - -10: ; preds = %7, %10 - %11 = phi double* [ %31, %10 ], [ %0, %7 ] - %12 = phi double* [ %32, %10 ], [ %2, %7 ] - %13 = phi double* [ %33, %10 ], [ %3, %7 ] - %14 = phi i32* [ %34, %10 ], [ %4, %7 ] - %15 = phi double* [ %35, %10 ], [ %5, %7 ] - %16 = phi i32 [ %36, %10 ], [ 0, %7 ] - %17 = sub nsw i32 %6, %16 - %18 = icmp slt i32 %17, 256 - %19 = select i1 %18, i32 %17, i32 256 - %20 = bitcast double* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %20, i32 %19) - %22 = bitcast double* %13 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %19) - %24 = bitcast i32* %14 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %24, i32 %19) - %26 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %25, i32 %19) - %27 = bitcast double* %15 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %27, i32 %19) - %29 = bitcast double* %11 to i8* - %30 = tail call <256 x double> @llvm.ve.vl.vfnmadd.vsvvmvl(double %1, <256 x double> %21, <256 x double> %23, <256 x i1> %26, <256 x double> %28, i32 %19) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %30, i64 8, i8* %29, i32 %19) - %31 = getelementptr inbounds double, double* %11, i64 256 - %32 = getelementptr inbounds double, double* %12, i64 256 - %33 = getelementptr inbounds double, double* %13, i64 256 - %34 = getelementptr inbounds i32, i32* %14, i64 256 - %35 = getelementptr inbounds double, double* %15, i64 256 - %36 = add nuw nsw i32 %16, 256 - %37 = icmp slt i32 %36, %6 - br i1 %37, label %10, label %9 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfnmadd.vsvvmvl(double, <256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmadd_vvsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmadd_vvsvl.ll deleted file mode 100644 index d3dcf24420a6..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmadd_vvsvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfnmadd_vvsvl.c' -source_filename = "gen/tests/vfnmadd_vvsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfnmadd_vvsvl(double* %0, double* %1, double %2, double* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vfnmad.d %v0, %v0, %s2, %v1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi double* [ %22, %8 ], [ %0, %5 ] - %10 = phi double* [ %23, %8 ], [ %1, %5 ] - %11 = phi double* [ %24, %8 ], [ %3, %5 ] - %12 = phi i32 [ %25, %8 ], [ 0, %5 ] - %13 = sub nsw i32 %4, %12 - %14 = icmp slt i32 %13, 256 - %15 = select i1 %14, i32 %13, i32 256 - %16 = bitcast double* %10 to i8* - %17 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %16, i32 %15) - %18 = bitcast double* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %15) - %20 = tail call <256 x double> @llvm.ve.vl.vfnmadd.vvsvl(<256 x double> %17, double %2, <256 x double> %19, i32 %15) - %21 = bitcast double* %9 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %20, i64 8, i8* %21, i32 %15) - %22 = getelementptr inbounds double, double* %9, i64 256 - %23 = getelementptr inbounds double, double* %10, i64 256 - %24 = getelementptr inbounds double, double* %11, i64 256 - %25 = add nuw nsw i32 %12, 256 - %26 = icmp slt i32 %25, %4 - br i1 %26, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfnmadd.vvsvl(<256 x double>, double, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmadd_vvsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmadd_vvsvmvl.ll deleted file mode 100644 index ee7aec88e653..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmadd_vvsvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfnmadd_vvsvmvl.c' -source_filename = "gen/tests/vfnmadd_vvsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfnmadd_vvsvmvl(double* %0, double* %1, double %2, double* %3, i32* %4, double* %5, i32 signext %6) local_unnamed_addr #0 { -; CHECK: vfnmad.d %v3, %v0, %s2, %v1, %vm1 - %8 = icmp sgt i32 %6, 0 - br i1 %8, label %10, label %9 - -9: ; preds = %10, %7 - ret void - -10: ; preds = %7, %10 - %11 = phi double* [ %31, %10 ], [ %0, %7 ] - %12 = phi double* [ %32, %10 ], [ %1, %7 ] - %13 = phi double* [ %33, %10 ], [ %3, %7 ] - %14 = phi i32* [ %34, %10 ], [ %4, %7 ] - %15 = phi double* [ %35, %10 ], [ %5, %7 ] - %16 = phi i32 [ %36, %10 ], [ 0, %7 ] - %17 = sub nsw i32 %6, %16 - %18 = icmp slt i32 %17, 256 - %19 = select i1 %18, i32 %17, i32 256 - %20 = bitcast double* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %20, i32 %19) - %22 = bitcast double* %13 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %19) - %24 = bitcast i32* %14 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %24, i32 %19) - %26 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %25, i32 %19) - %27 = bitcast double* %15 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %27, i32 %19) - %29 = bitcast double* %11 to i8* - %30 = tail call <256 x double> @llvm.ve.vl.vfnmadd.vvsvmvl(<256 x double> %21, double %2, <256 x double> %23, <256 x i1> %26, <256 x double> %28, i32 %19) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %30, i64 8, i8* %29, i32 %19) - %31 = getelementptr inbounds double, double* %11, i64 256 - %32 = getelementptr inbounds double, double* %12, i64 256 - %33 = getelementptr inbounds double, double* %13, i64 256 - %34 = getelementptr inbounds i32, i32* %14, i64 256 - %35 = getelementptr inbounds double, double* %15, i64 256 - %36 = add nuw nsw i32 %16, 256 - %37 = icmp slt i32 %36, %6 - br i1 %37, label %10, label %9 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfnmadd.vvsvmvl(<256 x double>, double, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmadd_vvvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmadd_vvvvl.ll deleted file mode 100644 index afc3391cbe51..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmadd_vvvvl.ll +++ /dev/null @@ -1,61 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfnmadd_vvvvl.c' -source_filename = "gen/tests/vfnmadd_vvvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfnmadd_vvvvl(double* %0, double* %1, double* %2, double* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vfnmad.d %v0, %v0, %v1, %v2 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi double* [ %25, %8 ], [ %0, %5 ] - %10 = phi double* [ %26, %8 ], [ %1, %5 ] - %11 = phi double* [ %27, %8 ], [ %2, %5 ] - %12 = phi double* [ %28, %8 ], [ %3, %5 ] - %13 = phi i32 [ %29, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast double* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %16) - %19 = bitcast double* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %16) - %21 = bitcast double* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %16) - %23 = tail call <256 x double> @llvm.ve.vl.vfnmadd.vvvvl(<256 x double> %18, <256 x double> %20, <256 x double> %22, i32 %16) - %24 = bitcast double* %9 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %23, i64 8, i8* %24, i32 %16) - %25 = getelementptr inbounds double, double* %9, i64 256 - %26 = getelementptr inbounds double, double* %10, i64 256 - %27 = getelementptr inbounds double, double* %11, i64 256 - %28 = getelementptr inbounds double, double* %12, i64 256 - %29 = add nuw nsw i32 %13, 256 - %30 = icmp slt i32 %29, %4 - br i1 %30, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfnmadd.vvvvl(<256 x double>, <256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmadd_vvvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmadd_vvvvmvl.ll deleted file mode 100644 index a763510b0966..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmadd_vvvvmvl.ll +++ /dev/null @@ -1,76 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfnmadd_vvvvmvl.c' -source_filename = "gen/tests/vfnmadd_vvvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfnmadd_vvvvmvl(double* %0, double* %1, double* %2, double* %3, i32* %4, double* %5, i32 signext %6) local_unnamed_addr #0 { -; CHECK: vfnmad.d %v4, %v0, %v1, %v2, %vm1 - %8 = icmp sgt i32 %6, 0 - br i1 %8, label %10, label %9 - -9: ; preds = %10, %7 - ret void - -10: ; preds = %7, %10 - %11 = phi double* [ %34, %10 ], [ %0, %7 ] - %12 = phi double* [ %35, %10 ], [ %1, %7 ] - %13 = phi double* [ %36, %10 ], [ %2, %7 ] - %14 = phi double* [ %37, %10 ], [ %3, %7 ] - %15 = phi i32* [ %38, %10 ], [ %4, %7 ] - %16 = phi double* [ %39, %10 ], [ %5, %7 ] - %17 = phi i32 [ %40, %10 ], [ 0, %7 ] - %18 = sub nsw i32 %6, %17 - %19 = icmp slt i32 %18, 256 - %20 = select i1 %19, i32 %18, i32 256 - %21 = bitcast double* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %20) - %23 = bitcast double* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %23, i32 %20) - %25 = bitcast double* %14 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %25, i32 %20) - %27 = bitcast i32* %15 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %27, i32 %20) - %29 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %28, i32 %20) - %30 = bitcast double* %16 to i8* - %31 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %30, i32 %20) - %32 = bitcast double* %11 to i8* - %33 = tail call <256 x double> @llvm.ve.vl.vfnmadd.vvvvmvl(<256 x double> %22, <256 x double> %24, <256 x double> %26, <256 x i1> %29, <256 x double> %31, i32 %20) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %33, i64 8, i8* %32, i32 %20) - %34 = getelementptr inbounds double, double* %11, i64 256 - %35 = getelementptr inbounds double, double* %12, i64 256 - %36 = getelementptr inbounds double, double* %13, i64 256 - %37 = getelementptr inbounds double, double* %14, i64 256 - %38 = getelementptr inbounds i32, i32* %15, i64 256 - %39 = getelementptr inbounds double, double* %16, i64 256 - %40 = add nuw nsw i32 %17, 256 - %41 = icmp slt i32 %40, %6 - br i1 %41, label %10, label %9 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfnmadd.vvvvmvl(<256 x double>, <256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmads_vsvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmads_vsvvl.ll deleted file mode 100644 index 6388e6894f2a..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmads_vsvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfnmads_vsvvl.c' -source_filename = "gen/tests/vfnmads_vsvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfnmads_vsvvl(float* %0, float %1, float* %2, float* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vfnmad.s %v0, %s1, %v0, %v1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi float* [ %22, %8 ], [ %0, %5 ] - %10 = phi float* [ %23, %8 ], [ %2, %5 ] - %11 = phi float* [ %24, %8 ], [ %3, %5 ] - %12 = phi i32 [ %25, %8 ], [ 0, %5 ] - %13 = sub nsw i32 %4, %12 - %14 = icmp slt i32 %13, 256 - %15 = select i1 %14, i32 %13, i32 256 - %16 = bitcast float* %10 to i8* - %17 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %16, i32 %15) - %18 = bitcast float* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %18, i32 %15) - %20 = tail call <256 x double> @llvm.ve.vl.vfnmads.vsvvl(float %1, <256 x double> %17, <256 x double> %19, i32 %15) - %21 = bitcast float* %9 to i8* - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %20, i64 4, i8* %21, i32 %15) - %22 = getelementptr inbounds float, float* %9, i64 256 - %23 = getelementptr inbounds float, float* %10, i64 256 - %24 = getelementptr inbounds float, float* %11, i64 256 - %25 = add nuw nsw i32 %12, 256 - %26 = icmp slt i32 %25, %4 - br i1 %26, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfnmads.vsvvl(float, <256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmads_vsvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmads_vsvvmvl.ll deleted file mode 100644 index 816dee94edc2..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmads_vsvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfnmads_vsvvmvl.c' -source_filename = "gen/tests/vfnmads_vsvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfnmads_vsvvmvl(float* %0, float %1, float* %2, float* %3, i32* %4, float* %5, i32 signext %6) local_unnamed_addr #0 { -; CHECK: vfnmad.s %v3, %s1, %v0, %v1, %vm1 - %8 = icmp sgt i32 %6, 0 - br i1 %8, label %10, label %9 - -9: ; preds = %10, %7 - ret void - -10: ; preds = %7, %10 - %11 = phi float* [ %31, %10 ], [ %0, %7 ] - %12 = phi float* [ %32, %10 ], [ %2, %7 ] - %13 = phi float* [ %33, %10 ], [ %3, %7 ] - %14 = phi i32* [ %34, %10 ], [ %4, %7 ] - %15 = phi float* [ %35, %10 ], [ %5, %7 ] - %16 = phi i32 [ %36, %10 ], [ 0, %7 ] - %17 = sub nsw i32 %6, %16 - %18 = icmp slt i32 %17, 256 - %19 = select i1 %18, i32 %17, i32 256 - %20 = bitcast float* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %20, i32 %19) - %22 = bitcast float* %13 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %22, i32 %19) - %24 = bitcast i32* %14 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %24, i32 %19) - %26 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %25, i32 %19) - %27 = bitcast float* %15 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %27, i32 %19) - %29 = bitcast float* %11 to i8* - %30 = tail call <256 x double> @llvm.ve.vl.vfnmads.vsvvmvl(float %1, <256 x double> %21, <256 x double> %23, <256 x i1> %26, <256 x double> %28, i32 %19) - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %30, i64 4, i8* %29, i32 %19) - %31 = getelementptr inbounds float, float* %11, i64 256 - %32 = getelementptr inbounds float, float* %12, i64 256 - %33 = getelementptr inbounds float, float* %13, i64 256 - %34 = getelementptr inbounds i32, i32* %14, i64 256 - %35 = getelementptr inbounds float, float* %15, i64 256 - %36 = add nuw nsw i32 %16, 256 - %37 = icmp slt i32 %36, %6 - br i1 %37, label %10, label %9 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfnmads.vsvvmvl(float, <256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmads_vvsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmads_vvsvl.ll deleted file mode 100644 index 44158aa93fff..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmads_vvsvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfnmads_vvsvl.c' -source_filename = "gen/tests/vfnmads_vvsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfnmads_vvsvl(float* %0, float* %1, float %2, float* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vfnmad.s %v0, %v0, %s2, %v1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi float* [ %22, %8 ], [ %0, %5 ] - %10 = phi float* [ %23, %8 ], [ %1, %5 ] - %11 = phi float* [ %24, %8 ], [ %3, %5 ] - %12 = phi i32 [ %25, %8 ], [ 0, %5 ] - %13 = sub nsw i32 %4, %12 - %14 = icmp slt i32 %13, 256 - %15 = select i1 %14, i32 %13, i32 256 - %16 = bitcast float* %10 to i8* - %17 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %16, i32 %15) - %18 = bitcast float* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %18, i32 %15) - %20 = tail call <256 x double> @llvm.ve.vl.vfnmads.vvsvl(<256 x double> %17, float %2, <256 x double> %19, i32 %15) - %21 = bitcast float* %9 to i8* - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %20, i64 4, i8* %21, i32 %15) - %22 = getelementptr inbounds float, float* %9, i64 256 - %23 = getelementptr inbounds float, float* %10, i64 256 - %24 = getelementptr inbounds float, float* %11, i64 256 - %25 = add nuw nsw i32 %12, 256 - %26 = icmp slt i32 %25, %4 - br i1 %26, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfnmads.vvsvl(<256 x double>, float, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmads_vvsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmads_vvsvmvl.ll deleted file mode 100644 index 11263e777ae6..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmads_vvsvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfnmads_vvsvmvl.c' -source_filename = "gen/tests/vfnmads_vvsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfnmads_vvsvmvl(float* %0, float* %1, float %2, float* %3, i32* %4, float* %5, i32 signext %6) local_unnamed_addr #0 { -; CHECK: vfnmad.s %v3, %v0, %s2, %v1, %vm1 - %8 = icmp sgt i32 %6, 0 - br i1 %8, label %10, label %9 - -9: ; preds = %10, %7 - ret void - -10: ; preds = %7, %10 - %11 = phi float* [ %31, %10 ], [ %0, %7 ] - %12 = phi float* [ %32, %10 ], [ %1, %7 ] - %13 = phi float* [ %33, %10 ], [ %3, %7 ] - %14 = phi i32* [ %34, %10 ], [ %4, %7 ] - %15 = phi float* [ %35, %10 ], [ %5, %7 ] - %16 = phi i32 [ %36, %10 ], [ 0, %7 ] - %17 = sub nsw i32 %6, %16 - %18 = icmp slt i32 %17, 256 - %19 = select i1 %18, i32 %17, i32 256 - %20 = bitcast float* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %20, i32 %19) - %22 = bitcast float* %13 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %22, i32 %19) - %24 = bitcast i32* %14 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %24, i32 %19) - %26 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %25, i32 %19) - %27 = bitcast float* %15 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %27, i32 %19) - %29 = bitcast float* %11 to i8* - %30 = tail call <256 x double> @llvm.ve.vl.vfnmads.vvsvmvl(<256 x double> %21, float %2, <256 x double> %23, <256 x i1> %26, <256 x double> %28, i32 %19) - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %30, i64 4, i8* %29, i32 %19) - %31 = getelementptr inbounds float, float* %11, i64 256 - %32 = getelementptr inbounds float, float* %12, i64 256 - %33 = getelementptr inbounds float, float* %13, i64 256 - %34 = getelementptr inbounds i32, i32* %14, i64 256 - %35 = getelementptr inbounds float, float* %15, i64 256 - %36 = add nuw nsw i32 %16, 256 - %37 = icmp slt i32 %36, %6 - br i1 %37, label %10, label %9 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfnmads.vvsvmvl(<256 x double>, float, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmads_vvvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmads_vvvvl.ll deleted file mode 100644 index f827e60cfc1b..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmads_vvvvl.ll +++ /dev/null @@ -1,61 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfnmads_vvvvl.c' -source_filename = "gen/tests/vfnmads_vvvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfnmads_vvvvl(float* %0, float* %1, float* %2, float* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vfnmad.s %v0, %v0, %v1, %v2 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi float* [ %25, %8 ], [ %0, %5 ] - %10 = phi float* [ %26, %8 ], [ %1, %5 ] - %11 = phi float* [ %27, %8 ], [ %2, %5 ] - %12 = phi float* [ %28, %8 ], [ %3, %5 ] - %13 = phi i32 [ %29, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast float* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %17, i32 %16) - %19 = bitcast float* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %19, i32 %16) - %21 = bitcast float* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %21, i32 %16) - %23 = tail call <256 x double> @llvm.ve.vl.vfnmads.vvvvl(<256 x double> %18, <256 x double> %20, <256 x double> %22, i32 %16) - %24 = bitcast float* %9 to i8* - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %23, i64 4, i8* %24, i32 %16) - %25 = getelementptr inbounds float, float* %9, i64 256 - %26 = getelementptr inbounds float, float* %10, i64 256 - %27 = getelementptr inbounds float, float* %11, i64 256 - %28 = getelementptr inbounds float, float* %12, i64 256 - %29 = add nuw nsw i32 %13, 256 - %30 = icmp slt i32 %29, %4 - br i1 %30, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfnmads.vvvvl(<256 x double>, <256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmads_vvvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmads_vvvvmvl.ll deleted file mode 100644 index f8b35adc9873..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmads_vvvvmvl.ll +++ /dev/null @@ -1,76 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfnmads_vvvvmvl.c' -source_filename = "gen/tests/vfnmads_vvvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfnmads_vvvvmvl(float* %0, float* %1, float* %2, float* %3, i32* %4, float* %5, i32 signext %6) local_unnamed_addr #0 { -; CHECK: vfnmad.s %v4, %v0, %v1, %v2, %vm1 - %8 = icmp sgt i32 %6, 0 - br i1 %8, label %10, label %9 - -9: ; preds = %10, %7 - ret void - -10: ; preds = %7, %10 - %11 = phi float* [ %34, %10 ], [ %0, %7 ] - %12 = phi float* [ %35, %10 ], [ %1, %7 ] - %13 = phi float* [ %36, %10 ], [ %2, %7 ] - %14 = phi float* [ %37, %10 ], [ %3, %7 ] - %15 = phi i32* [ %38, %10 ], [ %4, %7 ] - %16 = phi float* [ %39, %10 ], [ %5, %7 ] - %17 = phi i32 [ %40, %10 ], [ 0, %7 ] - %18 = sub nsw i32 %6, %17 - %19 = icmp slt i32 %18, 256 - %20 = select i1 %19, i32 %18, i32 256 - %21 = bitcast float* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %21, i32 %20) - %23 = bitcast float* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %23, i32 %20) - %25 = bitcast float* %14 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %25, i32 %20) - %27 = bitcast i32* %15 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %27, i32 %20) - %29 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %28, i32 %20) - %30 = bitcast float* %16 to i8* - %31 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %30, i32 %20) - %32 = bitcast float* %11 to i8* - %33 = tail call <256 x double> @llvm.ve.vl.vfnmads.vvvvmvl(<256 x double> %22, <256 x double> %24, <256 x double> %26, <256 x i1> %29, <256 x double> %31, i32 %20) - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %33, i64 4, i8* %32, i32 %20) - %34 = getelementptr inbounds float, float* %11, i64 256 - %35 = getelementptr inbounds float, float* %12, i64 256 - %36 = getelementptr inbounds float, float* %13, i64 256 - %37 = getelementptr inbounds float, float* %14, i64 256 - %38 = getelementptr inbounds i32, i32* %15, i64 256 - %39 = getelementptr inbounds float, float* %16, i64 256 - %40 = add nuw nsw i32 %17, 256 - %41 = icmp slt i32 %40, %6 - br i1 %41, label %10, label %9 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfnmads.vvvvmvl(<256 x double>, <256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmsbd_vsvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmsbd_vsvvl.ll deleted file mode 100644 index b05e203c2d68..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmsbd_vsvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfnmsbd_vsvvl.c' -source_filename = "gen/tests/vfnmsbd_vsvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfnmsbd_vsvvl(double* %0, double %1, double* %2, double* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vfnmsb.d %v0, %s1, %v0, %v1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi double* [ %22, %8 ], [ %0, %5 ] - %10 = phi double* [ %23, %8 ], [ %2, %5 ] - %11 = phi double* [ %24, %8 ], [ %3, %5 ] - %12 = phi i32 [ %25, %8 ], [ 0, %5 ] - %13 = sub nsw i32 %4, %12 - %14 = icmp slt i32 %13, 256 - %15 = select i1 %14, i32 %13, i32 256 - %16 = bitcast double* %10 to i8* - %17 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %16, i32 %15) - %18 = bitcast double* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %15) - %20 = tail call <256 x double> @llvm.ve.vl.vfnmsbd.vsvvl(double %1, <256 x double> %17, <256 x double> %19, i32 %15) - %21 = bitcast double* %9 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %20, i64 8, i8* %21, i32 %15) - %22 = getelementptr inbounds double, double* %9, i64 256 - %23 = getelementptr inbounds double, double* %10, i64 256 - %24 = getelementptr inbounds double, double* %11, i64 256 - %25 = add nuw nsw i32 %12, 256 - %26 = icmp slt i32 %25, %4 - br i1 %26, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfnmsbd.vsvvl(double, <256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmsbd_vsvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmsbd_vsvvmvl.ll deleted file mode 100644 index 1b540e41bac7..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmsbd_vsvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfnmsbd_vsvvmvl.c' -source_filename = "gen/tests/vfnmsbd_vsvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfnmsbd_vsvvmvl(double* %0, double %1, double* %2, double* %3, i32* %4, double* %5, i32 signext %6) local_unnamed_addr #0 { -; CHECK: vfnmsb.d %v3, %s1, %v0, %v1, %vm1 - %8 = icmp sgt i32 %6, 0 - br i1 %8, label %10, label %9 - -9: ; preds = %10, %7 - ret void - -10: ; preds = %7, %10 - %11 = phi double* [ %31, %10 ], [ %0, %7 ] - %12 = phi double* [ %32, %10 ], [ %2, %7 ] - %13 = phi double* [ %33, %10 ], [ %3, %7 ] - %14 = phi i32* [ %34, %10 ], [ %4, %7 ] - %15 = phi double* [ %35, %10 ], [ %5, %7 ] - %16 = phi i32 [ %36, %10 ], [ 0, %7 ] - %17 = sub nsw i32 %6, %16 - %18 = icmp slt i32 %17, 256 - %19 = select i1 %18, i32 %17, i32 256 - %20 = bitcast double* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %20, i32 %19) - %22 = bitcast double* %13 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %19) - %24 = bitcast i32* %14 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %24, i32 %19) - %26 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %25, i32 %19) - %27 = bitcast double* %15 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %27, i32 %19) - %29 = bitcast double* %11 to i8* - %30 = tail call <256 x double> @llvm.ve.vl.vfnmsbd.vsvvmvl(double %1, <256 x double> %21, <256 x double> %23, <256 x i1> %26, <256 x double> %28, i32 %19) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %30, i64 8, i8* %29, i32 %19) - %31 = getelementptr inbounds double, double* %11, i64 256 - %32 = getelementptr inbounds double, double* %12, i64 256 - %33 = getelementptr inbounds double, double* %13, i64 256 - %34 = getelementptr inbounds i32, i32* %14, i64 256 - %35 = getelementptr inbounds double, double* %15, i64 256 - %36 = add nuw nsw i32 %16, 256 - %37 = icmp slt i32 %36, %6 - br i1 %37, label %10, label %9 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfnmsbd.vsvvmvl(double, <256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmsbd_vvsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmsbd_vvsvl.ll deleted file mode 100644 index 38f6e42b8848..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmsbd_vvsvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfnmsbd_vvsvl.c' -source_filename = "gen/tests/vfnmsbd_vvsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfnmsbd_vvsvl(double* %0, double* %1, double %2, double* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vfnmsb.d %v0, %v0, %s2, %v1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi double* [ %22, %8 ], [ %0, %5 ] - %10 = phi double* [ %23, %8 ], [ %1, %5 ] - %11 = phi double* [ %24, %8 ], [ %3, %5 ] - %12 = phi i32 [ %25, %8 ], [ 0, %5 ] - %13 = sub nsw i32 %4, %12 - %14 = icmp slt i32 %13, 256 - %15 = select i1 %14, i32 %13, i32 256 - %16 = bitcast double* %10 to i8* - %17 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %16, i32 %15) - %18 = bitcast double* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %15) - %20 = tail call <256 x double> @llvm.ve.vl.vfnmsbd.vvsvl(<256 x double> %17, double %2, <256 x double> %19, i32 %15) - %21 = bitcast double* %9 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %20, i64 8, i8* %21, i32 %15) - %22 = getelementptr inbounds double, double* %9, i64 256 - %23 = getelementptr inbounds double, double* %10, i64 256 - %24 = getelementptr inbounds double, double* %11, i64 256 - %25 = add nuw nsw i32 %12, 256 - %26 = icmp slt i32 %25, %4 - br i1 %26, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfnmsbd.vvsvl(<256 x double>, double, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmsbd_vvsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmsbd_vvsvmvl.ll deleted file mode 100644 index af19a4a2c806..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmsbd_vvsvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfnmsbd_vvsvmvl.c' -source_filename = "gen/tests/vfnmsbd_vvsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfnmsbd_vvsvmvl(double* %0, double* %1, double %2, double* %3, i32* %4, double* %5, i32 signext %6) local_unnamed_addr #0 { -; CHECK: vfnmsb.d %v3, %v0, %s2, %v1, %vm1 - %8 = icmp sgt i32 %6, 0 - br i1 %8, label %10, label %9 - -9: ; preds = %10, %7 - ret void - -10: ; preds = %7, %10 - %11 = phi double* [ %31, %10 ], [ %0, %7 ] - %12 = phi double* [ %32, %10 ], [ %1, %7 ] - %13 = phi double* [ %33, %10 ], [ %3, %7 ] - %14 = phi i32* [ %34, %10 ], [ %4, %7 ] - %15 = phi double* [ %35, %10 ], [ %5, %7 ] - %16 = phi i32 [ %36, %10 ], [ 0, %7 ] - %17 = sub nsw i32 %6, %16 - %18 = icmp slt i32 %17, 256 - %19 = select i1 %18, i32 %17, i32 256 - %20 = bitcast double* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %20, i32 %19) - %22 = bitcast double* %13 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %19) - %24 = bitcast i32* %14 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %24, i32 %19) - %26 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %25, i32 %19) - %27 = bitcast double* %15 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %27, i32 %19) - %29 = bitcast double* %11 to i8* - %30 = tail call <256 x double> @llvm.ve.vl.vfnmsbd.vvsvmvl(<256 x double> %21, double %2, <256 x double> %23, <256 x i1> %26, <256 x double> %28, i32 %19) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %30, i64 8, i8* %29, i32 %19) - %31 = getelementptr inbounds double, double* %11, i64 256 - %32 = getelementptr inbounds double, double* %12, i64 256 - %33 = getelementptr inbounds double, double* %13, i64 256 - %34 = getelementptr inbounds i32, i32* %14, i64 256 - %35 = getelementptr inbounds double, double* %15, i64 256 - %36 = add nuw nsw i32 %16, 256 - %37 = icmp slt i32 %36, %6 - br i1 %37, label %10, label %9 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfnmsbd.vvsvmvl(<256 x double>, double, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmsbd_vvvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmsbd_vvvvl.ll deleted file mode 100644 index 07dff88cbd36..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmsbd_vvvvl.ll +++ /dev/null @@ -1,61 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfnmsbd_vvvvl.c' -source_filename = "gen/tests/vfnmsbd_vvvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfnmsbd_vvvvl(double* %0, double* %1, double* %2, double* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vfnmsb.d %v0, %v0, %v1, %v2 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi double* [ %25, %8 ], [ %0, %5 ] - %10 = phi double* [ %26, %8 ], [ %1, %5 ] - %11 = phi double* [ %27, %8 ], [ %2, %5 ] - %12 = phi double* [ %28, %8 ], [ %3, %5 ] - %13 = phi i32 [ %29, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast double* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %16) - %19 = bitcast double* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %16) - %21 = bitcast double* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %16) - %23 = tail call <256 x double> @llvm.ve.vl.vfnmsbd.vvvvl(<256 x double> %18, <256 x double> %20, <256 x double> %22, i32 %16) - %24 = bitcast double* %9 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %23, i64 8, i8* %24, i32 %16) - %25 = getelementptr inbounds double, double* %9, i64 256 - %26 = getelementptr inbounds double, double* %10, i64 256 - %27 = getelementptr inbounds double, double* %11, i64 256 - %28 = getelementptr inbounds double, double* %12, i64 256 - %29 = add nuw nsw i32 %13, 256 - %30 = icmp slt i32 %29, %4 - br i1 %30, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfnmsbd.vvvvl(<256 x double>, <256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmsbd_vvvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmsbd_vvvvmvl.ll deleted file mode 100644 index b47e329cb16e..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmsbd_vvvvmvl.ll +++ /dev/null @@ -1,76 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfnmsbd_vvvvmvl.c' -source_filename = "gen/tests/vfnmsbd_vvvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfnmsbd_vvvvmvl(double* %0, double* %1, double* %2, double* %3, i32* %4, double* %5, i32 signext %6) local_unnamed_addr #0 { -; CHECK: vfnmsb.d %v4, %v0, %v1, %v2, %vm1 - %8 = icmp sgt i32 %6, 0 - br i1 %8, label %10, label %9 - -9: ; preds = %10, %7 - ret void - -10: ; preds = %7, %10 - %11 = phi double* [ %34, %10 ], [ %0, %7 ] - %12 = phi double* [ %35, %10 ], [ %1, %7 ] - %13 = phi double* [ %36, %10 ], [ %2, %7 ] - %14 = phi double* [ %37, %10 ], [ %3, %7 ] - %15 = phi i32* [ %38, %10 ], [ %4, %7 ] - %16 = phi double* [ %39, %10 ], [ %5, %7 ] - %17 = phi i32 [ %40, %10 ], [ 0, %7 ] - %18 = sub nsw i32 %6, %17 - %19 = icmp slt i32 %18, 256 - %20 = select i1 %19, i32 %18, i32 256 - %21 = bitcast double* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %20) - %23 = bitcast double* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %23, i32 %20) - %25 = bitcast double* %14 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %25, i32 %20) - %27 = bitcast i32* %15 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %27, i32 %20) - %29 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %28, i32 %20) - %30 = bitcast double* %16 to i8* - %31 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %30, i32 %20) - %32 = bitcast double* %11 to i8* - %33 = tail call <256 x double> @llvm.ve.vl.vfnmsbd.vvvvmvl(<256 x double> %22, <256 x double> %24, <256 x double> %26, <256 x i1> %29, <256 x double> %31, i32 %20) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %33, i64 8, i8* %32, i32 %20) - %34 = getelementptr inbounds double, double* %11, i64 256 - %35 = getelementptr inbounds double, double* %12, i64 256 - %36 = getelementptr inbounds double, double* %13, i64 256 - %37 = getelementptr inbounds double, double* %14, i64 256 - %38 = getelementptr inbounds i32, i32* %15, i64 256 - %39 = getelementptr inbounds double, double* %16, i64 256 - %40 = add nuw nsw i32 %17, 256 - %41 = icmp slt i32 %40, %6 - br i1 %41, label %10, label %9 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfnmsbd.vvvvmvl(<256 x double>, <256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmsbs_vsvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmsbs_vsvvl.ll deleted file mode 100644 index 77d69269fe74..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmsbs_vsvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfnmsbs_vsvvl.c' -source_filename = "gen/tests/vfnmsbs_vsvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfnmsbs_vsvvl(float* %0, float %1, float* %2, float* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vfnmsb.s %v0, %s1, %v0, %v1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi float* [ %22, %8 ], [ %0, %5 ] - %10 = phi float* [ %23, %8 ], [ %2, %5 ] - %11 = phi float* [ %24, %8 ], [ %3, %5 ] - %12 = phi i32 [ %25, %8 ], [ 0, %5 ] - %13 = sub nsw i32 %4, %12 - %14 = icmp slt i32 %13, 256 - %15 = select i1 %14, i32 %13, i32 256 - %16 = bitcast float* %10 to i8* - %17 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %16, i32 %15) - %18 = bitcast float* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %18, i32 %15) - %20 = tail call <256 x double> @llvm.ve.vl.vfnmsbs.vsvvl(float %1, <256 x double> %17, <256 x double> %19, i32 %15) - %21 = bitcast float* %9 to i8* - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %20, i64 4, i8* %21, i32 %15) - %22 = getelementptr inbounds float, float* %9, i64 256 - %23 = getelementptr inbounds float, float* %10, i64 256 - %24 = getelementptr inbounds float, float* %11, i64 256 - %25 = add nuw nsw i32 %12, 256 - %26 = icmp slt i32 %25, %4 - br i1 %26, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfnmsbs.vsvvl(float, <256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmsbs_vsvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmsbs_vsvvmvl.ll deleted file mode 100644 index 1b9e22f2d433..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmsbs_vsvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfnmsbs_vsvvmvl.c' -source_filename = "gen/tests/vfnmsbs_vsvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfnmsbs_vsvvmvl(float* %0, float %1, float* %2, float* %3, i32* %4, float* %5, i32 signext %6) local_unnamed_addr #0 { -; CHECK: vfnmsb.s %v3, %s1, %v0, %v1, %vm1 - %8 = icmp sgt i32 %6, 0 - br i1 %8, label %10, label %9 - -9: ; preds = %10, %7 - ret void - -10: ; preds = %7, %10 - %11 = phi float* [ %31, %10 ], [ %0, %7 ] - %12 = phi float* [ %32, %10 ], [ %2, %7 ] - %13 = phi float* [ %33, %10 ], [ %3, %7 ] - %14 = phi i32* [ %34, %10 ], [ %4, %7 ] - %15 = phi float* [ %35, %10 ], [ %5, %7 ] - %16 = phi i32 [ %36, %10 ], [ 0, %7 ] - %17 = sub nsw i32 %6, %16 - %18 = icmp slt i32 %17, 256 - %19 = select i1 %18, i32 %17, i32 256 - %20 = bitcast float* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %20, i32 %19) - %22 = bitcast float* %13 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %22, i32 %19) - %24 = bitcast i32* %14 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %24, i32 %19) - %26 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %25, i32 %19) - %27 = bitcast float* %15 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %27, i32 %19) - %29 = bitcast float* %11 to i8* - %30 = tail call <256 x double> @llvm.ve.vl.vfnmsbs.vsvvmvl(float %1, <256 x double> %21, <256 x double> %23, <256 x i1> %26, <256 x double> %28, i32 %19) - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %30, i64 4, i8* %29, i32 %19) - %31 = getelementptr inbounds float, float* %11, i64 256 - %32 = getelementptr inbounds float, float* %12, i64 256 - %33 = getelementptr inbounds float, float* %13, i64 256 - %34 = getelementptr inbounds i32, i32* %14, i64 256 - %35 = getelementptr inbounds float, float* %15, i64 256 - %36 = add nuw nsw i32 %16, 256 - %37 = icmp slt i32 %36, %6 - br i1 %37, label %10, label %9 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfnmsbs.vsvvmvl(float, <256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmsbs_vvsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmsbs_vvsvl.ll deleted file mode 100644 index 3e7aa2caf501..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmsbs_vvsvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfnmsbs_vvsvl.c' -source_filename = "gen/tests/vfnmsbs_vvsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfnmsbs_vvsvl(float* %0, float* %1, float %2, float* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vfnmsb.s %v0, %v0, %s2, %v1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi float* [ %22, %8 ], [ %0, %5 ] - %10 = phi float* [ %23, %8 ], [ %1, %5 ] - %11 = phi float* [ %24, %8 ], [ %3, %5 ] - %12 = phi i32 [ %25, %8 ], [ 0, %5 ] - %13 = sub nsw i32 %4, %12 - %14 = icmp slt i32 %13, 256 - %15 = select i1 %14, i32 %13, i32 256 - %16 = bitcast float* %10 to i8* - %17 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %16, i32 %15) - %18 = bitcast float* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %18, i32 %15) - %20 = tail call <256 x double> @llvm.ve.vl.vfnmsbs.vvsvl(<256 x double> %17, float %2, <256 x double> %19, i32 %15) - %21 = bitcast float* %9 to i8* - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %20, i64 4, i8* %21, i32 %15) - %22 = getelementptr inbounds float, float* %9, i64 256 - %23 = getelementptr inbounds float, float* %10, i64 256 - %24 = getelementptr inbounds float, float* %11, i64 256 - %25 = add nuw nsw i32 %12, 256 - %26 = icmp slt i32 %25, %4 - br i1 %26, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfnmsbs.vvsvl(<256 x double>, float, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmsbs_vvsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmsbs_vvsvmvl.ll deleted file mode 100644 index 543075915534..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmsbs_vvsvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfnmsbs_vvsvmvl.c' -source_filename = "gen/tests/vfnmsbs_vvsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfnmsbs_vvsvmvl(float* %0, float* %1, float %2, float* %3, i32* %4, float* %5, i32 signext %6) local_unnamed_addr #0 { -; CHECK: vfnmsb.s %v3, %v0, %s2, %v1, %vm1 - %8 = icmp sgt i32 %6, 0 - br i1 %8, label %10, label %9 - -9: ; preds = %10, %7 - ret void - -10: ; preds = %7, %10 - %11 = phi float* [ %31, %10 ], [ %0, %7 ] - %12 = phi float* [ %32, %10 ], [ %1, %7 ] - %13 = phi float* [ %33, %10 ], [ %3, %7 ] - %14 = phi i32* [ %34, %10 ], [ %4, %7 ] - %15 = phi float* [ %35, %10 ], [ %5, %7 ] - %16 = phi i32 [ %36, %10 ], [ 0, %7 ] - %17 = sub nsw i32 %6, %16 - %18 = icmp slt i32 %17, 256 - %19 = select i1 %18, i32 %17, i32 256 - %20 = bitcast float* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %20, i32 %19) - %22 = bitcast float* %13 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %22, i32 %19) - %24 = bitcast i32* %14 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %24, i32 %19) - %26 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %25, i32 %19) - %27 = bitcast float* %15 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %27, i32 %19) - %29 = bitcast float* %11 to i8* - %30 = tail call <256 x double> @llvm.ve.vl.vfnmsbs.vvsvmvl(<256 x double> %21, float %2, <256 x double> %23, <256 x i1> %26, <256 x double> %28, i32 %19) - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %30, i64 4, i8* %29, i32 %19) - %31 = getelementptr inbounds float, float* %11, i64 256 - %32 = getelementptr inbounds float, float* %12, i64 256 - %33 = getelementptr inbounds float, float* %13, i64 256 - %34 = getelementptr inbounds i32, i32* %14, i64 256 - %35 = getelementptr inbounds float, float* %15, i64 256 - %36 = add nuw nsw i32 %16, 256 - %37 = icmp slt i32 %36, %6 - br i1 %37, label %10, label %9 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfnmsbs.vvsvmvl(<256 x double>, float, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmsbs_vvvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmsbs_vvvvl.ll deleted file mode 100644 index 77c58f02fcbb..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmsbs_vvvvl.ll +++ /dev/null @@ -1,61 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfnmsbs_vvvvl.c' -source_filename = "gen/tests/vfnmsbs_vvvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfnmsbs_vvvvl(float* %0, float* %1, float* %2, float* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vfnmsb.s %v0, %v0, %v1, %v2 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi float* [ %25, %8 ], [ %0, %5 ] - %10 = phi float* [ %26, %8 ], [ %1, %5 ] - %11 = phi float* [ %27, %8 ], [ %2, %5 ] - %12 = phi float* [ %28, %8 ], [ %3, %5 ] - %13 = phi i32 [ %29, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast float* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %17, i32 %16) - %19 = bitcast float* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %19, i32 %16) - %21 = bitcast float* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %21, i32 %16) - %23 = tail call <256 x double> @llvm.ve.vl.vfnmsbs.vvvvl(<256 x double> %18, <256 x double> %20, <256 x double> %22, i32 %16) - %24 = bitcast float* %9 to i8* - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %23, i64 4, i8* %24, i32 %16) - %25 = getelementptr inbounds float, float* %9, i64 256 - %26 = getelementptr inbounds float, float* %10, i64 256 - %27 = getelementptr inbounds float, float* %11, i64 256 - %28 = getelementptr inbounds float, float* %12, i64 256 - %29 = add nuw nsw i32 %13, 256 - %30 = icmp slt i32 %29, %4 - br i1 %30, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfnmsbs.vvvvl(<256 x double>, <256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmsbs_vvvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmsbs_vvvvmvl.ll deleted file mode 100644 index a04c9664b5ad..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfnmsbs_vvvvmvl.ll +++ /dev/null @@ -1,76 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfnmsbs_vvvvmvl.c' -source_filename = "gen/tests/vfnmsbs_vvvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfnmsbs_vvvvmvl(float* %0, float* %1, float* %2, float* %3, i32* %4, float* %5, i32 signext %6) local_unnamed_addr #0 { -; CHECK: vfnmsb.s %v4, %v0, %v1, %v2, %vm1 - %8 = icmp sgt i32 %6, 0 - br i1 %8, label %10, label %9 - -9: ; preds = %10, %7 - ret void - -10: ; preds = %7, %10 - %11 = phi float* [ %34, %10 ], [ %0, %7 ] - %12 = phi float* [ %35, %10 ], [ %1, %7 ] - %13 = phi float* [ %36, %10 ], [ %2, %7 ] - %14 = phi float* [ %37, %10 ], [ %3, %7 ] - %15 = phi i32* [ %38, %10 ], [ %4, %7 ] - %16 = phi float* [ %39, %10 ], [ %5, %7 ] - %17 = phi i32 [ %40, %10 ], [ 0, %7 ] - %18 = sub nsw i32 %6, %17 - %19 = icmp slt i32 %18, 256 - %20 = select i1 %19, i32 %18, i32 256 - %21 = bitcast float* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %21, i32 %20) - %23 = bitcast float* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %23, i32 %20) - %25 = bitcast float* %14 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %25, i32 %20) - %27 = bitcast i32* %15 to i8* - %28 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %27, i32 %20) - %29 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %28, i32 %20) - %30 = bitcast float* %16 to i8* - %31 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %30, i32 %20) - %32 = bitcast float* %11 to i8* - %33 = tail call <256 x double> @llvm.ve.vl.vfnmsbs.vvvvmvl(<256 x double> %22, <256 x double> %24, <256 x double> %26, <256 x i1> %29, <256 x double> %31, i32 %20) - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %33, i64 4, i8* %32, i32 %20) - %34 = getelementptr inbounds float, float* %11, i64 256 - %35 = getelementptr inbounds float, float* %12, i64 256 - %36 = getelementptr inbounds float, float* %13, i64 256 - %37 = getelementptr inbounds float, float* %14, i64 256 - %38 = getelementptr inbounds i32, i32* %15, i64 256 - %39 = getelementptr inbounds float, float* %16, i64 256 - %40 = add nuw nsw i32 %17, 256 - %41 = icmp slt i32 %40, %6 - br i1 %41, label %10, label %9 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfnmsbs.vvvvmvl(<256 x double>, <256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfrmaxdfst_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfrmaxdfst_vvl.ll deleted file mode 100644 index 105c4bae60f4..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfrmaxdfst_vvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfrmaxdfst_vvl.c' -source_filename = "gen/tests/vfrmaxdfst_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfrmaxdfst_vvl(double* %0, double* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vfrmax.d.fst %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi double* [ %17, %6 ], [ %0, %3 ] - %8 = phi double* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast double* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vfrmaxdfst.vvl(<256 x double> %14, i32 %12) - %16 = bitcast double* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %15, i64 8, i8* %16, i32 %12) - %17 = getelementptr inbounds double, double* %7, i64 256 - %18 = getelementptr inbounds double, double* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfrmaxdfst.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfrmaxsfst_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfrmaxsfst_vvl.ll deleted file mode 100644 index fb4606908076..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfrmaxsfst_vvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfrmaxsfst_vvl.c' -source_filename = "gen/tests/vfrmaxsfst_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfrmaxsfst_vvl(float* %0, float* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vfrmax.s.fst %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi float* [ %17, %6 ], [ %0, %3 ] - %8 = phi float* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast float* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vfrmaxsfst.vvl(<256 x double> %14, i32 %12) - %16 = bitcast float* %7 to i8* - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds float, float* %7, i64 256 - %18 = getelementptr inbounds float, float* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfrmaxsfst.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfrmindfst_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfrmindfst_vvl.ll deleted file mode 100644 index afac8d06eca4..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfrmindfst_vvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfrmindfst_vvl.c' -source_filename = "gen/tests/vfrmindfst_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfrmindfst_vvl(double* %0, double* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vfrmin.d.fst %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi double* [ %17, %6 ], [ %0, %3 ] - %8 = phi double* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast double* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vfrmindfst.vvl(<256 x double> %14, i32 %12) - %16 = bitcast double* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %15, i64 8, i8* %16, i32 %12) - %17 = getelementptr inbounds double, double* %7, i64 256 - %18 = getelementptr inbounds double, double* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfrmindfst.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfrminsfst_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfrminsfst_vvl.ll deleted file mode 100644 index b0a515dbe3b9..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfrminsfst_vvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfrminsfst_vvl.c' -source_filename = "gen/tests/vfrminsfst_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfrminsfst_vvl(float* %0, float* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vfrmin.s.fst %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi float* [ %17, %6 ], [ %0, %3 ] - %8 = phi float* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast float* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vfrminsfst.vvl(<256 x double> %14, i32 %12) - %16 = bitcast float* %7 to i8* - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds float, float* %7, i64 256 - %18 = getelementptr inbounds float, float* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfrminsfst.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfsqrtd_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfsqrtd_vvl.ll deleted file mode 100644 index c0d6b5469d62..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfsqrtd_vvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfsqrtd_vvl.c' -source_filename = "gen/tests/vfsqrtd_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfsqrtd_vvl(double* %0, double* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vfsqrt.d %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi double* [ %17, %6 ], [ %0, %3 ] - %8 = phi double* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast double* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vfsqrtd.vvl(<256 x double> %14, i32 %12) - %16 = bitcast double* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %15, i64 8, i8* %16, i32 %12) - %17 = getelementptr inbounds double, double* %7, i64 256 - %18 = getelementptr inbounds double, double* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfsqrtd.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfsqrts_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfsqrts_vvl.ll deleted file mode 100644 index 034c60462ead..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfsqrts_vvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfsqrts_vvl.c' -source_filename = "gen/tests/vfsqrts_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfsqrts_vvl(float* %0, float* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vfsqrt.s %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi float* [ %17, %6 ], [ %0, %3 ] - %8 = phi float* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast float* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vfsqrts.vvl(<256 x double> %14, i32 %12) - %16 = bitcast float* %7 to i8* - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds float, float* %7, i64 256 - %18 = getelementptr inbounds float, float* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfsqrts.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfsubd_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfsubd_vsvl.ll deleted file mode 100644 index 0d6c8f271c09..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfsubd_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfsubd_vsvl.c' -source_filename = "gen/tests/vfsubd_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfsubd_vsvl(double* %0, double %1, double* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vfsub.d %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi double* [ %18, %7 ], [ %0, %4 ] - %9 = phi double* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast double* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vfsubd.vsvl(double %1, <256 x double> %15, i32 %13) - %17 = bitcast double* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %16, i64 8, i8* %17, i32 %13) - %18 = getelementptr inbounds double, double* %8, i64 256 - %19 = getelementptr inbounds double, double* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfsubd.vsvl(double, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfsubd_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfsubd_vsvmvl.ll deleted file mode 100644 index 1e5114971d93..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfsubd_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfsubd_vsvmvl.c' -source_filename = "gen/tests/vfsubd_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfsubd_vsvmvl(double* %0, double %1, double* %2, i32* %3, double* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vfsub.d %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi double* [ %27, %9 ], [ %0, %6 ] - %11 = phi double* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi double* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast double* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast double* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %23, i32 %17) - %25 = bitcast double* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vfsubd.vsvmvl(double %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %26, i64 8, i8* %25, i32 %17) - %27 = getelementptr inbounds double, double* %10, i64 256 - %28 = getelementptr inbounds double, double* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds double, double* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfsubd.vsvmvl(double, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfsubd_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfsubd_vvvl.ll deleted file mode 100644 index 427e3809f49a..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfsubd_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfsubd_vvvl.c' -source_filename = "gen/tests/vfsubd_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfsubd_vvvl(double* %0, double* %1, double* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vfsub.d %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi double* [ %21, %7 ], [ %0, %4 ] - %9 = phi double* [ %22, %7 ], [ %1, %4 ] - %10 = phi double* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast double* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = bitcast double* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vfsubd.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast double* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %19, i64 8, i8* %20, i32 %14) - %21 = getelementptr inbounds double, double* %8, i64 256 - %22 = getelementptr inbounds double, double* %9, i64 256 - %23 = getelementptr inbounds double, double* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfsubd.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfsubd_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfsubd_vvvmvl.ll deleted file mode 100644 index 3da02f85bf50..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfsubd_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfsubd_vvvmvl.c' -source_filename = "gen/tests/vfsubd_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfsubd_vvvmvl(double* %0, double* %1, double* %2, i32* %3, double* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vfsub.d %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi double* [ %30, %9 ], [ %0, %6 ] - %11 = phi double* [ %31, %9 ], [ %1, %6 ] - %12 = phi double* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi double* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast double* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast double* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast double* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %26, i32 %18) - %28 = bitcast double* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vfsubd.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %29, i64 8, i8* %28, i32 %18) - %30 = getelementptr inbounds double, double* %10, i64 256 - %31 = getelementptr inbounds double, double* %11, i64 256 - %32 = getelementptr inbounds double, double* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds double, double* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfsubd.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfsubs_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfsubs_vsvl.ll deleted file mode 100644 index 3b6ab485a3d9..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfsubs_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfsubs_vsvl.c' -source_filename = "gen/tests/vfsubs_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfsubs_vsvl(float* %0, float %1, float* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vfsub.s %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi float* [ %18, %7 ], [ %0, %4 ] - %9 = phi float* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast float* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vfsubs.vsvl(float %1, <256 x double> %15, i32 %13) - %17 = bitcast float* %8 to i8* - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %16, i64 4, i8* %17, i32 %13) - %18 = getelementptr inbounds float, float* %8, i64 256 - %19 = getelementptr inbounds float, float* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfsubs.vsvl(float, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfsubs_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfsubs_vsvmvl.ll deleted file mode 100644 index 7b52129a134c..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfsubs_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfsubs_vsvmvl.c' -source_filename = "gen/tests/vfsubs_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfsubs_vsvmvl(float* %0, float %1, float* %2, i32* %3, float* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vfsub.s %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi float* [ %27, %9 ], [ %0, %6 ] - %11 = phi float* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi float* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast float* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast float* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %23, i32 %17) - %25 = bitcast float* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vfsubs.vsvmvl(float %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %26, i64 4, i8* %25, i32 %17) - %27 = getelementptr inbounds float, float* %10, i64 256 - %28 = getelementptr inbounds float, float* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds float, float* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfsubs.vsvmvl(float, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfsubs_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfsubs_vvvl.ll deleted file mode 100644 index 9ff042083b26..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfsubs_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfsubs_vvvl.c' -source_filename = "gen/tests/vfsubs_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfsubs_vvvl(float* %0, float* %1, float* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vfsub.s %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi float* [ %21, %7 ], [ %0, %4 ] - %9 = phi float* [ %22, %7 ], [ %1, %4 ] - %10 = phi float* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast float* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %15, i32 %14) - %17 = bitcast float* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vfsubs.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast float* %8 to i8* - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %19, i64 4, i8* %20, i32 %14) - %21 = getelementptr inbounds float, float* %8, i64 256 - %22 = getelementptr inbounds float, float* %9, i64 256 - %23 = getelementptr inbounds float, float* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfsubs.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfsubs_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfsubs_vvvmvl.ll deleted file mode 100644 index facd96a961eb..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfsubs_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfsubs_vvvmvl.c' -source_filename = "gen/tests/vfsubs_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfsubs_vvvmvl(float* %0, float* %1, float* %2, i32* %3, float* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vfsub.s %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi float* [ %30, %9 ], [ %0, %6 ] - %11 = phi float* [ %31, %9 ], [ %1, %6 ] - %12 = phi float* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi float* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast float* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %19, i32 %18) - %21 = bitcast float* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast float* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %26, i32 %18) - %28 = bitcast float* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vfsubs.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %29, i64 4, i8* %28, i32 %18) - %30 = getelementptr inbounds float, float* %10, i64 256 - %31 = getelementptr inbounds float, float* %11, i64 256 - %32 = getelementptr inbounds float, float* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds float, float* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfsubs.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfsumd_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfsumd_vvl.ll deleted file mode 100644 index 57355bfbef49..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfsumd_vvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfsumd_vvl.c' -source_filename = "gen/tests/vfsumd_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfsumd_vvl(double* %0, double* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vfsum.d %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi double* [ %17, %6 ], [ %0, %3 ] - %8 = phi double* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast double* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vfsumd.vvl(<256 x double> %14, i32 %12) - %16 = bitcast double* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %15, i64 8, i8* %16, i32 %12) - %17 = getelementptr inbounds double, double* %7, i64 256 - %18 = getelementptr inbounds double, double* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfsumd.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfsumd_vvml.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfsumd_vvml.ll deleted file mode 100644 index 25968249c0bf..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfsumd_vvml.ll +++ /dev/null @@ -1,64 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfsumd_vvml.c' -source_filename = "gen/tests/vfsumd_vvml.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfsumd_vvml(double* %0, double* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vfsum.d %v0, %v0, %vm1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi double* [ %22, %7 ], [ %0, %4 ] - %9 = phi double* [ %23, %7 ], [ %1, %4 ] - %10 = phi i32* [ %24, %7 ], [ %2, %4 ] - %11 = phi i32 [ %25, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast double* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %17, i32 %14) - %19 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %18, i32 %14) - %20 = bitcast double* %8 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vfsumd.vvml(<256 x double> %16, <256 x i1> %19, i32 %14) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %21, i64 8, i8* %20, i32 %14) - %22 = getelementptr inbounds double, double* %8, i64 256 - %23 = getelementptr inbounds double, double* %9, i64 256 - %24 = getelementptr inbounds i32, i32* %10, i64 256 - %25 = add nuw nsw i32 %11, 256 - %26 = icmp slt i32 %25, %3 - br i1 %26, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfsumd.vvml(<256 x double>, <256 x i1>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfsums_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfsums_vvl.ll deleted file mode 100644 index f42b7d7f02e6..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfsums_vvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfsums_vvl.c' -source_filename = "gen/tests/vfsums_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfsums_vvl(float* %0, float* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vfsum.s %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi float* [ %17, %6 ], [ %0, %3 ] - %8 = phi float* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast float* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vfsums.vvl(<256 x double> %14, i32 %12) - %16 = bitcast float* %7 to i8* - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds float, float* %7, i64 256 - %18 = getelementptr inbounds float, float* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfsums.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfsums_vvml.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfsums_vvml.ll deleted file mode 100644 index 6a92781fbc0e..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vfsums_vvml.ll +++ /dev/null @@ -1,64 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vfsums_vvml.c' -source_filename = "gen/tests/vfsums_vvml.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vfsums_vvml(float* %0, float* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vfsum.s %v0, %v0, %vm1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi float* [ %22, %7 ], [ %0, %4 ] - %9 = phi float* [ %23, %7 ], [ %1, %4 ] - %10 = phi i32* [ %24, %7 ], [ %2, %4 ] - %11 = phi i32 [ %25, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast float* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %15, i32 %14) - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %17, i32 %14) - %19 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %18, i32 %14) - %20 = bitcast float* %8 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vfsums.vvml(<256 x double> %16, <256 x i1> %19, i32 %14) - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %21, i64 4, i8* %20, i32 %14) - %22 = getelementptr inbounds float, float* %8, i64 256 - %23 = getelementptr inbounds float, float* %9, i64 256 - %24 = getelementptr inbounds i32, i32* %10, i64 256 - %25 = add nuw nsw i32 %11, 256 - %26 = icmp slt i32 %25, %3 - br i1 %26, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vfsums.vvml(<256 x double>, <256 x i1>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxsl_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxsl_vsvl.ll deleted file mode 100644 index 2f453756bd0a..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxsl_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmaxsl_vsvl.c' -source_filename = "gen/tests/vmaxsl_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmaxsl_vsvl(i64* %0, i64 %1, i64* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vmaxs.l %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %18, %7 ], [ %0, %4 ] - %9 = phi i64* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i64* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vmaxsl.vsvl(i64 %1, <256 x double> %15, i32 %13) - %17 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %16, i64 8, i8* %17, i32 %13) - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = getelementptr inbounds i64, i64* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmaxsl.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxsl_vsvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxsl_vsvl_imm.ll deleted file mode 100644 index 5d269fc67215..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxsl_vsvl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmaxsl_vsvl_imm.c' -source_filename = "gen/tests/vmaxsl_vsvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmaxsl_vsvl_imm(i64* %0, i64* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vmaxs.l %v0, 3, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i64* [ %17, %6 ], [ %0, %3 ] - %8 = phi i64* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i64* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vmaxsl.vsvl(i64 3, <256 x double> %14, i32 %12) - %16 = bitcast i64* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %15, i64 8, i8* %16, i32 %12) - %17 = getelementptr inbounds i64, i64* %7, i64 256 - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmaxsl.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxsl_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxsl_vsvmvl.ll deleted file mode 100644 index ee24217345d0..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxsl_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmaxsl_vsvmvl.c' -source_filename = "gen/tests/vmaxsl_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmaxsl_vsvmvl(i64* %0, i64 %1, i64* %2, i32* %3, i64* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vmaxs.l %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i64* [ %27, %9 ], [ %0, %6 ] - %11 = phi i64* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i64* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i64* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i64* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %23, i32 %17) - %25 = bitcast i64* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vmaxsl.vsvmvl(i64 %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %26, i64 8, i8* %25, i32 %17) - %27 = getelementptr inbounds i64, i64* %10, i64 256 - %28 = getelementptr inbounds i64, i64* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i64, i64* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmaxsl.vsvmvl(i64, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxsl_vsvmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxsl_vsvmvl_imm.ll deleted file mode 100644 index 05b3175a8952..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxsl_vsvmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmaxsl_vsvmvl_imm.c' -source_filename = "gen/tests/vmaxsl_vsvmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmaxsl_vsvmvl_imm(i64* %0, i64* %1, i32* %2, i64* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vmaxs.l %v2, 3, %v0, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i64* [ %26, %8 ], [ %0, %5 ] - %10 = phi i64* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i64* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast i64* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i64* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %16) - %24 = bitcast i64* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vmaxsl.vsvmvl(i64 3, <256 x double> %18, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %25, i64 8, i8* %24, i32 %16) - %26 = getelementptr inbounds i64, i64* %9, i64 256 - %27 = getelementptr inbounds i64, i64* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i64, i64* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmaxsl.vsvmvl(i64, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxsl_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxsl_vvvl.ll deleted file mode 100644 index b9b1a76b876f..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxsl_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmaxsl_vvvl.c' -source_filename = "gen/tests/vmaxsl_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmaxsl_vvvl(i64* %0, i64* %1, i64* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vmaxs.l %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %21, %7 ], [ %0, %4 ] - %9 = phi i64* [ %22, %7 ], [ %1, %4 ] - %10 = phi i64* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i64* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = bitcast i64* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vmaxsl.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %19, i64 8, i8* %20, i32 %14) - %21 = getelementptr inbounds i64, i64* %8, i64 256 - %22 = getelementptr inbounds i64, i64* %9, i64 256 - %23 = getelementptr inbounds i64, i64* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmaxsl.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxsl_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxsl_vvvmvl.ll deleted file mode 100644 index 91dfaec9a5a6..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxsl_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmaxsl_vvvmvl.c' -source_filename = "gen/tests/vmaxsl_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmaxsl_vvvmvl(i64* %0, i64* %1, i64* %2, i32* %3, i64* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vmaxs.l %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i64* [ %30, %9 ], [ %0, %6 ] - %11 = phi i64* [ %31, %9 ], [ %1, %6 ] - %12 = phi i64* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi i64* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast i64* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast i64* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast i64* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %26, i32 %18) - %28 = bitcast i64* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vmaxsl.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %29, i64 8, i8* %28, i32 %18) - %30 = getelementptr inbounds i64, i64* %10, i64 256 - %31 = getelementptr inbounds i64, i64* %11, i64 256 - %32 = getelementptr inbounds i64, i64* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds i64, i64* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmaxsl.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxswsx_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxswsx_vsvl.ll deleted file mode 100644 index 827d21819229..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxswsx_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmaxswsx_vsvl.c' -source_filename = "gen/tests/vmaxswsx_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmaxswsx_vsvl(i32* %0, i32 signext %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vmaxs.w.sx %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %18, %7 ], [ %0, %4 ] - %9 = phi i32* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i32* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vmaxswsx.vsvl(i32 %1, <256 x double> %15, i32 %13) - %17 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %16, i64 4, i8* %17, i32 %13) - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = getelementptr inbounds i32, i32* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmaxswsx.vsvl(i32, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxswsx_vsvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxswsx_vsvl_imm.ll deleted file mode 100644 index 5691db9bf674..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxswsx_vsvl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmaxswsx_vsvl_imm.c' -source_filename = "gen/tests/vmaxswsx_vsvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmaxswsx_vsvl_imm(i32* %0, i32* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vmaxs.w.sx %v0, 3, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i32* [ %17, %6 ], [ %0, %3 ] - %8 = phi i32* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i32* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vmaxswsx.vsvl(i32 3, <256 x double> %14, i32 %12) - %16 = bitcast i32* %7 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds i32, i32* %7, i64 256 - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmaxswsx.vsvl(i32, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxswsx_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxswsx_vsvmvl.ll deleted file mode 100644 index 2cd88b23680e..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxswsx_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmaxswsx_vsvmvl.c' -source_filename = "gen/tests/vmaxswsx_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmaxswsx_vsvmvl(i32* %0, i32 signext %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vmaxs.w.sx %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %27, %9 ], [ %0, %6 ] - %11 = phi i32* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i32* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i32* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %23, i32 %17) - %25 = bitcast i32* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vmaxswsx.vsvmvl(i32 %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %26, i64 4, i8* %25, i32 %17) - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i32, i32* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmaxswsx.vsvmvl(i32, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxswsx_vsvmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxswsx_vsvmvl_imm.ll deleted file mode 100644 index 84902443d21a..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxswsx_vsvmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmaxswsx_vsvmvl_imm.c' -source_filename = "gen/tests/vmaxswsx_vsvmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmaxswsx_vsvmvl_imm(i32* %0, i32* %1, i32* %2, i32* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vmaxs.w.sx %v2, 3, %v0, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i32* [ %26, %8 ], [ %0, %5 ] - %10 = phi i32* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i32* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %22, i32 %16) - %24 = bitcast i32* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vmaxswsx.vsvmvl(i32 3, <256 x double> %18, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %25, i64 4, i8* %24, i32 %16) - %26 = getelementptr inbounds i32, i32* %9, i64 256 - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmaxswsx.vsvmvl(i32, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxswsx_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxswsx_vvvl.ll deleted file mode 100644 index 389ee31a2019..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxswsx_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmaxswsx_vvvl.c' -source_filename = "gen/tests/vmaxswsx_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmaxswsx_vvvl(i32* %0, i32* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vmaxs.w.sx %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %21, %7 ], [ %0, %4 ] - %9 = phi i32* [ %22, %7 ], [ %1, %4 ] - %10 = phi i32* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i32* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %15, i32 %14) - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vmaxswsx.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %19, i64 4, i8* %20, i32 %14) - %21 = getelementptr inbounds i32, i32* %8, i64 256 - %22 = getelementptr inbounds i32, i32* %9, i64 256 - %23 = getelementptr inbounds i32, i32* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmaxswsx.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxswsx_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxswsx_vvvmvl.ll deleted file mode 100644 index 5315b4b2c648..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxswsx_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmaxswsx_vvvmvl.c' -source_filename = "gen/tests/vmaxswsx_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmaxswsx_vvvmvl(i32* %0, i32* %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vmaxs.w.sx %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %30, %9 ], [ %0, %6 ] - %11 = phi i32* [ %31, %9 ], [ %1, %6 ] - %12 = phi i32* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi i32* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %19, i32 %18) - %21 = bitcast i32* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast i32* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %26, i32 %18) - %28 = bitcast i32* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vmaxswsx.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %29, i64 4, i8* %28, i32 %18) - %30 = getelementptr inbounds i32, i32* %10, i64 256 - %31 = getelementptr inbounds i32, i32* %11, i64 256 - %32 = getelementptr inbounds i32, i32* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds i32, i32* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmaxswsx.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxswzx_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxswzx_vsvl.ll deleted file mode 100644 index 4468dbb9e9f1..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxswzx_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmaxswzx_vsvl.c' -source_filename = "gen/tests/vmaxswzx_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmaxswzx_vsvl(i32* %0, i32 signext %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vmaxs.w.zx %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %18, %7 ], [ %0, %4 ] - %9 = phi i32* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i32* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vmaxswzx.vsvl(i32 %1, <256 x double> %15, i32 %13) - %17 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %16, i64 4, i8* %17, i32 %13) - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = getelementptr inbounds i32, i32* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmaxswzx.vsvl(i32, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxswzx_vsvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxswzx_vsvl_imm.ll deleted file mode 100644 index eb6b44953dae..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxswzx_vsvl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmaxswzx_vsvl_imm.c' -source_filename = "gen/tests/vmaxswzx_vsvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmaxswzx_vsvl_imm(i32* %0, i32* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vmaxs.w.zx %v0, 3, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i32* [ %17, %6 ], [ %0, %3 ] - %8 = phi i32* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i32* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vmaxswzx.vsvl(i32 3, <256 x double> %14, i32 %12) - %16 = bitcast i32* %7 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds i32, i32* %7, i64 256 - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmaxswzx.vsvl(i32, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxswzx_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxswzx_vsvmvl.ll deleted file mode 100644 index 14491a5d74b0..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxswzx_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmaxswzx_vsvmvl.c' -source_filename = "gen/tests/vmaxswzx_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmaxswzx_vsvmvl(i32* %0, i32 signext %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vmaxs.w.zx %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %27, %9 ], [ %0, %6 ] - %11 = phi i32* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i32* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i32* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %23, i32 %17) - %25 = bitcast i32* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vmaxswzx.vsvmvl(i32 %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %26, i64 4, i8* %25, i32 %17) - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i32, i32* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmaxswzx.vsvmvl(i32, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxswzx_vsvmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxswzx_vsvmvl_imm.ll deleted file mode 100644 index d150c84171d4..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxswzx_vsvmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmaxswzx_vsvmvl_imm.c' -source_filename = "gen/tests/vmaxswzx_vsvmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmaxswzx_vsvmvl_imm(i32* %0, i32* %1, i32* %2, i32* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vmaxs.w.zx %v2, 3, %v0, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i32* [ %26, %8 ], [ %0, %5 ] - %10 = phi i32* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i32* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %22, i32 %16) - %24 = bitcast i32* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vmaxswzx.vsvmvl(i32 3, <256 x double> %18, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %25, i64 4, i8* %24, i32 %16) - %26 = getelementptr inbounds i32, i32* %9, i64 256 - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmaxswzx.vsvmvl(i32, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxswzx_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxswzx_vvvl.ll deleted file mode 100644 index 00765971713c..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxswzx_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmaxswzx_vvvl.c' -source_filename = "gen/tests/vmaxswzx_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmaxswzx_vvvl(i32* %0, i32* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vmaxs.w.zx %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %21, %7 ], [ %0, %4 ] - %9 = phi i32* [ %22, %7 ], [ %1, %4 ] - %10 = phi i32* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i32* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %15, i32 %14) - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vmaxswzx.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %19, i64 4, i8* %20, i32 %14) - %21 = getelementptr inbounds i32, i32* %8, i64 256 - %22 = getelementptr inbounds i32, i32* %9, i64 256 - %23 = getelementptr inbounds i32, i32* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmaxswzx.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxswzx_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxswzx_vvvmvl.ll deleted file mode 100644 index f7eb1aee6d6f..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmaxswzx_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmaxswzx_vvvmvl.c' -source_filename = "gen/tests/vmaxswzx_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmaxswzx_vvvmvl(i32* %0, i32* %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vmaxs.w.zx %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %30, %9 ], [ %0, %6 ] - %11 = phi i32* [ %31, %9 ], [ %1, %6 ] - %12 = phi i32* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi i32* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %19, i32 %18) - %21 = bitcast i32* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast i32* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %26, i32 %18) - %28 = bitcast i32* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vmaxswzx.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %29, i64 4, i8* %28, i32 %18) - %30 = getelementptr inbounds i32, i32* %10, i64 256 - %31 = getelementptr inbounds i32, i32* %11, i64 256 - %32 = getelementptr inbounds i32, i32* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds i32, i32* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmaxswzx.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminsl_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminsl_vsvl.ll deleted file mode 100644 index 8aa3d2143d87..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminsl_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vminsl_vsvl.c' -source_filename = "gen/tests/vminsl_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vminsl_vsvl(i64* %0, i64 %1, i64* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vmins.l %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %18, %7 ], [ %0, %4 ] - %9 = phi i64* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i64* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vminsl.vsvl(i64 %1, <256 x double> %15, i32 %13) - %17 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %16, i64 8, i8* %17, i32 %13) - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = getelementptr inbounds i64, i64* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vminsl.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminsl_vsvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminsl_vsvl_imm.ll deleted file mode 100644 index 7ec131f9a60f..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminsl_vsvl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vminsl_vsvl_imm.c' -source_filename = "gen/tests/vminsl_vsvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vminsl_vsvl_imm(i64* %0, i64* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vmins.l %v0, 3, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i64* [ %17, %6 ], [ %0, %3 ] - %8 = phi i64* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i64* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vminsl.vsvl(i64 3, <256 x double> %14, i32 %12) - %16 = bitcast i64* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %15, i64 8, i8* %16, i32 %12) - %17 = getelementptr inbounds i64, i64* %7, i64 256 - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vminsl.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminsl_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminsl_vsvmvl.ll deleted file mode 100644 index 7dd5813ed538..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminsl_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vminsl_vsvmvl.c' -source_filename = "gen/tests/vminsl_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vminsl_vsvmvl(i64* %0, i64 %1, i64* %2, i32* %3, i64* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vmins.l %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i64* [ %27, %9 ], [ %0, %6 ] - %11 = phi i64* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i64* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i64* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i64* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %23, i32 %17) - %25 = bitcast i64* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vminsl.vsvmvl(i64 %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %26, i64 8, i8* %25, i32 %17) - %27 = getelementptr inbounds i64, i64* %10, i64 256 - %28 = getelementptr inbounds i64, i64* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i64, i64* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vminsl.vsvmvl(i64, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminsl_vsvmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminsl_vsvmvl_imm.ll deleted file mode 100644 index 7d69bfea299e..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminsl_vsvmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vminsl_vsvmvl_imm.c' -source_filename = "gen/tests/vminsl_vsvmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vminsl_vsvmvl_imm(i64* %0, i64* %1, i32* %2, i64* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vmins.l %v2, 3, %v0, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i64* [ %26, %8 ], [ %0, %5 ] - %10 = phi i64* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i64* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast i64* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i64* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %16) - %24 = bitcast i64* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vminsl.vsvmvl(i64 3, <256 x double> %18, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %25, i64 8, i8* %24, i32 %16) - %26 = getelementptr inbounds i64, i64* %9, i64 256 - %27 = getelementptr inbounds i64, i64* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i64, i64* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vminsl.vsvmvl(i64, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminsl_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminsl_vvvl.ll deleted file mode 100644 index ffb779b82c15..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminsl_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vminsl_vvvl.c' -source_filename = "gen/tests/vminsl_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vminsl_vvvl(i64* %0, i64* %1, i64* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vmins.l %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %21, %7 ], [ %0, %4 ] - %9 = phi i64* [ %22, %7 ], [ %1, %4 ] - %10 = phi i64* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i64* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = bitcast i64* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vminsl.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %19, i64 8, i8* %20, i32 %14) - %21 = getelementptr inbounds i64, i64* %8, i64 256 - %22 = getelementptr inbounds i64, i64* %9, i64 256 - %23 = getelementptr inbounds i64, i64* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vminsl.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminsl_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminsl_vvvmvl.ll deleted file mode 100644 index 2ff5cb191de7..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminsl_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vminsl_vvvmvl.c' -source_filename = "gen/tests/vminsl_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vminsl_vvvmvl(i64* %0, i64* %1, i64* %2, i32* %3, i64* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vmins.l %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i64* [ %30, %9 ], [ %0, %6 ] - %11 = phi i64* [ %31, %9 ], [ %1, %6 ] - %12 = phi i64* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi i64* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast i64* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast i64* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast i64* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %26, i32 %18) - %28 = bitcast i64* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vminsl.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %29, i64 8, i8* %28, i32 %18) - %30 = getelementptr inbounds i64, i64* %10, i64 256 - %31 = getelementptr inbounds i64, i64* %11, i64 256 - %32 = getelementptr inbounds i64, i64* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds i64, i64* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vminsl.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminswsx_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminswsx_vsvl.ll deleted file mode 100644 index dfcc55bb7c8c..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminswsx_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vminswsx_vsvl.c' -source_filename = "gen/tests/vminswsx_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vminswsx_vsvl(i32* %0, i32 signext %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vmins.w.sx %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %18, %7 ], [ %0, %4 ] - %9 = phi i32* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i32* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vminswsx.vsvl(i32 %1, <256 x double> %15, i32 %13) - %17 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %16, i64 4, i8* %17, i32 %13) - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = getelementptr inbounds i32, i32* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vminswsx.vsvl(i32, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminswsx_vsvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminswsx_vsvl_imm.ll deleted file mode 100644 index ebb9fe736331..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminswsx_vsvl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vminswsx_vsvl_imm.c' -source_filename = "gen/tests/vminswsx_vsvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vminswsx_vsvl_imm(i32* %0, i32* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vmins.w.sx %v0, 3, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i32* [ %17, %6 ], [ %0, %3 ] - %8 = phi i32* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i32* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vminswsx.vsvl(i32 3, <256 x double> %14, i32 %12) - %16 = bitcast i32* %7 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds i32, i32* %7, i64 256 - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vminswsx.vsvl(i32, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminswsx_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminswsx_vsvmvl.ll deleted file mode 100644 index da9540c9330a..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminswsx_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vminswsx_vsvmvl.c' -source_filename = "gen/tests/vminswsx_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vminswsx_vsvmvl(i32* %0, i32 signext %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vmins.w.sx %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %27, %9 ], [ %0, %6 ] - %11 = phi i32* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i32* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i32* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %23, i32 %17) - %25 = bitcast i32* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vminswsx.vsvmvl(i32 %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %26, i64 4, i8* %25, i32 %17) - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i32, i32* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vminswsx.vsvmvl(i32, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminswsx_vsvmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminswsx_vsvmvl_imm.ll deleted file mode 100644 index 2d32bb5e2933..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminswsx_vsvmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vminswsx_vsvmvl_imm.c' -source_filename = "gen/tests/vminswsx_vsvmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vminswsx_vsvmvl_imm(i32* %0, i32* %1, i32* %2, i32* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vmins.w.sx %v2, 3, %v0, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i32* [ %26, %8 ], [ %0, %5 ] - %10 = phi i32* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i32* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %22, i32 %16) - %24 = bitcast i32* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vminswsx.vsvmvl(i32 3, <256 x double> %18, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %25, i64 4, i8* %24, i32 %16) - %26 = getelementptr inbounds i32, i32* %9, i64 256 - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vminswsx.vsvmvl(i32, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminswsx_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminswsx_vvvl.ll deleted file mode 100644 index 63cc953de48e..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminswsx_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vminswsx_vvvl.c' -source_filename = "gen/tests/vminswsx_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vminswsx_vvvl(i32* %0, i32* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vmins.w.sx %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %21, %7 ], [ %0, %4 ] - %9 = phi i32* [ %22, %7 ], [ %1, %4 ] - %10 = phi i32* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i32* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %15, i32 %14) - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vminswsx.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %19, i64 4, i8* %20, i32 %14) - %21 = getelementptr inbounds i32, i32* %8, i64 256 - %22 = getelementptr inbounds i32, i32* %9, i64 256 - %23 = getelementptr inbounds i32, i32* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vminswsx.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminswsx_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminswsx_vvvmvl.ll deleted file mode 100644 index bcb1d9902b12..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminswsx_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vminswsx_vvvmvl.c' -source_filename = "gen/tests/vminswsx_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vminswsx_vvvmvl(i32* %0, i32* %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vmins.w.sx %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %30, %9 ], [ %0, %6 ] - %11 = phi i32* [ %31, %9 ], [ %1, %6 ] - %12 = phi i32* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi i32* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %19, i32 %18) - %21 = bitcast i32* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast i32* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %26, i32 %18) - %28 = bitcast i32* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vminswsx.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %29, i64 4, i8* %28, i32 %18) - %30 = getelementptr inbounds i32, i32* %10, i64 256 - %31 = getelementptr inbounds i32, i32* %11, i64 256 - %32 = getelementptr inbounds i32, i32* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds i32, i32* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vminswsx.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminswzx_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminswzx_vsvl.ll deleted file mode 100644 index 0df735adaf5f..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminswzx_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vminswzx_vsvl.c' -source_filename = "gen/tests/vminswzx_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vminswzx_vsvl(i32* %0, i32 signext %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vmins.w.zx %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %18, %7 ], [ %0, %4 ] - %9 = phi i32* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i32* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vminswzx.vsvl(i32 %1, <256 x double> %15, i32 %13) - %17 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %16, i64 4, i8* %17, i32 %13) - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = getelementptr inbounds i32, i32* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vminswzx.vsvl(i32, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminswzx_vsvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminswzx_vsvl_imm.ll deleted file mode 100644 index c7eea26e76aa..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminswzx_vsvl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vminswzx_vsvl_imm.c' -source_filename = "gen/tests/vminswzx_vsvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vminswzx_vsvl_imm(i32* %0, i32* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vmins.w.zx %v0, 3, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i32* [ %17, %6 ], [ %0, %3 ] - %8 = phi i32* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i32* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vminswzx.vsvl(i32 3, <256 x double> %14, i32 %12) - %16 = bitcast i32* %7 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds i32, i32* %7, i64 256 - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vminswzx.vsvl(i32, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminswzx_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminswzx_vsvmvl.ll deleted file mode 100644 index 80a3a76c369b..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminswzx_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vminswzx_vsvmvl.c' -source_filename = "gen/tests/vminswzx_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vminswzx_vsvmvl(i32* %0, i32 signext %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vmins.w.zx %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %27, %9 ], [ %0, %6 ] - %11 = phi i32* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i32* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i32* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %23, i32 %17) - %25 = bitcast i32* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vminswzx.vsvmvl(i32 %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %26, i64 4, i8* %25, i32 %17) - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i32, i32* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vminswzx.vsvmvl(i32, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminswzx_vsvmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminswzx_vsvmvl_imm.ll deleted file mode 100644 index d53d4145b8ef..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminswzx_vsvmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vminswzx_vsvmvl_imm.c' -source_filename = "gen/tests/vminswzx_vsvmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vminswzx_vsvmvl_imm(i32* %0, i32* %1, i32* %2, i32* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vmins.w.zx %v2, 3, %v0, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i32* [ %26, %8 ], [ %0, %5 ] - %10 = phi i32* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i32* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %22, i32 %16) - %24 = bitcast i32* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vminswzx.vsvmvl(i32 3, <256 x double> %18, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %25, i64 4, i8* %24, i32 %16) - %26 = getelementptr inbounds i32, i32* %9, i64 256 - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vminswzx.vsvmvl(i32, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminswzx_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminswzx_vvvl.ll deleted file mode 100644 index 8ea73a58330b..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminswzx_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vminswzx_vvvl.c' -source_filename = "gen/tests/vminswzx_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vminswzx_vvvl(i32* %0, i32* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vmins.w.zx %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %21, %7 ], [ %0, %4 ] - %9 = phi i32* [ %22, %7 ], [ %1, %4 ] - %10 = phi i32* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i32* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %15, i32 %14) - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vminswzx.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %19, i64 4, i8* %20, i32 %14) - %21 = getelementptr inbounds i32, i32* %8, i64 256 - %22 = getelementptr inbounds i32, i32* %9, i64 256 - %23 = getelementptr inbounds i32, i32* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vminswzx.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminswzx_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminswzx_vvvmvl.ll deleted file mode 100644 index 4624da009daa..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vminswzx_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vminswzx_vvvmvl.c' -source_filename = "gen/tests/vminswzx_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vminswzx_vvvmvl(i32* %0, i32* %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vmins.w.zx %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %30, %9 ], [ %0, %6 ] - %11 = phi i32* [ %31, %9 ], [ %1, %6 ] - %12 = phi i32* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi i32* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %19, i32 %18) - %21 = bitcast i32* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast i32* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %26, i32 %18) - %28 = bitcast i32* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vminswzx.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %29, i64 4, i8* %28, i32 %18) - %30 = getelementptr inbounds i32, i32* %10, i64 256 - %31 = getelementptr inbounds i32, i32* %11, i64 256 - %32 = getelementptr inbounds i32, i32* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds i32, i32* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vminswzx.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulsl_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulsl_vsvl.ll deleted file mode 100644 index e23d53c01e66..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulsl_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmulsl_vsvl.c' -source_filename = "gen/tests/vmulsl_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmulsl_vsvl(i64* %0, i64 %1, i64* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vmuls.l %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %18, %7 ], [ %0, %4 ] - %9 = phi i64* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i64* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vmulsl.vsvl(i64 %1, <256 x double> %15, i32 %13) - %17 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %16, i64 8, i8* %17, i32 %13) - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = getelementptr inbounds i64, i64* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmulsl.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulsl_vsvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulsl_vsvl_imm.ll deleted file mode 100644 index dab462a8f58b..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulsl_vsvl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmulsl_vsvl_imm.c' -source_filename = "gen/tests/vmulsl_vsvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmulsl_vsvl_imm(i64* %0, i64* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vmuls.l %v0, 3, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i64* [ %17, %6 ], [ %0, %3 ] - %8 = phi i64* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i64* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vmulsl.vsvl(i64 3, <256 x double> %14, i32 %12) - %16 = bitcast i64* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %15, i64 8, i8* %16, i32 %12) - %17 = getelementptr inbounds i64, i64* %7, i64 256 - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmulsl.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulsl_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulsl_vsvmvl.ll deleted file mode 100644 index b2c31c66da3f..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulsl_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmulsl_vsvmvl.c' -source_filename = "gen/tests/vmulsl_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmulsl_vsvmvl(i64* %0, i64 %1, i64* %2, i32* %3, i64* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vmuls.l %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i64* [ %27, %9 ], [ %0, %6 ] - %11 = phi i64* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i64* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i64* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i64* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %23, i32 %17) - %25 = bitcast i64* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vmulsl.vsvmvl(i64 %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %26, i64 8, i8* %25, i32 %17) - %27 = getelementptr inbounds i64, i64* %10, i64 256 - %28 = getelementptr inbounds i64, i64* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i64, i64* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmulsl.vsvmvl(i64, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulsl_vsvmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulsl_vsvmvl_imm.ll deleted file mode 100644 index 752864d18db6..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulsl_vsvmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmulsl_vsvmvl_imm.c' -source_filename = "gen/tests/vmulsl_vsvmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmulsl_vsvmvl_imm(i64* %0, i64* %1, i32* %2, i64* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vmuls.l %v2, 3, %v0, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i64* [ %26, %8 ], [ %0, %5 ] - %10 = phi i64* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i64* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast i64* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i64* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %16) - %24 = bitcast i64* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vmulsl.vsvmvl(i64 3, <256 x double> %18, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %25, i64 8, i8* %24, i32 %16) - %26 = getelementptr inbounds i64, i64* %9, i64 256 - %27 = getelementptr inbounds i64, i64* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i64, i64* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmulsl.vsvmvl(i64, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulsl_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulsl_vvvl.ll deleted file mode 100644 index 143c39a07946..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulsl_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmulsl_vvvl.c' -source_filename = "gen/tests/vmulsl_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmulsl_vvvl(i64* %0, i64* %1, i64* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vmuls.l %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %21, %7 ], [ %0, %4 ] - %9 = phi i64* [ %22, %7 ], [ %1, %4 ] - %10 = phi i64* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i64* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = bitcast i64* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vmulsl.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %19, i64 8, i8* %20, i32 %14) - %21 = getelementptr inbounds i64, i64* %8, i64 256 - %22 = getelementptr inbounds i64, i64* %9, i64 256 - %23 = getelementptr inbounds i64, i64* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmulsl.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulsl_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulsl_vvvmvl.ll deleted file mode 100644 index da198e2fdb26..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulsl_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmulsl_vvvmvl.c' -source_filename = "gen/tests/vmulsl_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmulsl_vvvmvl(i64* %0, i64* %1, i64* %2, i32* %3, i64* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vmuls.l %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i64* [ %30, %9 ], [ %0, %6 ] - %11 = phi i64* [ %31, %9 ], [ %1, %6 ] - %12 = phi i64* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi i64* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast i64* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast i64* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast i64* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %26, i32 %18) - %28 = bitcast i64* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vmulsl.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %29, i64 8, i8* %28, i32 %18) - %30 = getelementptr inbounds i64, i64* %10, i64 256 - %31 = getelementptr inbounds i64, i64* %11, i64 256 - %32 = getelementptr inbounds i64, i64* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds i64, i64* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmulsl.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulslw_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulslw_vsvl.ll deleted file mode 100644 index 81069594b276..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulslw_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmulslw_vsvl.c' -source_filename = "gen/tests/vmulslw_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmulslw_vsvl(i64* %0, i32 signext %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vmuls.l.w %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %18, %7 ], [ %0, %4 ] - %9 = phi i32* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i32* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vmulslw.vsvl(i32 %1, <256 x double> %15, i32 %13) - %17 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %16, i64 8, i8* %17, i32 %13) - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = getelementptr inbounds i32, i32* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmulslw.vsvl(i32, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulslw_vsvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulslw_vsvl_imm.ll deleted file mode 100644 index c8a12661c6b2..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulslw_vsvl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmulslw_vsvl_imm.c' -source_filename = "gen/tests/vmulslw_vsvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmulslw_vsvl_imm(i64* %0, i32* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vmuls.l.w %v0, 3, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i64* [ %17, %6 ], [ %0, %3 ] - %8 = phi i32* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i32* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vmulslw.vsvl(i32 3, <256 x double> %14, i32 %12) - %16 = bitcast i64* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %15, i64 8, i8* %16, i32 %12) - %17 = getelementptr inbounds i64, i64* %7, i64 256 - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmulslw.vsvl(i32, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulslw_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulslw_vvvl.ll deleted file mode 100644 index 4ff14b0de0bb..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulslw_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmulslw_vvvl.c' -source_filename = "gen/tests/vmulslw_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmulslw_vvvl(i64* %0, i32* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vmuls.l.w %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %21, %7 ], [ %0, %4 ] - %9 = phi i32* [ %22, %7 ], [ %1, %4 ] - %10 = phi i32* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i32* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %15, i32 %14) - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vmulslw.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %19, i64 8, i8* %20, i32 %14) - %21 = getelementptr inbounds i64, i64* %8, i64 256 - %22 = getelementptr inbounds i32, i32* %9, i64 256 - %23 = getelementptr inbounds i32, i32* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmulslw.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulswsx_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulswsx_vsvl.ll deleted file mode 100644 index 1a1ab235071f..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulswsx_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmulswsx_vsvl.c' -source_filename = "gen/tests/vmulswsx_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmulswsx_vsvl(i32* %0, i32 signext %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vmuls.w.sx %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %18, %7 ], [ %0, %4 ] - %9 = phi i32* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i32* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vmulswsx.vsvl(i32 %1, <256 x double> %15, i32 %13) - %17 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %16, i64 4, i8* %17, i32 %13) - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = getelementptr inbounds i32, i32* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmulswsx.vsvl(i32, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulswsx_vsvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulswsx_vsvl_imm.ll deleted file mode 100644 index 40379977a9c1..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulswsx_vsvl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmulswsx_vsvl_imm.c' -source_filename = "gen/tests/vmulswsx_vsvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmulswsx_vsvl_imm(i32* %0, i32* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vmuls.w.sx %v0, 3, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i32* [ %17, %6 ], [ %0, %3 ] - %8 = phi i32* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i32* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vmulswsx.vsvl(i32 3, <256 x double> %14, i32 %12) - %16 = bitcast i32* %7 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds i32, i32* %7, i64 256 - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmulswsx.vsvl(i32, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulswsx_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulswsx_vsvmvl.ll deleted file mode 100644 index 677655c9d91c..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulswsx_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmulswsx_vsvmvl.c' -source_filename = "gen/tests/vmulswsx_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmulswsx_vsvmvl(i32* %0, i32 signext %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vmuls.w.sx %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %27, %9 ], [ %0, %6 ] - %11 = phi i32* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i32* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i32* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %23, i32 %17) - %25 = bitcast i32* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vmulswsx.vsvmvl(i32 %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %26, i64 4, i8* %25, i32 %17) - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i32, i32* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmulswsx.vsvmvl(i32, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulswsx_vsvmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulswsx_vsvmvl_imm.ll deleted file mode 100644 index 5594f11684ce..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulswsx_vsvmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmulswsx_vsvmvl_imm.c' -source_filename = "gen/tests/vmulswsx_vsvmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmulswsx_vsvmvl_imm(i32* %0, i32* %1, i32* %2, i32* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vmuls.w.sx %v2, 3, %v0, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i32* [ %26, %8 ], [ %0, %5 ] - %10 = phi i32* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i32* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %22, i32 %16) - %24 = bitcast i32* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vmulswsx.vsvmvl(i32 3, <256 x double> %18, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %25, i64 4, i8* %24, i32 %16) - %26 = getelementptr inbounds i32, i32* %9, i64 256 - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmulswsx.vsvmvl(i32, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulswsx_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulswsx_vvvl.ll deleted file mode 100644 index cb83a46e75f2..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulswsx_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmulswsx_vvvl.c' -source_filename = "gen/tests/vmulswsx_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmulswsx_vvvl(i32* %0, i32* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vmuls.w.sx %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %21, %7 ], [ %0, %4 ] - %9 = phi i32* [ %22, %7 ], [ %1, %4 ] - %10 = phi i32* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i32* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %15, i32 %14) - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vmulswsx.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %19, i64 4, i8* %20, i32 %14) - %21 = getelementptr inbounds i32, i32* %8, i64 256 - %22 = getelementptr inbounds i32, i32* %9, i64 256 - %23 = getelementptr inbounds i32, i32* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmulswsx.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulswsx_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulswsx_vvvmvl.ll deleted file mode 100644 index 2c336fde9ab5..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulswsx_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmulswsx_vvvmvl.c' -source_filename = "gen/tests/vmulswsx_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmulswsx_vvvmvl(i32* %0, i32* %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vmuls.w.sx %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %30, %9 ], [ %0, %6 ] - %11 = phi i32* [ %31, %9 ], [ %1, %6 ] - %12 = phi i32* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi i32* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %19, i32 %18) - %21 = bitcast i32* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast i32* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %26, i32 %18) - %28 = bitcast i32* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vmulswsx.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %29, i64 4, i8* %28, i32 %18) - %30 = getelementptr inbounds i32, i32* %10, i64 256 - %31 = getelementptr inbounds i32, i32* %11, i64 256 - %32 = getelementptr inbounds i32, i32* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds i32, i32* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmulswsx.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulswzx_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulswzx_vsvl.ll deleted file mode 100644 index 25fd14150da1..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulswzx_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmulswzx_vsvl.c' -source_filename = "gen/tests/vmulswzx_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmulswzx_vsvl(i32* %0, i32 signext %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vmuls.w.zx %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %18, %7 ], [ %0, %4 ] - %9 = phi i32* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i32* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vmulswzx.vsvl(i32 %1, <256 x double> %15, i32 %13) - %17 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %16, i64 4, i8* %17, i32 %13) - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = getelementptr inbounds i32, i32* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmulswzx.vsvl(i32, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulswzx_vsvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulswzx_vsvl_imm.ll deleted file mode 100644 index 0ed8cced85a8..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulswzx_vsvl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmulswzx_vsvl_imm.c' -source_filename = "gen/tests/vmulswzx_vsvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmulswzx_vsvl_imm(i32* %0, i32* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vmuls.w.zx %v0, 3, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i32* [ %17, %6 ], [ %0, %3 ] - %8 = phi i32* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i32* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vmulswzx.vsvl(i32 3, <256 x double> %14, i32 %12) - %16 = bitcast i32* %7 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds i32, i32* %7, i64 256 - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmulswzx.vsvl(i32, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulswzx_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulswzx_vsvmvl.ll deleted file mode 100644 index 8d9b8e9c3d84..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulswzx_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmulswzx_vsvmvl.c' -source_filename = "gen/tests/vmulswzx_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmulswzx_vsvmvl(i32* %0, i32 signext %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vmuls.w.zx %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %27, %9 ], [ %0, %6 ] - %11 = phi i32* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i32* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i32* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %23, i32 %17) - %25 = bitcast i32* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vmulswzx.vsvmvl(i32 %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %26, i64 4, i8* %25, i32 %17) - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i32, i32* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmulswzx.vsvmvl(i32, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulswzx_vsvmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulswzx_vsvmvl_imm.ll deleted file mode 100644 index 526bc0324e21..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulswzx_vsvmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmulswzx_vsvmvl_imm.c' -source_filename = "gen/tests/vmulswzx_vsvmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmulswzx_vsvmvl_imm(i32* %0, i32* %1, i32* %2, i32* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vmuls.w.zx %v2, 3, %v0, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i32* [ %26, %8 ], [ %0, %5 ] - %10 = phi i32* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i32* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %22, i32 %16) - %24 = bitcast i32* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vmulswzx.vsvmvl(i32 3, <256 x double> %18, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %25, i64 4, i8* %24, i32 %16) - %26 = getelementptr inbounds i32, i32* %9, i64 256 - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmulswzx.vsvmvl(i32, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulswzx_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulswzx_vvvl.ll deleted file mode 100644 index 7048288ae4ab..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulswzx_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmulswzx_vvvl.c' -source_filename = "gen/tests/vmulswzx_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmulswzx_vvvl(i32* %0, i32* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vmuls.w.zx %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %21, %7 ], [ %0, %4 ] - %9 = phi i32* [ %22, %7 ], [ %1, %4 ] - %10 = phi i32* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i32* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %15, i32 %14) - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vmulswzx.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %19, i64 4, i8* %20, i32 %14) - %21 = getelementptr inbounds i32, i32* %8, i64 256 - %22 = getelementptr inbounds i32, i32* %9, i64 256 - %23 = getelementptr inbounds i32, i32* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmulswzx.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulswzx_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulswzx_vvvmvl.ll deleted file mode 100644 index a7329acf8f71..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulswzx_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmulswzx_vvvmvl.c' -source_filename = "gen/tests/vmulswzx_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmulswzx_vvvmvl(i32* %0, i32* %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vmuls.w.zx %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %30, %9 ], [ %0, %6 ] - %11 = phi i32* [ %31, %9 ], [ %1, %6 ] - %12 = phi i32* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi i32* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %19, i32 %18) - %21 = bitcast i32* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast i32* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %26, i32 %18) - %28 = bitcast i32* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vmulswzx.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %29, i64 4, i8* %28, i32 %18) - %30 = getelementptr inbounds i32, i32* %10, i64 256 - %31 = getelementptr inbounds i32, i32* %11, i64 256 - %32 = getelementptr inbounds i32, i32* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds i32, i32* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmulswzx.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulul_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulul_vsvl.ll deleted file mode 100644 index c07b44cb8b0d..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulul_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmulul_vsvl.c' -source_filename = "gen/tests/vmulul_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmulul_vsvl(i64* %0, i64 %1, i64* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vmulu.l %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %18, %7 ], [ %0, %4 ] - %9 = phi i64* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i64* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vmulul.vsvl(i64 %1, <256 x double> %15, i32 %13) - %17 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %16, i64 8, i8* %17, i32 %13) - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = getelementptr inbounds i64, i64* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmulul.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulul_vsvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulul_vsvl_imm.ll deleted file mode 100644 index 7891900a68d4..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulul_vsvl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmulul_vsvl_imm.c' -source_filename = "gen/tests/vmulul_vsvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmulul_vsvl_imm(i64* %0, i64* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vmulu.l %v0, 3, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i64* [ %17, %6 ], [ %0, %3 ] - %8 = phi i64* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i64* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vmulul.vsvl(i64 3, <256 x double> %14, i32 %12) - %16 = bitcast i64* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %15, i64 8, i8* %16, i32 %12) - %17 = getelementptr inbounds i64, i64* %7, i64 256 - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmulul.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulul_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulul_vsvmvl.ll deleted file mode 100644 index a96c763185c0..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulul_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmulul_vsvmvl.c' -source_filename = "gen/tests/vmulul_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmulul_vsvmvl(i64* %0, i64 %1, i64* %2, i32* %3, i64* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vmulu.l %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i64* [ %27, %9 ], [ %0, %6 ] - %11 = phi i64* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i64* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i64* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i64* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %23, i32 %17) - %25 = bitcast i64* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vmulul.vsvmvl(i64 %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %26, i64 8, i8* %25, i32 %17) - %27 = getelementptr inbounds i64, i64* %10, i64 256 - %28 = getelementptr inbounds i64, i64* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i64, i64* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmulul.vsvmvl(i64, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulul_vsvmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulul_vsvmvl_imm.ll deleted file mode 100644 index faa34fc923e8..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulul_vsvmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmulul_vsvmvl_imm.c' -source_filename = "gen/tests/vmulul_vsvmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmulul_vsvmvl_imm(i64* %0, i64* %1, i32* %2, i64* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vmulu.l %v2, 3, %v0, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i64* [ %26, %8 ], [ %0, %5 ] - %10 = phi i64* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i64* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast i64* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i64* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %16) - %24 = bitcast i64* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vmulul.vsvmvl(i64 3, <256 x double> %18, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %25, i64 8, i8* %24, i32 %16) - %26 = getelementptr inbounds i64, i64* %9, i64 256 - %27 = getelementptr inbounds i64, i64* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i64, i64* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmulul.vsvmvl(i64, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulul_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulul_vvvl.ll deleted file mode 100644 index 14fa0bb45fc7..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulul_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmulul_vvvl.c' -source_filename = "gen/tests/vmulul_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmulul_vvvl(i64* %0, i64* %1, i64* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vmulu.l %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %21, %7 ], [ %0, %4 ] - %9 = phi i64* [ %22, %7 ], [ %1, %4 ] - %10 = phi i64* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i64* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = bitcast i64* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vmulul.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %19, i64 8, i8* %20, i32 %14) - %21 = getelementptr inbounds i64, i64* %8, i64 256 - %22 = getelementptr inbounds i64, i64* %9, i64 256 - %23 = getelementptr inbounds i64, i64* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmulul.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulul_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulul_vvvmvl.ll deleted file mode 100644 index 4f0f811cd26d..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmulul_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmulul_vvvmvl.c' -source_filename = "gen/tests/vmulul_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmulul_vvvmvl(i64* %0, i64* %1, i64* %2, i32* %3, i64* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vmulu.l %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i64* [ %30, %9 ], [ %0, %6 ] - %11 = phi i64* [ %31, %9 ], [ %1, %6 ] - %12 = phi i64* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi i64* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast i64* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast i64* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast i64* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %26, i32 %18) - %28 = bitcast i64* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vmulul.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %29, i64 8, i8* %28, i32 %18) - %30 = getelementptr inbounds i64, i64* %10, i64 256 - %31 = getelementptr inbounds i64, i64* %11, i64 256 - %32 = getelementptr inbounds i64, i64* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds i64, i64* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmulul.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmuluw_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmuluw_vsvl.ll deleted file mode 100644 index ba72ec4c080e..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmuluw_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmuluw_vsvl.c' -source_filename = "gen/tests/vmuluw_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmuluw_vsvl(i32* %0, i32 zeroext %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vmulu.w %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %18, %7 ], [ %0, %4 ] - %9 = phi i32* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i32* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vmuluw.vsvl(i32 %1, <256 x double> %15, i32 %13) - %17 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %16, i64 4, i8* %17, i32 %13) - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = getelementptr inbounds i32, i32* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmuluw.vsvl(i32, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmuluw_vsvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmuluw_vsvl_imm.ll deleted file mode 100644 index f7cfeb8c6f2b..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmuluw_vsvl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmuluw_vsvl_imm.c' -source_filename = "gen/tests/vmuluw_vsvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmuluw_vsvl_imm(i32* %0, i32* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vmulu.w %v0, 3, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i32* [ %17, %6 ], [ %0, %3 ] - %8 = phi i32* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i32* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vmuluw.vsvl(i32 3, <256 x double> %14, i32 %12) - %16 = bitcast i32* %7 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds i32, i32* %7, i64 256 - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmuluw.vsvl(i32, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmuluw_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmuluw_vsvmvl.ll deleted file mode 100644 index c3dd7aabf010..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmuluw_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmuluw_vsvmvl.c' -source_filename = "gen/tests/vmuluw_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmuluw_vsvmvl(i32* %0, i32 zeroext %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vmulu.w %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %27, %9 ], [ %0, %6 ] - %11 = phi i32* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i32* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i32* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %23, i32 %17) - %25 = bitcast i32* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vmuluw.vsvmvl(i32 %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %26, i64 4, i8* %25, i32 %17) - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i32, i32* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmuluw.vsvmvl(i32, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmuluw_vsvmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmuluw_vsvmvl_imm.ll deleted file mode 100644 index 30d2937f8432..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmuluw_vsvmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmuluw_vsvmvl_imm.c' -source_filename = "gen/tests/vmuluw_vsvmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmuluw_vsvmvl_imm(i32* %0, i32* %1, i32* %2, i32* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vmulu.w %v2, 3, %v0, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i32* [ %26, %8 ], [ %0, %5 ] - %10 = phi i32* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i32* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %22, i32 %16) - %24 = bitcast i32* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vmuluw.vsvmvl(i32 3, <256 x double> %18, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %25, i64 4, i8* %24, i32 %16) - %26 = getelementptr inbounds i32, i32* %9, i64 256 - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmuluw.vsvmvl(i32, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmuluw_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmuluw_vvvl.ll deleted file mode 100644 index 270b1113225d..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmuluw_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmuluw_vvvl.c' -source_filename = "gen/tests/vmuluw_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmuluw_vvvl(i32* %0, i32* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vmulu.w %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %21, %7 ], [ %0, %4 ] - %9 = phi i32* [ %22, %7 ], [ %1, %4 ] - %10 = phi i32* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i32* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %15, i32 %14) - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vmuluw.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %19, i64 4, i8* %20, i32 %14) - %21 = getelementptr inbounds i32, i32* %8, i64 256 - %22 = getelementptr inbounds i32, i32* %9, i64 256 - %23 = getelementptr inbounds i32, i32* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmuluw.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmuluw_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmuluw_vvvmvl.ll deleted file mode 100644 index ca3e60daebec..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vmuluw_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vmuluw_vvvmvl.c' -source_filename = "gen/tests/vmuluw_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vmuluw_vvvmvl(i32* %0, i32* %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vmulu.w %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %30, %9 ], [ %0, %6 ] - %11 = phi i32* [ %31, %9 ], [ %1, %6 ] - %12 = phi i32* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi i32* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %19, i32 %18) - %21 = bitcast i32* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast i32* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %26, i32 %18) - %28 = bitcast i32* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vmuluw.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %29, i64 4, i8* %28, i32 %18) - %30 = getelementptr inbounds i32, i32* %10, i64 256 - %31 = getelementptr inbounds i32, i32* %11, i64 256 - %32 = getelementptr inbounds i32, i32* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds i32, i32* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vmuluw.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vor_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vor_vsvl.ll deleted file mode 100644 index 3c5059afb381..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vor_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vor_vsvl.c' -source_filename = "gen/tests/vor_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vor_vsvl(i64* %0, i64 %1, i64* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vor %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %18, %7 ], [ %0, %4 ] - %9 = phi i64* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i64* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vor.vsvl(i64 %1, <256 x double> %15, i32 %13) - %17 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %16, i64 8, i8* %17, i32 %13) - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = getelementptr inbounds i64, i64* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vor.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vor_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vor_vsvmvl.ll deleted file mode 100644 index 8b9a1d325e9b..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vor_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vor_vsvmvl.c' -source_filename = "gen/tests/vor_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vor_vsvmvl(i64* %0, i64 %1, i64* %2, i32* %3, i64* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vor %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i64* [ %27, %9 ], [ %0, %6 ] - %11 = phi i64* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i64* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i64* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i64* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %23, i32 %17) - %25 = bitcast i64* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vor.vsvmvl(i64 %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %26, i64 8, i8* %25, i32 %17) - %27 = getelementptr inbounds i64, i64* %10, i64 256 - %28 = getelementptr inbounds i64, i64* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i64, i64* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vor.vsvmvl(i64, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vor_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vor_vvvl.ll deleted file mode 100644 index 321e258286b6..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vor_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vor_vvvl.c' -source_filename = "gen/tests/vor_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vor_vvvl(i64* %0, i64* %1, i64* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vor %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %21, %7 ], [ %0, %4 ] - %9 = phi i64* [ %22, %7 ], [ %1, %4 ] - %10 = phi i64* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i64* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = bitcast i64* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vor.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %19, i64 8, i8* %20, i32 %14) - %21 = getelementptr inbounds i64, i64* %8, i64 256 - %22 = getelementptr inbounds i64, i64* %9, i64 256 - %23 = getelementptr inbounds i64, i64* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vor.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vor_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vor_vvvmvl.ll deleted file mode 100644 index d2c5402c6002..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vor_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vor_vvvmvl.c' -source_filename = "gen/tests/vor_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vor_vvvmvl(i64* %0, i64* %1, i64* %2, i32* %3, i64* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vor %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i64* [ %30, %9 ], [ %0, %6 ] - %11 = phi i64* [ %31, %9 ], [ %1, %6 ] - %12 = phi i64* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi i64* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast i64* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast i64* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast i64* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %26, i32 %18) - %28 = bitcast i64* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vor.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %29, i64 8, i8* %28, i32 %18) - %30 = getelementptr inbounds i64, i64* %10, i64 256 - %31 = getelementptr inbounds i64, i64* %11, i64 256 - %32 = getelementptr inbounds i64, i64* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds i64, i64* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vor.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrand_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrand_vvl.ll deleted file mode 100644 index 84f0c890ebce..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrand_vvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vrand_vvl.c' -source_filename = "gen/tests/vrand_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vrand_vvl(i64* %0, i64* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vrand %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i64* [ %17, %6 ], [ %0, %3 ] - %8 = phi i64* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i64* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vrand.vvl(<256 x double> %14, i32 %12) - %16 = bitcast i64* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %15, i64 8, i8* %16, i32 %12) - %17 = getelementptr inbounds i64, i64* %7, i64 256 - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vrand.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrand_vvml.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrand_vvml.ll deleted file mode 100644 index 92d492b5f2b5..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrand_vvml.ll +++ /dev/null @@ -1,64 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vrand_vvml.c' -source_filename = "gen/tests/vrand_vvml.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vrand_vvml(i64* %0, i64* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vrand %v0, %v0, %vm1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %22, %7 ], [ %0, %4 ] - %9 = phi i64* [ %23, %7 ], [ %1, %4 ] - %10 = phi i32* [ %24, %7 ], [ %2, %4 ] - %11 = phi i32 [ %25, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i64* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %17, i32 %14) - %19 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %18, i32 %14) - %20 = bitcast i64* %8 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vrand.vvml(<256 x double> %16, <256 x i1> %19, i32 %14) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %21, i64 8, i8* %20, i32 %14) - %22 = getelementptr inbounds i64, i64* %8, i64 256 - %23 = getelementptr inbounds i64, i64* %9, i64 256 - %24 = getelementptr inbounds i32, i32* %10, i64 256 - %25 = add nuw nsw i32 %11, 256 - %26 = icmp slt i32 %25, %3 - br i1 %26, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vrand.vvml(<256 x double>, <256 x i1>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrcpd_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrcpd_vvl.ll deleted file mode 100644 index 2c61080f5748..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrcpd_vvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vrcpd_vvl.c' -source_filename = "gen/tests/vrcpd_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vrcpd_vvl(double* %0, double* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vrcp.d %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi double* [ %17, %6 ], [ %0, %3 ] - %8 = phi double* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast double* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vrcpd.vvl(<256 x double> %14, i32 %12) - %16 = bitcast double* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %15, i64 8, i8* %16, i32 %12) - %17 = getelementptr inbounds double, double* %7, i64 256 - %18 = getelementptr inbounds double, double* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vrcpd.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrcps_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrcps_vvl.ll deleted file mode 100644 index 587fd4ad6431..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrcps_vvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vrcps_vvl.c' -source_filename = "gen/tests/vrcps_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vrcps_vvl(float* %0, float* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vrcp.s %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi float* [ %17, %6 ], [ %0, %3 ] - %8 = phi float* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast float* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vrcps.vvl(<256 x double> %14, i32 %12) - %16 = bitcast float* %7 to i8* - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds float, float* %7, i64 256 - %18 = getelementptr inbounds float, float* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vrcps.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrmaxslfst_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrmaxslfst_vvl.ll deleted file mode 100644 index 9181b55fd869..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrmaxslfst_vvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vrmaxslfst_vvl.c' -source_filename = "gen/tests/vrmaxslfst_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vrmaxslfst_vvl(i64* %0, i64* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vrmaxs.l.fst %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i64* [ %17, %6 ], [ %0, %3 ] - %8 = phi i64* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i64* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vrmaxslfst.vvl(<256 x double> %14, i32 %12) - %16 = bitcast i64* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %15, i64 8, i8* %16, i32 %12) - %17 = getelementptr inbounds i64, i64* %7, i64 256 - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vrmaxslfst.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrmaxswfstsx_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrmaxswfstsx_vvl.ll deleted file mode 100644 index 6bee637063f6..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrmaxswfstsx_vvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vrmaxswfstsx_vvl.c' -source_filename = "gen/tests/vrmaxswfstsx_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vrmaxswfstsx_vvl(i32* %0, i32* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vrmaxs.w.fst.sx %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i32* [ %17, %6 ], [ %0, %3 ] - %8 = phi i32* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i32* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vrmaxswfstsx.vvl(<256 x double> %14, i32 %12) - %16 = bitcast i32* %7 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds i32, i32* %7, i64 256 - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vrmaxswfstsx.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrmaxswfstzx_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrmaxswfstzx_vvl.ll deleted file mode 100644 index f65343dc5fe8..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrmaxswfstzx_vvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vrmaxswfstzx_vvl.c' -source_filename = "gen/tests/vrmaxswfstzx_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vrmaxswfstzx_vvl(i32* %0, i32* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vrmaxs.w.fst.zx %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i32* [ %17, %6 ], [ %0, %3 ] - %8 = phi i32* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i32* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vrmaxswfstzx.vvl(<256 x double> %14, i32 %12) - %16 = bitcast i32* %7 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds i32, i32* %7, i64 256 - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vrmaxswfstzx.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrminslfst_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrminslfst_vvl.ll deleted file mode 100644 index 31cef4be6c4e..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrminslfst_vvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vrminslfst_vvl.c' -source_filename = "gen/tests/vrminslfst_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vrminslfst_vvl(i64* %0, i64* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vrmins.l.fst %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i64* [ %17, %6 ], [ %0, %3 ] - %8 = phi i64* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i64* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vrminslfst.vvl(<256 x double> %14, i32 %12) - %16 = bitcast i64* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %15, i64 8, i8* %16, i32 %12) - %17 = getelementptr inbounds i64, i64* %7, i64 256 - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vrminslfst.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrminswfstsx_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrminswfstsx_vvl.ll deleted file mode 100644 index ee8309e16706..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrminswfstsx_vvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vrminswfstsx_vvl.c' -source_filename = "gen/tests/vrminswfstsx_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vrminswfstsx_vvl(i32* %0, i32* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vrmins.w.fst.sx %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i32* [ %17, %6 ], [ %0, %3 ] - %8 = phi i32* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i32* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vrminswfstsx.vvl(<256 x double> %14, i32 %12) - %16 = bitcast i32* %7 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds i32, i32* %7, i64 256 - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vrminswfstsx.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrminswfstzx_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrminswfstzx_vvl.ll deleted file mode 100644 index 438fad0eda13..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrminswfstzx_vvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vrminswfstzx_vvl.c' -source_filename = "gen/tests/vrminswfstzx_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vrminswfstzx_vvl(i32* %0, i32* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vrmins.w.fst.zx %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i32* [ %17, %6 ], [ %0, %3 ] - %8 = phi i32* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i32* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vrminswfstzx.vvl(<256 x double> %14, i32 %12) - %16 = bitcast i32* %7 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds i32, i32* %7, i64 256 - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vrminswfstzx.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vror_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vror_vvl.ll deleted file mode 100644 index bab9a92b1aa2..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vror_vvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vror_vvl.c' -source_filename = "gen/tests/vror_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vror_vvl(i64* %0, i64* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vror %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i64* [ %17, %6 ], [ %0, %3 ] - %8 = phi i64* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i64* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vror.vvl(<256 x double> %14, i32 %12) - %16 = bitcast i64* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %15, i64 8, i8* %16, i32 %12) - %17 = getelementptr inbounds i64, i64* %7, i64 256 - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vror.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vror_vvml.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vror_vvml.ll deleted file mode 100644 index 352d9fc1a7b2..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vror_vvml.ll +++ /dev/null @@ -1,64 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vror_vvml.c' -source_filename = "gen/tests/vror_vvml.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vror_vvml(i64* %0, i64* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vror %v0, %v0, %vm1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %22, %7 ], [ %0, %4 ] - %9 = phi i64* [ %23, %7 ], [ %1, %4 ] - %10 = phi i32* [ %24, %7 ], [ %2, %4 ] - %11 = phi i32 [ %25, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i64* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %17, i32 %14) - %19 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %18, i32 %14) - %20 = bitcast i64* %8 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vror.vvml(<256 x double> %16, <256 x i1> %19, i32 %14) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %21, i64 8, i8* %20, i32 %14) - %22 = getelementptr inbounds i64, i64* %8, i64 256 - %23 = getelementptr inbounds i64, i64* %9, i64 256 - %24 = getelementptr inbounds i32, i32* %10, i64 256 - %25 = add nuw nsw i32 %11, 256 - %26 = icmp slt i32 %25, %3 - br i1 %26, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vror.vvml(<256 x double>, <256 x i1>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrsqrtd_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrsqrtd_vvl.ll deleted file mode 100644 index e8284f9f71a8..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrsqrtd_vvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vrsqrtd_vvl.c' -source_filename = "gen/tests/vrsqrtd_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vrsqrtd_vvl(double* %0, double* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vrsqrt.d %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi double* [ %17, %6 ], [ %0, %3 ] - %8 = phi double* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast double* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vrsqrtd.vvl(<256 x double> %14, i32 %12) - %16 = bitcast double* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %15, i64 8, i8* %16, i32 %12) - %17 = getelementptr inbounds double, double* %7, i64 256 - %18 = getelementptr inbounds double, double* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vrsqrtd.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrsqrtdnex_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrsqrtdnex_vvl.ll deleted file mode 100644 index 62212ffe7107..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrsqrtdnex_vvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vrsqrtdnex_vvl.c' -source_filename = "gen/tests/vrsqrtdnex_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vrsqrtdnex_vvl(double* %0, double* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vrsqrt.d.nex %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi double* [ %17, %6 ], [ %0, %3 ] - %8 = phi double* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast double* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vrsqrtdnex.vvl(<256 x double> %14, i32 %12) - %16 = bitcast double* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %15, i64 8, i8* %16, i32 %12) - %17 = getelementptr inbounds double, double* %7, i64 256 - %18 = getelementptr inbounds double, double* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vrsqrtdnex.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrsqrts_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrsqrts_vvl.ll deleted file mode 100644 index 698c890447b1..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrsqrts_vvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vrsqrts_vvl.c' -source_filename = "gen/tests/vrsqrts_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vrsqrts_vvl(float* %0, float* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vrsqrt.s %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi float* [ %17, %6 ], [ %0, %3 ] - %8 = phi float* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast float* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vrsqrts.vvl(<256 x double> %14, i32 %12) - %16 = bitcast float* %7 to i8* - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds float, float* %7, i64 256 - %18 = getelementptr inbounds float, float* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vrsqrts.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrsqrtsnex_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrsqrtsnex_vvl.ll deleted file mode 100644 index c7e07349a669..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrsqrtsnex_vvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vrsqrtsnex_vvl.c' -source_filename = "gen/tests/vrsqrtsnex_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vrsqrtsnex_vvl(float* %0, float* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vrsqrt.s.nex %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi float* [ %17, %6 ], [ %0, %3 ] - %8 = phi float* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast float* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldu.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vrsqrtsnex.vvl(<256 x double> %14, i32 %12) - %16 = bitcast float* %7 to i8* - tail call void @llvm.ve.vl.vstu.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds float, float* %7, i64 256 - %18 = getelementptr inbounds float, float* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldu.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vrsqrtsnex.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstu.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrxor_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrxor_vvl.ll deleted file mode 100644 index 189f833ca9b2..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrxor_vvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vrxor_vvl.c' -source_filename = "gen/tests/vrxor_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vrxor_vvl(i64* %0, i64* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vrxor %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i64* [ %17, %6 ], [ %0, %3 ] - %8 = phi i64* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i64* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vrxor.vvl(<256 x double> %14, i32 %12) - %16 = bitcast i64* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %15, i64 8, i8* %16, i32 %12) - %17 = getelementptr inbounds i64, i64* %7, i64 256 - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vrxor.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrxor_vvml.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrxor_vvml.ll deleted file mode 100644 index 3d3914eb7ece..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vrxor_vvml.ll +++ /dev/null @@ -1,64 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vrxor_vvml.c' -source_filename = "gen/tests/vrxor_vvml.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vrxor_vvml(i64* %0, i64* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vrxor %v0, %v0, %vm1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %22, %7 ], [ %0, %4 ] - %9 = phi i64* [ %23, %7 ], [ %1, %4 ] - %10 = phi i32* [ %24, %7 ], [ %2, %4 ] - %11 = phi i32 [ %25, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i64* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %17, i32 %14) - %19 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %18, i32 %14) - %20 = bitcast i64* %8 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vrxor.vvml(<256 x double> %16, <256 x i1> %19, i32 %14) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %21, i64 8, i8* %20, i32 %14) - %22 = getelementptr inbounds i64, i64* %8, i64 256 - %23 = getelementptr inbounds i64, i64* %9, i64 256 - %24 = getelementptr inbounds i32, i32* %10, i64 256 - %25 = add nuw nsw i32 %11, 256 - %26 = icmp slt i32 %25, %3 - br i1 %26, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vrxor.vvml(<256 x double>, <256 x i1>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsfa_vvssl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsfa_vvssl.ll deleted file mode 100644 index 10cc5435e390..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsfa_vvssl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsfa_vvssl.c' -source_filename = "gen/tests/vsfa_vvssl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsfa_vvssl(i64* %0, i64* %1, i64 %2, i64 %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vsfa %v0, %v0, %s2, %s3 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i64* [ %19, %8 ], [ %0, %5 ] - %10 = phi i64* [ %20, %8 ], [ %1, %5 ] - %11 = phi i32 [ %21, %8 ], [ 0, %5 ] - %12 = sub nsw i32 %4, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i64* %10 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = tail call <256 x double> @llvm.ve.vl.vsfa.vvssl(<256 x double> %16, i64 %2, i64 %3, i32 %14) - %18 = bitcast i64* %9 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %17, i64 8, i8* %18, i32 %14) - %19 = getelementptr inbounds i64, i64* %9, i64 256 - %20 = getelementptr inbounds i64, i64* %10, i64 256 - %21 = add nuw nsw i32 %11, 256 - %22 = icmp slt i32 %21, %4 - br i1 %22, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsfa.vvssl(<256 x double>, i64, i64, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsfa_vvssl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsfa_vvssl_imm.ll deleted file mode 100644 index 7b1e36b9d61f..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsfa_vvssl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsfa_vvssl_imm.c' -source_filename = "gen/tests/vsfa_vvssl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsfa_vvssl_imm(i64* %0, i64* %1, i64 %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vsfa %v0, %v0, 3, %s2 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %18, %7 ], [ %0, %4 ] - %9 = phi i64* [ %19, %7 ], [ %1, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i64* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vsfa.vvssl(<256 x double> %15, i64 3, i64 %2, i32 %13) - %17 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %16, i64 8, i8* %17, i32 %13) - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = getelementptr inbounds i64, i64* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsfa.vvssl(<256 x double>, i64, i64, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsfa_vvssmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsfa_vvssmvl.ll deleted file mode 100644 index f80d0e7ab1fb..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsfa_vvssmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsfa_vvssmvl.c' -source_filename = "gen/tests/vsfa_vvssmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsfa_vvssmvl(i64* %0, i64* %1, i64 %2, i64 %3, i32* %4, i64* %5, i32 signext %6) local_unnamed_addr #0 { -; CHECK: vsfa %v2, %v0, %s2, %s3, %vm1 - %8 = icmp sgt i32 %6, 0 - br i1 %8, label %10, label %9 - -9: ; preds = %10, %7 - ret void - -10: ; preds = %7, %10 - %11 = phi i64* [ %28, %10 ], [ %0, %7 ] - %12 = phi i64* [ %29, %10 ], [ %1, %7 ] - %13 = phi i32* [ %30, %10 ], [ %4, %7 ] - %14 = phi i64* [ %31, %10 ], [ %5, %7 ] - %15 = phi i32 [ %32, %10 ], [ 0, %7 ] - %16 = sub nsw i32 %6, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast i64* %12 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast i32* %13 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %21, i32 %18) - %23 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %22, i32 %18) - %24 = bitcast i64* %14 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %24, i32 %18) - %26 = bitcast i64* %11 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vsfa.vvssmvl(<256 x double> %20, i64 %2, i64 %3, <256 x i1> %23, <256 x double> %25, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %27, i64 8, i8* %26, i32 %18) - %28 = getelementptr inbounds i64, i64* %11, i64 256 - %29 = getelementptr inbounds i64, i64* %12, i64 256 - %30 = getelementptr inbounds i32, i32* %13, i64 256 - %31 = getelementptr inbounds i64, i64* %14, i64 256 - %32 = add nuw nsw i32 %15, 256 - %33 = icmp slt i32 %32, %6 - br i1 %33, label %10, label %9 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsfa.vvssmvl(<256 x double>, i64, i64, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsfa_vvssmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsfa_vvssmvl_imm.ll deleted file mode 100644 index cbd69b108441..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsfa_vvssmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsfa_vvssmvl_imm.c' -source_filename = "gen/tests/vsfa_vvssmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsfa_vvssmvl_imm(i64* %0, i64* %1, i64 %2, i32* %3, i64* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vsfa %v2, %v0, 3, %s2, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i64* [ %27, %9 ], [ %0, %6 ] - %11 = phi i64* [ %28, %9 ], [ %1, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i64* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i64* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i64* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %23, i32 %17) - %25 = bitcast i64* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vsfa.vvssmvl(<256 x double> %19, i64 3, i64 %2, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %26, i64 8, i8* %25, i32 %17) - %27 = getelementptr inbounds i64, i64* %10, i64 256 - %28 = getelementptr inbounds i64, i64* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i64, i64* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsfa.vvssmvl(<256 x double>, i64, i64, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vshf_vvvsl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vshf_vvvsl.ll deleted file mode 100644 index b3ed3a0036bd..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vshf_vvvsl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vshf_vvvsl.c' -source_filename = "gen/tests/vshf_vvvsl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vshf_vvvsl(i64* %0, i64* %1, i64* %2, i64 %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vshf %v0, %v0, %v1, %s3 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i64* [ %22, %8 ], [ %0, %5 ] - %10 = phi i64* [ %23, %8 ], [ %1, %5 ] - %11 = phi i64* [ %24, %8 ], [ %2, %5 ] - %12 = phi i32 [ %25, %8 ], [ 0, %5 ] - %13 = sub nsw i32 %4, %12 - %14 = icmp slt i32 %13, 256 - %15 = select i1 %14, i32 %13, i32 256 - %16 = bitcast i64* %10 to i8* - %17 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %16, i32 %15) - %18 = bitcast i64* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %15) - %20 = tail call <256 x double> @llvm.ve.vl.vshf.vvvsl(<256 x double> %17, <256 x double> %19, i64 %3, i32 %15) - %21 = bitcast i64* %9 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %20, i64 8, i8* %21, i32 %15) - %22 = getelementptr inbounds i64, i64* %9, i64 256 - %23 = getelementptr inbounds i64, i64* %10, i64 256 - %24 = getelementptr inbounds i64, i64* %11, i64 256 - %25 = add nuw nsw i32 %12, 256 - %26 = icmp slt i32 %25, %4 - br i1 %26, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vshf.vvvsl(<256 x double>, <256 x double>, i64, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vshf_vvvsl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vshf_vvvsl_imm.ll deleted file mode 100644 index 63dae194ac5e..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vshf_vvvsl_imm.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vshf_vvvsl_imm.c' -source_filename = "gen/tests/vshf_vvvsl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vshf_vvvsl_imm(i64* %0, i64* %1, i64* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vshf %v0, %v0, %v1, 3 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %21, %7 ], [ %0, %4 ] - %9 = phi i64* [ %22, %7 ], [ %1, %4 ] - %10 = phi i64* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i64* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = bitcast i64* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vshf.vvvsl(<256 x double> %16, <256 x double> %18, i64 3, i32 %14) - %20 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %19, i64 8, i8* %20, i32 %14) - %21 = getelementptr inbounds i64, i64* %8, i64 256 - %22 = getelementptr inbounds i64, i64* %9, i64 256 - %23 = getelementptr inbounds i64, i64* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vshf.vvvsl(<256 x double>, <256 x double>, i64, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslal_vvsl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslal_vvsl.ll deleted file mode 100644 index 6fc62fb63fa7..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslal_vvsl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vslal_vvsl.c' -source_filename = "gen/tests/vslal_vvsl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vslal_vvsl(i64* %0, i64* %1, i64 %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vsla.l %v0, %v0, %s2 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %18, %7 ], [ %0, %4 ] - %9 = phi i64* [ %19, %7 ], [ %1, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i64* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vslal.vvsl(<256 x double> %15, i64 %2, i32 %13) - %17 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %16, i64 8, i8* %17, i32 %13) - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = getelementptr inbounds i64, i64* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vslal.vvsl(<256 x double>, i64, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslal_vvsl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslal_vvsl_imm.ll deleted file mode 100644 index 6ffaabcda3dd..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslal_vvsl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vslal_vvsl_imm.c' -source_filename = "gen/tests/vslal_vvsl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vslal_vvsl_imm(i64* %0, i64* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vsla.l %v0, %v0, 3 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i64* [ %17, %6 ], [ %0, %3 ] - %8 = phi i64* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i64* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vslal.vvsl(<256 x double> %14, i64 3, i32 %12) - %16 = bitcast i64* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %15, i64 8, i8* %16, i32 %12) - %17 = getelementptr inbounds i64, i64* %7, i64 256 - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vslal.vvsl(<256 x double>, i64, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslal_vvsmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslal_vvsmvl.ll deleted file mode 100644 index d924de321ce7..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslal_vvsmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vslal_vvsmvl.c' -source_filename = "gen/tests/vslal_vvsmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vslal_vvsmvl(i64* %0, i64* %1, i64 %2, i32* %3, i64* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vsla.l %v2, %v0, %s2, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i64* [ %27, %9 ], [ %0, %6 ] - %11 = phi i64* [ %28, %9 ], [ %1, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i64* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i64* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i64* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %23, i32 %17) - %25 = bitcast i64* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vslal.vvsmvl(<256 x double> %19, i64 %2, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %26, i64 8, i8* %25, i32 %17) - %27 = getelementptr inbounds i64, i64* %10, i64 256 - %28 = getelementptr inbounds i64, i64* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i64, i64* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vslal.vvsmvl(<256 x double>, i64, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslal_vvsmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslal_vvsmvl_imm.ll deleted file mode 100644 index 17f803f0ef0f..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslal_vvsmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vslal_vvsmvl_imm.c' -source_filename = "gen/tests/vslal_vvsmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vslal_vvsmvl_imm(i64* %0, i64* %1, i32* %2, i64* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vsla.l %v2, %v0, 3, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i64* [ %26, %8 ], [ %0, %5 ] - %10 = phi i64* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i64* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast i64* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i64* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %16) - %24 = bitcast i64* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vslal.vvsmvl(<256 x double> %18, i64 3, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %25, i64 8, i8* %24, i32 %16) - %26 = getelementptr inbounds i64, i64* %9, i64 256 - %27 = getelementptr inbounds i64, i64* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i64, i64* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vslal.vvsmvl(<256 x double>, i64, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslal_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslal_vvvl.ll deleted file mode 100644 index 3a1ae5d9f4f7..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslal_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vslal_vvvl.c' -source_filename = "gen/tests/vslal_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vslal_vvvl(i64* %0, i64* %1, i64* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vsla.l %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %21, %7 ], [ %0, %4 ] - %9 = phi i64* [ %22, %7 ], [ %1, %4 ] - %10 = phi i64* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i64* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = bitcast i64* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vslal.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %19, i64 8, i8* %20, i32 %14) - %21 = getelementptr inbounds i64, i64* %8, i64 256 - %22 = getelementptr inbounds i64, i64* %9, i64 256 - %23 = getelementptr inbounds i64, i64* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vslal.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslal_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslal_vvvmvl.ll deleted file mode 100644 index 17a765a0073c..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslal_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vslal_vvvmvl.c' -source_filename = "gen/tests/vslal_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vslal_vvvmvl(i64* %0, i64* %1, i64* %2, i32* %3, i64* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vsla.l %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i64* [ %30, %9 ], [ %0, %6 ] - %11 = phi i64* [ %31, %9 ], [ %1, %6 ] - %12 = phi i64* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi i64* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast i64* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast i64* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast i64* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %26, i32 %18) - %28 = bitcast i64* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vslal.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %29, i64 8, i8* %28, i32 %18) - %30 = getelementptr inbounds i64, i64* %10, i64 256 - %31 = getelementptr inbounds i64, i64* %11, i64 256 - %32 = getelementptr inbounds i64, i64* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds i64, i64* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vslal.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslawsx_vvsl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslawsx_vvsl.ll deleted file mode 100644 index 986a6bfd60b5..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslawsx_vvsl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vslawsx_vvsl.c' -source_filename = "gen/tests/vslawsx_vvsl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vslawsx_vvsl(i32* %0, i32* %1, i32 %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vsla.w.sx %v0, %v0, %s2 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %18, %7 ], [ %0, %4 ] - %9 = phi i32* [ %19, %7 ], [ %1, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i32* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vslawsx.vvsl(<256 x double> %15, i32 %2, i32 %13) - %17 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %16, i64 4, i8* %17, i32 %13) - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = getelementptr inbounds i32, i32* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vslawsx.vvsl(<256 x double>, i32, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslawsx_vvsl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslawsx_vvsl_imm.ll deleted file mode 100644 index 4cac6109559d..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslawsx_vvsl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vslawsx_vvsl_imm.c' -source_filename = "gen/tests/vslawsx_vvsl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vslawsx_vvsl_imm(i32* %0, i32* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vsla.w.sx %v0, %v0, 3 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i32* [ %17, %6 ], [ %0, %3 ] - %8 = phi i32* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i32* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vslawsx.vvsl(<256 x double> %14, i32 3, i32 %12) - %16 = bitcast i32* %7 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds i32, i32* %7, i64 256 - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vslawsx.vvsl(<256 x double>, i32, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslawsx_vvsmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslawsx_vvsmvl.ll deleted file mode 100644 index 0714fe0010fd..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslawsx_vvsmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vslawsx_vvsmvl.c' -source_filename = "gen/tests/vslawsx_vvsmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vslawsx_vvsmvl(i32* %0, i32* %1, i32 %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vsla.w.sx %v2, %v0, %s2, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %27, %9 ], [ %0, %6 ] - %11 = phi i32* [ %28, %9 ], [ %1, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i32* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i32* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %23, i32 %17) - %25 = bitcast i32* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vslawsx.vvsmvl(<256 x double> %19, i32 %2, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %26, i64 4, i8* %25, i32 %17) - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i32, i32* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vslawsx.vvsmvl(<256 x double>, i32, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslawsx_vvsmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslawsx_vvsmvl_imm.ll deleted file mode 100644 index 8e3e9c78f560..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslawsx_vvsmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vslawsx_vvsmvl_imm.c' -source_filename = "gen/tests/vslawsx_vvsmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vslawsx_vvsmvl_imm(i32* %0, i32* %1, i32* %2, i32* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vsla.w.sx %v2, %v0, 3, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i32* [ %26, %8 ], [ %0, %5 ] - %10 = phi i32* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i32* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %22, i32 %16) - %24 = bitcast i32* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vslawsx.vvsmvl(<256 x double> %18, i32 3, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %25, i64 4, i8* %24, i32 %16) - %26 = getelementptr inbounds i32, i32* %9, i64 256 - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vslawsx.vvsmvl(<256 x double>, i32, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslawsx_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslawsx_vvvl.ll deleted file mode 100644 index cda382b6a4a6..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslawsx_vvvl.ll +++ /dev/null @@ -1,60 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vslawsx_vvvl.c' -source_filename = "gen/tests/vslawsx_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vslawsx_vvvl(i32* %0, i32* %1, i64* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vsla.w.sx %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %21, %7 ], [ %0, %4 ] - %9 = phi i32* [ %22, %7 ], [ %1, %4 ] - %10 = phi i64* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i32* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %15, i32 %14) - %17 = bitcast i64* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vslawsx.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %19, i64 4, i8* %20, i32 %14) - %21 = getelementptr inbounds i32, i32* %8, i64 256 - %22 = getelementptr inbounds i32, i32* %9, i64 256 - %23 = getelementptr inbounds i64, i64* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vslawsx.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslawsx_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslawsx_vvvmvl.ll deleted file mode 100644 index bf67d16dd668..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslawsx_vvvmvl.ll +++ /dev/null @@ -1,75 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vslawsx_vvvmvl.c' -source_filename = "gen/tests/vslawsx_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vslawsx_vvvmvl(i32* %0, i32* %1, i64* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vsla.w.sx %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %30, %9 ], [ %0, %6 ] - %11 = phi i32* [ %31, %9 ], [ %1, %6 ] - %12 = phi i64* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi i32* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %19, i32 %18) - %21 = bitcast i64* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast i32* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %26, i32 %18) - %28 = bitcast i32* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vslawsx.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %29, i64 4, i8* %28, i32 %18) - %30 = getelementptr inbounds i32, i32* %10, i64 256 - %31 = getelementptr inbounds i32, i32* %11, i64 256 - %32 = getelementptr inbounds i64, i64* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds i32, i32* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vslawsx.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslawzx_vvsl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslawzx_vvsl.ll deleted file mode 100644 index 556995cba77b..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslawzx_vvsl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vslawzx_vvsl.c' -source_filename = "gen/tests/vslawzx_vvsl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vslawzx_vvsl(i32* %0, i32* %1, i32 %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vsla.w.zx %v0, %v0, %s2 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %18, %7 ], [ %0, %4 ] - %9 = phi i32* [ %19, %7 ], [ %1, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i32* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vslawzx.vvsl(<256 x double> %15, i32 %2, i32 %13) - %17 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %16, i64 4, i8* %17, i32 %13) - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = getelementptr inbounds i32, i32* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vslawzx.vvsl(<256 x double>, i32, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslawzx_vvsl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslawzx_vvsl_imm.ll deleted file mode 100644 index 8fc69c45b8cb..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslawzx_vvsl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vslawzx_vvsl_imm.c' -source_filename = "gen/tests/vslawzx_vvsl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vslawzx_vvsl_imm(i32* %0, i32* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vsla.w.zx %v0, %v0, 3 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i32* [ %17, %6 ], [ %0, %3 ] - %8 = phi i32* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i32* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vslawzx.vvsl(<256 x double> %14, i32 3, i32 %12) - %16 = bitcast i32* %7 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds i32, i32* %7, i64 256 - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vslawzx.vvsl(<256 x double>, i32, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslawzx_vvsmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslawzx_vvsmvl.ll deleted file mode 100644 index b15c869fc892..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslawzx_vvsmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vslawzx_vvsmvl.c' -source_filename = "gen/tests/vslawzx_vvsmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vslawzx_vvsmvl(i32* %0, i32* %1, i32 %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vsla.w.zx %v2, %v0, %s2, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %27, %9 ], [ %0, %6 ] - %11 = phi i32* [ %28, %9 ], [ %1, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i32* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i32* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %23, i32 %17) - %25 = bitcast i32* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vslawzx.vvsmvl(<256 x double> %19, i32 %2, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %26, i64 4, i8* %25, i32 %17) - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i32, i32* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vslawzx.vvsmvl(<256 x double>, i32, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslawzx_vvsmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslawzx_vvsmvl_imm.ll deleted file mode 100644 index 70f432bea634..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslawzx_vvsmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vslawzx_vvsmvl_imm.c' -source_filename = "gen/tests/vslawzx_vvsmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vslawzx_vvsmvl_imm(i32* %0, i32* %1, i32* %2, i32* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vsla.w.zx %v2, %v0, 3, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i32* [ %26, %8 ], [ %0, %5 ] - %10 = phi i32* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i32* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %22, i32 %16) - %24 = bitcast i32* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vslawzx.vvsmvl(<256 x double> %18, i32 3, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %25, i64 4, i8* %24, i32 %16) - %26 = getelementptr inbounds i32, i32* %9, i64 256 - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vslawzx.vvsmvl(<256 x double>, i32, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslawzx_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslawzx_vvvl.ll deleted file mode 100644 index 70d4fbb46d97..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslawzx_vvvl.ll +++ /dev/null @@ -1,60 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vslawzx_vvvl.c' -source_filename = "gen/tests/vslawzx_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vslawzx_vvvl(i32* %0, i32* %1, i64* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vsla.w.zx %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %21, %7 ], [ %0, %4 ] - %9 = phi i32* [ %22, %7 ], [ %1, %4 ] - %10 = phi i64* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i32* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %15, i32 %14) - %17 = bitcast i64* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vslawzx.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %19, i64 4, i8* %20, i32 %14) - %21 = getelementptr inbounds i32, i32* %8, i64 256 - %22 = getelementptr inbounds i32, i32* %9, i64 256 - %23 = getelementptr inbounds i64, i64* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vslawzx.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslawzx_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslawzx_vvvmvl.ll deleted file mode 100644 index fc77d88e4dd2..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vslawzx_vvvmvl.ll +++ /dev/null @@ -1,75 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vslawzx_vvvmvl.c' -source_filename = "gen/tests/vslawzx_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vslawzx_vvvmvl(i32* %0, i32* %1, i64* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vsla.w.zx %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %30, %9 ], [ %0, %6 ] - %11 = phi i32* [ %31, %9 ], [ %1, %6 ] - %12 = phi i64* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi i32* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %19, i32 %18) - %21 = bitcast i64* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast i32* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %26, i32 %18) - %28 = bitcast i32* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vslawzx.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %29, i64 4, i8* %28, i32 %18) - %30 = getelementptr inbounds i32, i32* %10, i64 256 - %31 = getelementptr inbounds i32, i32* %11, i64 256 - %32 = getelementptr inbounds i64, i64* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds i32, i32* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vslawzx.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsll_vvsl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsll_vvsl.ll deleted file mode 100644 index a33f5b89b8e3..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsll_vvsl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsll_vvsl.c' -source_filename = "gen/tests/vsll_vvsl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsll_vvsl(i64* %0, i64* %1, i64 %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vsll %v0, %v0, %s2 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %18, %7 ], [ %0, %4 ] - %9 = phi i64* [ %19, %7 ], [ %1, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i64* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vsll.vvsl(<256 x double> %15, i64 %2, i32 %13) - %17 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %16, i64 8, i8* %17, i32 %13) - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = getelementptr inbounds i64, i64* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsll.vvsl(<256 x double>, i64, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsll_vvsl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsll_vvsl_imm.ll deleted file mode 100644 index 1e64a26f6afd..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsll_vvsl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsll_vvsl_imm.c' -source_filename = "gen/tests/vsll_vvsl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsll_vvsl_imm(i64* %0, i64* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vsll %v0, %v0, 3 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i64* [ %17, %6 ], [ %0, %3 ] - %8 = phi i64* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i64* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vsll.vvsl(<256 x double> %14, i64 3, i32 %12) - %16 = bitcast i64* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %15, i64 8, i8* %16, i32 %12) - %17 = getelementptr inbounds i64, i64* %7, i64 256 - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsll.vvsl(<256 x double>, i64, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsll_vvsmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsll_vvsmvl.ll deleted file mode 100644 index 9bbb6172f297..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsll_vvsmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsll_vvsmvl.c' -source_filename = "gen/tests/vsll_vvsmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsll_vvsmvl(i64* %0, i64* %1, i64 %2, i32* %3, i64* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vsll %v2, %v0, %s2, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i64* [ %27, %9 ], [ %0, %6 ] - %11 = phi i64* [ %28, %9 ], [ %1, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i64* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i64* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i64* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %23, i32 %17) - %25 = bitcast i64* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vsll.vvsmvl(<256 x double> %19, i64 %2, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %26, i64 8, i8* %25, i32 %17) - %27 = getelementptr inbounds i64, i64* %10, i64 256 - %28 = getelementptr inbounds i64, i64* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i64, i64* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsll.vvsmvl(<256 x double>, i64, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsll_vvsmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsll_vvsmvl_imm.ll deleted file mode 100644 index b915f81a6b81..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsll_vvsmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsll_vvsmvl_imm.c' -source_filename = "gen/tests/vsll_vvsmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsll_vvsmvl_imm(i64* %0, i64* %1, i32* %2, i64* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vsll %v2, %v0, 3, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i64* [ %26, %8 ], [ %0, %5 ] - %10 = phi i64* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i64* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast i64* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i64* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %16) - %24 = bitcast i64* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vsll.vvsmvl(<256 x double> %18, i64 3, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %25, i64 8, i8* %24, i32 %16) - %26 = getelementptr inbounds i64, i64* %9, i64 256 - %27 = getelementptr inbounds i64, i64* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i64, i64* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsll.vvsmvl(<256 x double>, i64, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsll_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsll_vvvl.ll deleted file mode 100644 index 6c5f2de96b6c..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsll_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsll_vvvl.c' -source_filename = "gen/tests/vsll_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsll_vvvl(i64* %0, i64* %1, i64* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vsll %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %21, %7 ], [ %0, %4 ] - %9 = phi i64* [ %22, %7 ], [ %1, %4 ] - %10 = phi i64* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i64* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = bitcast i64* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vsll.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %19, i64 8, i8* %20, i32 %14) - %21 = getelementptr inbounds i64, i64* %8, i64 256 - %22 = getelementptr inbounds i64, i64* %9, i64 256 - %23 = getelementptr inbounds i64, i64* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsll.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsll_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsll_vvvmvl.ll deleted file mode 100644 index d4bb938fed3c..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsll_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsll_vvvmvl.c' -source_filename = "gen/tests/vsll_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsll_vvvmvl(i64* %0, i64* %1, i64* %2, i32* %3, i64* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vsll %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i64* [ %30, %9 ], [ %0, %6 ] - %11 = phi i64* [ %31, %9 ], [ %1, %6 ] - %12 = phi i64* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi i64* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast i64* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast i64* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast i64* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %26, i32 %18) - %28 = bitcast i64* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vsll.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %29, i64 8, i8* %28, i32 %18) - %30 = getelementptr inbounds i64, i64* %10, i64 256 - %31 = getelementptr inbounds i64, i64* %11, i64 256 - %32 = getelementptr inbounds i64, i64* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds i64, i64* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsll.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsral_vvsl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsral_vvsl.ll deleted file mode 100644 index bf5f6d6a0f6a..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsral_vvsl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsral_vvsl.c' -source_filename = "gen/tests/vsral_vvsl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsral_vvsl(i64* %0, i64* %1, i64 %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vsra.l %v0, %v0, %s2 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %18, %7 ], [ %0, %4 ] - %9 = phi i64* [ %19, %7 ], [ %1, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i64* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vsral.vvsl(<256 x double> %15, i64 %2, i32 %13) - %17 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %16, i64 8, i8* %17, i32 %13) - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = getelementptr inbounds i64, i64* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsral.vvsl(<256 x double>, i64, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsral_vvsl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsral_vvsl_imm.ll deleted file mode 100644 index 54ae1a6dc2ff..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsral_vvsl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsral_vvsl_imm.c' -source_filename = "gen/tests/vsral_vvsl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsral_vvsl_imm(i64* %0, i64* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vsra.l %v0, %v0, 3 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i64* [ %17, %6 ], [ %0, %3 ] - %8 = phi i64* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i64* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vsral.vvsl(<256 x double> %14, i64 3, i32 %12) - %16 = bitcast i64* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %15, i64 8, i8* %16, i32 %12) - %17 = getelementptr inbounds i64, i64* %7, i64 256 - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsral.vvsl(<256 x double>, i64, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsral_vvsmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsral_vvsmvl.ll deleted file mode 100644 index 5a8ea34eb72e..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsral_vvsmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsral_vvsmvl.c' -source_filename = "gen/tests/vsral_vvsmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsral_vvsmvl(i64* %0, i64* %1, i64 %2, i32* %3, i64* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vsra.l %v2, %v0, %s2, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i64* [ %27, %9 ], [ %0, %6 ] - %11 = phi i64* [ %28, %9 ], [ %1, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i64* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i64* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i64* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %23, i32 %17) - %25 = bitcast i64* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vsral.vvsmvl(<256 x double> %19, i64 %2, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %26, i64 8, i8* %25, i32 %17) - %27 = getelementptr inbounds i64, i64* %10, i64 256 - %28 = getelementptr inbounds i64, i64* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i64, i64* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsral.vvsmvl(<256 x double>, i64, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsral_vvsmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsral_vvsmvl_imm.ll deleted file mode 100644 index cae91e7f5cde..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsral_vvsmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsral_vvsmvl_imm.c' -source_filename = "gen/tests/vsral_vvsmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsral_vvsmvl_imm(i64* %0, i64* %1, i32* %2, i64* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vsra.l %v2, %v0, 3, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i64* [ %26, %8 ], [ %0, %5 ] - %10 = phi i64* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i64* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast i64* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i64* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %16) - %24 = bitcast i64* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vsral.vvsmvl(<256 x double> %18, i64 3, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %25, i64 8, i8* %24, i32 %16) - %26 = getelementptr inbounds i64, i64* %9, i64 256 - %27 = getelementptr inbounds i64, i64* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i64, i64* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsral.vvsmvl(<256 x double>, i64, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsral_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsral_vvvl.ll deleted file mode 100644 index 5310f621bad8..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsral_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsral_vvvl.c' -source_filename = "gen/tests/vsral_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsral_vvvl(i64* %0, i64* %1, i64* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vsra.l %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %21, %7 ], [ %0, %4 ] - %9 = phi i64* [ %22, %7 ], [ %1, %4 ] - %10 = phi i64* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i64* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = bitcast i64* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vsral.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %19, i64 8, i8* %20, i32 %14) - %21 = getelementptr inbounds i64, i64* %8, i64 256 - %22 = getelementptr inbounds i64, i64* %9, i64 256 - %23 = getelementptr inbounds i64, i64* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsral.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsral_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsral_vvvmvl.ll deleted file mode 100644 index ee3ca2344ed1..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsral_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsral_vvvmvl.c' -source_filename = "gen/tests/vsral_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsral_vvvmvl(i64* %0, i64* %1, i64* %2, i32* %3, i64* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vsra.l %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i64* [ %30, %9 ], [ %0, %6 ] - %11 = phi i64* [ %31, %9 ], [ %1, %6 ] - %12 = phi i64* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi i64* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast i64* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast i64* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast i64* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %26, i32 %18) - %28 = bitcast i64* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vsral.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %29, i64 8, i8* %28, i32 %18) - %30 = getelementptr inbounds i64, i64* %10, i64 256 - %31 = getelementptr inbounds i64, i64* %11, i64 256 - %32 = getelementptr inbounds i64, i64* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds i64, i64* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsral.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrawsx_vvsl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrawsx_vvsl.ll deleted file mode 100644 index 7252d95de58a..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrawsx_vvsl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsrawsx_vvsl.c' -source_filename = "gen/tests/vsrawsx_vvsl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsrawsx_vvsl(i32* %0, i32* %1, i32 %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vsra.w.sx %v0, %v0, %s2 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %18, %7 ], [ %0, %4 ] - %9 = phi i32* [ %19, %7 ], [ %1, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i32* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vsrawsx.vvsl(<256 x double> %15, i32 %2, i32 %13) - %17 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %16, i64 4, i8* %17, i32 %13) - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = getelementptr inbounds i32, i32* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsrawsx.vvsl(<256 x double>, i32, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrawsx_vvsl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrawsx_vvsl_imm.ll deleted file mode 100644 index 5b755dc8c216..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrawsx_vvsl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsrawsx_vvsl_imm.c' -source_filename = "gen/tests/vsrawsx_vvsl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsrawsx_vvsl_imm(i32* %0, i32* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vsra.w.sx %v0, %v0, 3 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i32* [ %17, %6 ], [ %0, %3 ] - %8 = phi i32* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i32* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vsrawsx.vvsl(<256 x double> %14, i32 3, i32 %12) - %16 = bitcast i32* %7 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds i32, i32* %7, i64 256 - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsrawsx.vvsl(<256 x double>, i32, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrawsx_vvsmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrawsx_vvsmvl.ll deleted file mode 100644 index 75b3a32219b7..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrawsx_vvsmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsrawsx_vvsmvl.c' -source_filename = "gen/tests/vsrawsx_vvsmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsrawsx_vvsmvl(i32* %0, i32* %1, i32 %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vsra.w.sx %v2, %v0, %s2, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %27, %9 ], [ %0, %6 ] - %11 = phi i32* [ %28, %9 ], [ %1, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i32* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i32* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %23, i32 %17) - %25 = bitcast i32* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vsrawsx.vvsmvl(<256 x double> %19, i32 %2, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %26, i64 4, i8* %25, i32 %17) - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i32, i32* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsrawsx.vvsmvl(<256 x double>, i32, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrawsx_vvsmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrawsx_vvsmvl_imm.ll deleted file mode 100644 index ebe4306df371..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrawsx_vvsmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsrawsx_vvsmvl_imm.c' -source_filename = "gen/tests/vsrawsx_vvsmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsrawsx_vvsmvl_imm(i32* %0, i32* %1, i32* %2, i32* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vsra.w.sx %v2, %v0, 3, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i32* [ %26, %8 ], [ %0, %5 ] - %10 = phi i32* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i32* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %22, i32 %16) - %24 = bitcast i32* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vsrawsx.vvsmvl(<256 x double> %18, i32 3, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %25, i64 4, i8* %24, i32 %16) - %26 = getelementptr inbounds i32, i32* %9, i64 256 - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsrawsx.vvsmvl(<256 x double>, i32, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrawsx_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrawsx_vvvl.ll deleted file mode 100644 index 410350b308cd..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrawsx_vvvl.ll +++ /dev/null @@ -1,60 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsrawsx_vvvl.c' -source_filename = "gen/tests/vsrawsx_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsrawsx_vvvl(i32* %0, i32* %1, i64* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vsra.w.sx %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %21, %7 ], [ %0, %4 ] - %9 = phi i32* [ %22, %7 ], [ %1, %4 ] - %10 = phi i64* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i32* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %15, i32 %14) - %17 = bitcast i64* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vsrawsx.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %19, i64 4, i8* %20, i32 %14) - %21 = getelementptr inbounds i32, i32* %8, i64 256 - %22 = getelementptr inbounds i32, i32* %9, i64 256 - %23 = getelementptr inbounds i64, i64* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsrawsx.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrawsx_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrawsx_vvvmvl.ll deleted file mode 100644 index 7710e3a81296..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrawsx_vvvmvl.ll +++ /dev/null @@ -1,75 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsrawsx_vvvmvl.c' -source_filename = "gen/tests/vsrawsx_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsrawsx_vvvmvl(i32* %0, i32* %1, i64* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vsra.w.sx %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %30, %9 ], [ %0, %6 ] - %11 = phi i32* [ %31, %9 ], [ %1, %6 ] - %12 = phi i64* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi i32* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %19, i32 %18) - %21 = bitcast i64* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast i32* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %26, i32 %18) - %28 = bitcast i32* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vsrawsx.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %29, i64 4, i8* %28, i32 %18) - %30 = getelementptr inbounds i32, i32* %10, i64 256 - %31 = getelementptr inbounds i32, i32* %11, i64 256 - %32 = getelementptr inbounds i64, i64* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds i32, i32* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsrawsx.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrawzx_vvsl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrawzx_vvsl.ll deleted file mode 100644 index cf465fa559b9..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrawzx_vvsl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsrawzx_vvsl.c' -source_filename = "gen/tests/vsrawzx_vvsl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsrawzx_vvsl(i32* %0, i32* %1, i32 %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vsra.w.zx %v0, %v0, %s2 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %18, %7 ], [ %0, %4 ] - %9 = phi i32* [ %19, %7 ], [ %1, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i32* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vsrawzx.vvsl(<256 x double> %15, i32 %2, i32 %13) - %17 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %16, i64 4, i8* %17, i32 %13) - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = getelementptr inbounds i32, i32* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsrawzx.vvsl(<256 x double>, i32, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrawzx_vvsl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrawzx_vvsl_imm.ll deleted file mode 100644 index 560622799232..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrawzx_vvsl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsrawzx_vvsl_imm.c' -source_filename = "gen/tests/vsrawzx_vvsl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsrawzx_vvsl_imm(i32* %0, i32* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vsra.w.zx %v0, %v0, 3 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i32* [ %17, %6 ], [ %0, %3 ] - %8 = phi i32* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i32* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vsrawzx.vvsl(<256 x double> %14, i32 3, i32 %12) - %16 = bitcast i32* %7 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds i32, i32* %7, i64 256 - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsrawzx.vvsl(<256 x double>, i32, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrawzx_vvsmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrawzx_vvsmvl.ll deleted file mode 100644 index a91731701de5..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrawzx_vvsmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsrawzx_vvsmvl.c' -source_filename = "gen/tests/vsrawzx_vvsmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsrawzx_vvsmvl(i32* %0, i32* %1, i32 %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vsra.w.zx %v2, %v0, %s2, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %27, %9 ], [ %0, %6 ] - %11 = phi i32* [ %28, %9 ], [ %1, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i32* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i32* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %23, i32 %17) - %25 = bitcast i32* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vsrawzx.vvsmvl(<256 x double> %19, i32 %2, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %26, i64 4, i8* %25, i32 %17) - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i32, i32* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsrawzx.vvsmvl(<256 x double>, i32, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrawzx_vvsmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrawzx_vvsmvl_imm.ll deleted file mode 100644 index 433f85a5d02e..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrawzx_vvsmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsrawzx_vvsmvl_imm.c' -source_filename = "gen/tests/vsrawzx_vvsmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsrawzx_vvsmvl_imm(i32* %0, i32* %1, i32* %2, i32* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vsra.w.zx %v2, %v0, 3, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i32* [ %26, %8 ], [ %0, %5 ] - %10 = phi i32* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i32* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %22, i32 %16) - %24 = bitcast i32* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vsrawzx.vvsmvl(<256 x double> %18, i32 3, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %25, i64 4, i8* %24, i32 %16) - %26 = getelementptr inbounds i32, i32* %9, i64 256 - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsrawzx.vvsmvl(<256 x double>, i32, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrawzx_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrawzx_vvvl.ll deleted file mode 100644 index 245911185fa0..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrawzx_vvvl.ll +++ /dev/null @@ -1,60 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsrawzx_vvvl.c' -source_filename = "gen/tests/vsrawzx_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsrawzx_vvvl(i32* %0, i32* %1, i64* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vsra.w.zx %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %21, %7 ], [ %0, %4 ] - %9 = phi i32* [ %22, %7 ], [ %1, %4 ] - %10 = phi i64* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i32* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %15, i32 %14) - %17 = bitcast i64* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vsrawzx.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %19, i64 4, i8* %20, i32 %14) - %21 = getelementptr inbounds i32, i32* %8, i64 256 - %22 = getelementptr inbounds i32, i32* %9, i64 256 - %23 = getelementptr inbounds i64, i64* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsrawzx.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrawzx_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrawzx_vvvmvl.ll deleted file mode 100644 index 84e704edc667..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrawzx_vvvmvl.ll +++ /dev/null @@ -1,75 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsrawzx_vvvmvl.c' -source_filename = "gen/tests/vsrawzx_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsrawzx_vvvmvl(i32* %0, i32* %1, i64* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vsra.w.zx %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %30, %9 ], [ %0, %6 ] - %11 = phi i32* [ %31, %9 ], [ %1, %6 ] - %12 = phi i64* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi i32* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %19, i32 %18) - %21 = bitcast i64* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast i32* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %26, i32 %18) - %28 = bitcast i32* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vsrawzx.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %29, i64 4, i8* %28, i32 %18) - %30 = getelementptr inbounds i32, i32* %10, i64 256 - %31 = getelementptr inbounds i32, i32* %11, i64 256 - %32 = getelementptr inbounds i64, i64* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds i32, i32* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsrawzx.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrl_vvsl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrl_vvsl.ll deleted file mode 100644 index 6b9f3b4d6675..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrl_vvsl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsrl_vvsl.c' -source_filename = "gen/tests/vsrl_vvsl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsrl_vvsl(i64* %0, i64* %1, i64 %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vsrl %v0, %v0, %s2 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %18, %7 ], [ %0, %4 ] - %9 = phi i64* [ %19, %7 ], [ %1, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i64* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vsrl.vvsl(<256 x double> %15, i64 %2, i32 %13) - %17 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %16, i64 8, i8* %17, i32 %13) - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = getelementptr inbounds i64, i64* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsrl.vvsl(<256 x double>, i64, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrl_vvsl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrl_vvsl_imm.ll deleted file mode 100644 index 47a03eeb4382..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrl_vvsl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsrl_vvsl_imm.c' -source_filename = "gen/tests/vsrl_vvsl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsrl_vvsl_imm(i64* %0, i64* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vsrl %v0, %v0, 3 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i64* [ %17, %6 ], [ %0, %3 ] - %8 = phi i64* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i64* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vsrl.vvsl(<256 x double> %14, i64 3, i32 %12) - %16 = bitcast i64* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %15, i64 8, i8* %16, i32 %12) - %17 = getelementptr inbounds i64, i64* %7, i64 256 - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsrl.vvsl(<256 x double>, i64, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrl_vvsmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrl_vvsmvl.ll deleted file mode 100644 index 787ba92c7c19..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrl_vvsmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsrl_vvsmvl.c' -source_filename = "gen/tests/vsrl_vvsmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsrl_vvsmvl(i64* %0, i64* %1, i64 %2, i32* %3, i64* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vsrl %v2, %v0, %s2, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i64* [ %27, %9 ], [ %0, %6 ] - %11 = phi i64* [ %28, %9 ], [ %1, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i64* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i64* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i64* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %23, i32 %17) - %25 = bitcast i64* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vsrl.vvsmvl(<256 x double> %19, i64 %2, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %26, i64 8, i8* %25, i32 %17) - %27 = getelementptr inbounds i64, i64* %10, i64 256 - %28 = getelementptr inbounds i64, i64* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i64, i64* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsrl.vvsmvl(<256 x double>, i64, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrl_vvsmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrl_vvsmvl_imm.ll deleted file mode 100644 index 8434b0b131d1..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrl_vvsmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsrl_vvsmvl_imm.c' -source_filename = "gen/tests/vsrl_vvsmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsrl_vvsmvl_imm(i64* %0, i64* %1, i32* %2, i64* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vsrl %v2, %v0, 3, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i64* [ %26, %8 ], [ %0, %5 ] - %10 = phi i64* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i64* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast i64* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i64* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %16) - %24 = bitcast i64* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vsrl.vvsmvl(<256 x double> %18, i64 3, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %25, i64 8, i8* %24, i32 %16) - %26 = getelementptr inbounds i64, i64* %9, i64 256 - %27 = getelementptr inbounds i64, i64* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i64, i64* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsrl.vvsmvl(<256 x double>, i64, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrl_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrl_vvvl.ll deleted file mode 100644 index ca55bf1ec263..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrl_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsrl_vvvl.c' -source_filename = "gen/tests/vsrl_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsrl_vvvl(i64* %0, i64* %1, i64* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vsrl %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %21, %7 ], [ %0, %4 ] - %9 = phi i64* [ %22, %7 ], [ %1, %4 ] - %10 = phi i64* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i64* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = bitcast i64* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vsrl.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %19, i64 8, i8* %20, i32 %14) - %21 = getelementptr inbounds i64, i64* %8, i64 256 - %22 = getelementptr inbounds i64, i64* %9, i64 256 - %23 = getelementptr inbounds i64, i64* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsrl.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrl_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrl_vvvmvl.ll deleted file mode 100644 index 30fb879b5f52..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsrl_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsrl_vvvmvl.c' -source_filename = "gen/tests/vsrl_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsrl_vvvmvl(i64* %0, i64* %1, i64* %2, i32* %3, i64* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vsrl %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i64* [ %30, %9 ], [ %0, %6 ] - %11 = phi i64* [ %31, %9 ], [ %1, %6 ] - %12 = phi i64* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi i64* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast i64* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast i64* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast i64* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %26, i32 %18) - %28 = bitcast i64* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vsrl.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %29, i64 8, i8* %28, i32 %18) - %30 = getelementptr inbounds i64, i64* %10, i64 256 - %31 = getelementptr inbounds i64, i64* %11, i64 256 - %32 = getelementptr inbounds i64, i64* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds i64, i64* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsrl.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubsl_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubsl_vsvl.ll deleted file mode 100644 index 4e8de49c8734..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubsl_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsubsl_vsvl.c' -source_filename = "gen/tests/vsubsl_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsubsl_vsvl(i64* %0, i64 %1, i64* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vsubs.l %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %18, %7 ], [ %0, %4 ] - %9 = phi i64* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i64* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vsubsl.vsvl(i64 %1, <256 x double> %15, i32 %13) - %17 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %16, i64 8, i8* %17, i32 %13) - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = getelementptr inbounds i64, i64* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsubsl.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubsl_vsvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubsl_vsvl_imm.ll deleted file mode 100644 index 156eb3d07ce8..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubsl_vsvl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsubsl_vsvl_imm.c' -source_filename = "gen/tests/vsubsl_vsvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsubsl_vsvl_imm(i64* %0, i64* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vsubs.l %v0, 3, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i64* [ %17, %6 ], [ %0, %3 ] - %8 = phi i64* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i64* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vsubsl.vsvl(i64 3, <256 x double> %14, i32 %12) - %16 = bitcast i64* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %15, i64 8, i8* %16, i32 %12) - %17 = getelementptr inbounds i64, i64* %7, i64 256 - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsubsl.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubsl_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubsl_vsvmvl.ll deleted file mode 100644 index 602ad673c267..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubsl_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsubsl_vsvmvl.c' -source_filename = "gen/tests/vsubsl_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsubsl_vsvmvl(i64* %0, i64 %1, i64* %2, i32* %3, i64* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vsubs.l %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i64* [ %27, %9 ], [ %0, %6 ] - %11 = phi i64* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i64* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i64* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i64* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %23, i32 %17) - %25 = bitcast i64* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vsubsl.vsvmvl(i64 %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %26, i64 8, i8* %25, i32 %17) - %27 = getelementptr inbounds i64, i64* %10, i64 256 - %28 = getelementptr inbounds i64, i64* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i64, i64* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsubsl.vsvmvl(i64, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubsl_vsvmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubsl_vsvmvl_imm.ll deleted file mode 100644 index e8b558e1f918..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubsl_vsvmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsubsl_vsvmvl_imm.c' -source_filename = "gen/tests/vsubsl_vsvmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsubsl_vsvmvl_imm(i64* %0, i64* %1, i32* %2, i64* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vsubs.l %v2, 3, %v0, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i64* [ %26, %8 ], [ %0, %5 ] - %10 = phi i64* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i64* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast i64* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i64* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %16) - %24 = bitcast i64* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vsubsl.vsvmvl(i64 3, <256 x double> %18, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %25, i64 8, i8* %24, i32 %16) - %26 = getelementptr inbounds i64, i64* %9, i64 256 - %27 = getelementptr inbounds i64, i64* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i64, i64* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsubsl.vsvmvl(i64, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubsl_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubsl_vvvl.ll deleted file mode 100644 index 23238fe96c3d..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubsl_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsubsl_vvvl.c' -source_filename = "gen/tests/vsubsl_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsubsl_vvvl(i64* %0, i64* %1, i64* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vsubs.l %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %21, %7 ], [ %0, %4 ] - %9 = phi i64* [ %22, %7 ], [ %1, %4 ] - %10 = phi i64* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i64* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = bitcast i64* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vsubsl.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %19, i64 8, i8* %20, i32 %14) - %21 = getelementptr inbounds i64, i64* %8, i64 256 - %22 = getelementptr inbounds i64, i64* %9, i64 256 - %23 = getelementptr inbounds i64, i64* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsubsl.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubsl_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubsl_vvvmvl.ll deleted file mode 100644 index d1efbaf743c2..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubsl_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsubsl_vvvmvl.c' -source_filename = "gen/tests/vsubsl_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsubsl_vvvmvl(i64* %0, i64* %1, i64* %2, i32* %3, i64* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vsubs.l %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i64* [ %30, %9 ], [ %0, %6 ] - %11 = phi i64* [ %31, %9 ], [ %1, %6 ] - %12 = phi i64* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi i64* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast i64* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast i64* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast i64* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %26, i32 %18) - %28 = bitcast i64* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vsubsl.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %29, i64 8, i8* %28, i32 %18) - %30 = getelementptr inbounds i64, i64* %10, i64 256 - %31 = getelementptr inbounds i64, i64* %11, i64 256 - %32 = getelementptr inbounds i64, i64* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds i64, i64* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsubsl.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubswsx_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubswsx_vsvl.ll deleted file mode 100644 index e1b071aa668a..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubswsx_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsubswsx_vsvl.c' -source_filename = "gen/tests/vsubswsx_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsubswsx_vsvl(i32* %0, i32 signext %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vsubs.w.sx %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %18, %7 ], [ %0, %4 ] - %9 = phi i32* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i32* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vsubswsx.vsvl(i32 %1, <256 x double> %15, i32 %13) - %17 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %16, i64 4, i8* %17, i32 %13) - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = getelementptr inbounds i32, i32* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsubswsx.vsvl(i32, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubswsx_vsvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubswsx_vsvl_imm.ll deleted file mode 100644 index 575316f255a6..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubswsx_vsvl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsubswsx_vsvl_imm.c' -source_filename = "gen/tests/vsubswsx_vsvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsubswsx_vsvl_imm(i32* %0, i32* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vsubs.w.sx %v0, 3, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i32* [ %17, %6 ], [ %0, %3 ] - %8 = phi i32* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i32* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vsubswsx.vsvl(i32 3, <256 x double> %14, i32 %12) - %16 = bitcast i32* %7 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds i32, i32* %7, i64 256 - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsubswsx.vsvl(i32, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubswsx_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubswsx_vsvmvl.ll deleted file mode 100644 index 933f3e8bee7d..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubswsx_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsubswsx_vsvmvl.c' -source_filename = "gen/tests/vsubswsx_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsubswsx_vsvmvl(i32* %0, i32 signext %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vsubs.w.sx %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %27, %9 ], [ %0, %6 ] - %11 = phi i32* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i32* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i32* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %23, i32 %17) - %25 = bitcast i32* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vsubswsx.vsvmvl(i32 %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %26, i64 4, i8* %25, i32 %17) - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i32, i32* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsubswsx.vsvmvl(i32, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubswsx_vsvmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubswsx_vsvmvl_imm.ll deleted file mode 100644 index cc38bcd0c72d..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubswsx_vsvmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsubswsx_vsvmvl_imm.c' -source_filename = "gen/tests/vsubswsx_vsvmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsubswsx_vsvmvl_imm(i32* %0, i32* %1, i32* %2, i32* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vsubs.w.sx %v2, 3, %v0, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i32* [ %26, %8 ], [ %0, %5 ] - %10 = phi i32* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i32* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %22, i32 %16) - %24 = bitcast i32* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vsubswsx.vsvmvl(i32 3, <256 x double> %18, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %25, i64 4, i8* %24, i32 %16) - %26 = getelementptr inbounds i32, i32* %9, i64 256 - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsubswsx.vsvmvl(i32, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubswsx_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubswsx_vvvl.ll deleted file mode 100644 index 97b862a35c5a..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubswsx_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsubswsx_vvvl.c' -source_filename = "gen/tests/vsubswsx_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsubswsx_vvvl(i32* %0, i32* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vsubs.w.sx %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %21, %7 ], [ %0, %4 ] - %9 = phi i32* [ %22, %7 ], [ %1, %4 ] - %10 = phi i32* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i32* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %15, i32 %14) - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vsubswsx.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %19, i64 4, i8* %20, i32 %14) - %21 = getelementptr inbounds i32, i32* %8, i64 256 - %22 = getelementptr inbounds i32, i32* %9, i64 256 - %23 = getelementptr inbounds i32, i32* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsubswsx.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubswsx_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubswsx_vvvmvl.ll deleted file mode 100644 index 1c616562f145..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubswsx_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsubswsx_vvvmvl.c' -source_filename = "gen/tests/vsubswsx_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsubswsx_vvvmvl(i32* %0, i32* %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vsubs.w.sx %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %30, %9 ], [ %0, %6 ] - %11 = phi i32* [ %31, %9 ], [ %1, %6 ] - %12 = phi i32* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi i32* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %19, i32 %18) - %21 = bitcast i32* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast i32* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %26, i32 %18) - %28 = bitcast i32* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vsubswsx.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %29, i64 4, i8* %28, i32 %18) - %30 = getelementptr inbounds i32, i32* %10, i64 256 - %31 = getelementptr inbounds i32, i32* %11, i64 256 - %32 = getelementptr inbounds i32, i32* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds i32, i32* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsubswsx.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubswzx_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubswzx_vsvl.ll deleted file mode 100644 index 17651d4bc6b3..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubswzx_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsubswzx_vsvl.c' -source_filename = "gen/tests/vsubswzx_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsubswzx_vsvl(i32* %0, i32 signext %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vsubs.w.zx %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %18, %7 ], [ %0, %4 ] - %9 = phi i32* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i32* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vsubswzx.vsvl(i32 %1, <256 x double> %15, i32 %13) - %17 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %16, i64 4, i8* %17, i32 %13) - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = getelementptr inbounds i32, i32* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsubswzx.vsvl(i32, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubswzx_vsvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubswzx_vsvl_imm.ll deleted file mode 100644 index 55d8bc727b78..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubswzx_vsvl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsubswzx_vsvl_imm.c' -source_filename = "gen/tests/vsubswzx_vsvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsubswzx_vsvl_imm(i32* %0, i32* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vsubs.w.zx %v0, 3, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i32* [ %17, %6 ], [ %0, %3 ] - %8 = phi i32* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i32* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vsubswzx.vsvl(i32 3, <256 x double> %14, i32 %12) - %16 = bitcast i32* %7 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds i32, i32* %7, i64 256 - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsubswzx.vsvl(i32, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubswzx_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubswzx_vsvmvl.ll deleted file mode 100644 index b19106a74208..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubswzx_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsubswzx_vsvmvl.c' -source_filename = "gen/tests/vsubswzx_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsubswzx_vsvmvl(i32* %0, i32 signext %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vsubs.w.zx %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %27, %9 ], [ %0, %6 ] - %11 = phi i32* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i32* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i32* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %23, i32 %17) - %25 = bitcast i32* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vsubswzx.vsvmvl(i32 %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %26, i64 4, i8* %25, i32 %17) - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i32, i32* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsubswzx.vsvmvl(i32, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubswzx_vsvmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubswzx_vsvmvl_imm.ll deleted file mode 100644 index 15f2a9a48e75..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubswzx_vsvmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsubswzx_vsvmvl_imm.c' -source_filename = "gen/tests/vsubswzx_vsvmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsubswzx_vsvmvl_imm(i32* %0, i32* %1, i32* %2, i32* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vsubs.w.zx %v2, 3, %v0, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i32* [ %26, %8 ], [ %0, %5 ] - %10 = phi i32* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i32* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %22, i32 %16) - %24 = bitcast i32* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vsubswzx.vsvmvl(i32 3, <256 x double> %18, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %25, i64 4, i8* %24, i32 %16) - %26 = getelementptr inbounds i32, i32* %9, i64 256 - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsubswzx.vsvmvl(i32, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubswzx_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubswzx_vvvl.ll deleted file mode 100644 index d95ae32fe809..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubswzx_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsubswzx_vvvl.c' -source_filename = "gen/tests/vsubswzx_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsubswzx_vvvl(i32* %0, i32* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vsubs.w.zx %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %21, %7 ], [ %0, %4 ] - %9 = phi i32* [ %22, %7 ], [ %1, %4 ] - %10 = phi i32* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i32* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %15, i32 %14) - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vsubswzx.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %19, i64 4, i8* %20, i32 %14) - %21 = getelementptr inbounds i32, i32* %8, i64 256 - %22 = getelementptr inbounds i32, i32* %9, i64 256 - %23 = getelementptr inbounds i32, i32* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsubswzx.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubswzx_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubswzx_vvvmvl.ll deleted file mode 100644 index 4a6fe72fcac4..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubswzx_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsubswzx_vvvmvl.c' -source_filename = "gen/tests/vsubswzx_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsubswzx_vvvmvl(i32* %0, i32* %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vsubs.w.zx %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %30, %9 ], [ %0, %6 ] - %11 = phi i32* [ %31, %9 ], [ %1, %6 ] - %12 = phi i32* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi i32* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %19, i32 %18) - %21 = bitcast i32* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast i32* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %26, i32 %18) - %28 = bitcast i32* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vsubswzx.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %29, i64 4, i8* %28, i32 %18) - %30 = getelementptr inbounds i32, i32* %10, i64 256 - %31 = getelementptr inbounds i32, i32* %11, i64 256 - %32 = getelementptr inbounds i32, i32* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds i32, i32* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsubswzx.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubul_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubul_vsvl.ll deleted file mode 100644 index 2866088204c8..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubul_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsubul_vsvl.c' -source_filename = "gen/tests/vsubul_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsubul_vsvl(i64* %0, i64 %1, i64* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vsubu.l %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %18, %7 ], [ %0, %4 ] - %9 = phi i64* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i64* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vsubul.vsvl(i64 %1, <256 x double> %15, i32 %13) - %17 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %16, i64 8, i8* %17, i32 %13) - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = getelementptr inbounds i64, i64* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsubul.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubul_vsvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubul_vsvl_imm.ll deleted file mode 100644 index 5153a4fb1ec8..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubul_vsvl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsubul_vsvl_imm.c' -source_filename = "gen/tests/vsubul_vsvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsubul_vsvl_imm(i64* %0, i64* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vsubu.l %v0, 3, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i64* [ %17, %6 ], [ %0, %3 ] - %8 = phi i64* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i64* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vsubul.vsvl(i64 3, <256 x double> %14, i32 %12) - %16 = bitcast i64* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %15, i64 8, i8* %16, i32 %12) - %17 = getelementptr inbounds i64, i64* %7, i64 256 - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsubul.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubul_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubul_vsvmvl.ll deleted file mode 100644 index a0356369d786..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubul_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsubul_vsvmvl.c' -source_filename = "gen/tests/vsubul_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsubul_vsvmvl(i64* %0, i64 %1, i64* %2, i32* %3, i64* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vsubu.l %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i64* [ %27, %9 ], [ %0, %6 ] - %11 = phi i64* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i64* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i64* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i64* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %23, i32 %17) - %25 = bitcast i64* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vsubul.vsvmvl(i64 %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %26, i64 8, i8* %25, i32 %17) - %27 = getelementptr inbounds i64, i64* %10, i64 256 - %28 = getelementptr inbounds i64, i64* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i64, i64* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsubul.vsvmvl(i64, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubul_vsvmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubul_vsvmvl_imm.ll deleted file mode 100644 index 869bc2222a9c..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubul_vsvmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsubul_vsvmvl_imm.c' -source_filename = "gen/tests/vsubul_vsvmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsubul_vsvmvl_imm(i64* %0, i64* %1, i32* %2, i64* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vsubu.l %v2, 3, %v0, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i64* [ %26, %8 ], [ %0, %5 ] - %10 = phi i64* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i64* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast i64* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i64* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %22, i32 %16) - %24 = bitcast i64* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vsubul.vsvmvl(i64 3, <256 x double> %18, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %25, i64 8, i8* %24, i32 %16) - %26 = getelementptr inbounds i64, i64* %9, i64 256 - %27 = getelementptr inbounds i64, i64* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i64, i64* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsubul.vsvmvl(i64, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubul_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubul_vvvl.ll deleted file mode 100644 index e5a4e3d5e852..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubul_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsubul_vvvl.c' -source_filename = "gen/tests/vsubul_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsubul_vvvl(i64* %0, i64* %1, i64* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vsubu.l %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %21, %7 ], [ %0, %4 ] - %9 = phi i64* [ %22, %7 ], [ %1, %4 ] - %10 = phi i64* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i64* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = bitcast i64* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vsubul.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %19, i64 8, i8* %20, i32 %14) - %21 = getelementptr inbounds i64, i64* %8, i64 256 - %22 = getelementptr inbounds i64, i64* %9, i64 256 - %23 = getelementptr inbounds i64, i64* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsubul.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubul_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubul_vvvmvl.ll deleted file mode 100644 index f05922f811a4..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubul_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsubul_vvvmvl.c' -source_filename = "gen/tests/vsubul_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsubul_vvvmvl(i64* %0, i64* %1, i64* %2, i32* %3, i64* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vsubu.l %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i64* [ %30, %9 ], [ %0, %6 ] - %11 = phi i64* [ %31, %9 ], [ %1, %6 ] - %12 = phi i64* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi i64* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast i64* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast i64* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast i64* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %26, i32 %18) - %28 = bitcast i64* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vsubul.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %29, i64 8, i8* %28, i32 %18) - %30 = getelementptr inbounds i64, i64* %10, i64 256 - %31 = getelementptr inbounds i64, i64* %11, i64 256 - %32 = getelementptr inbounds i64, i64* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds i64, i64* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsubul.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubuw_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubuw_vsvl.ll deleted file mode 100644 index 507455291ca7..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubuw_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsubuw_vsvl.c' -source_filename = "gen/tests/vsubuw_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsubuw_vsvl(i32* %0, i32 zeroext %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vsubu.w %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %18, %7 ], [ %0, %4 ] - %9 = phi i32* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i32* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vsubuw.vsvl(i32 %1, <256 x double> %15, i32 %13) - %17 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %16, i64 4, i8* %17, i32 %13) - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = getelementptr inbounds i32, i32* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsubuw.vsvl(i32, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubuw_vsvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubuw_vsvl_imm.ll deleted file mode 100644 index 35ad5b11994b..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubuw_vsvl_imm.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsubuw_vsvl_imm.c' -source_filename = "gen/tests/vsubuw_vsvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsubuw_vsvl_imm(i32* %0, i32* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vsubu.w %v0, 3, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i32* [ %17, %6 ], [ %0, %3 ] - %8 = phi i32* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i32* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vsubuw.vsvl(i32 3, <256 x double> %14, i32 %12) - %16 = bitcast i32* %7 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds i32, i32* %7, i64 256 - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsubuw.vsvl(i32, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubuw_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubuw_vsvmvl.ll deleted file mode 100644 index 4a4ee134cbc3..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubuw_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsubuw_vsvmvl.c' -source_filename = "gen/tests/vsubuw_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsubuw_vsvmvl(i32* %0, i32 zeroext %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vsubu.w %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %27, %9 ], [ %0, %6 ] - %11 = phi i32* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i32* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i32* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %23, i32 %17) - %25 = bitcast i32* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vsubuw.vsvmvl(i32 %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %26, i64 4, i8* %25, i32 %17) - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i32, i32* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsubuw.vsvmvl(i32, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubuw_vsvmvl_imm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubuw_vsvmvl_imm.ll deleted file mode 100644 index f9db2ebe35e7..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubuw_vsvmvl_imm.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsubuw_vsvmvl_imm.c' -source_filename = "gen/tests/vsubuw_vsvmvl_imm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsubuw_vsvmvl_imm(i32* %0, i32* %1, i32* %2, i32* %3, i32 signext %4) local_unnamed_addr #0 { -; CHECK: vsubu.w %v2, 3, %v0, %vm1 - %6 = icmp sgt i32 %4, 0 - br i1 %6, label %8, label %7 - -7: ; preds = %8, %5 - ret void - -8: ; preds = %5, %8 - %9 = phi i32* [ %26, %8 ], [ %0, %5 ] - %10 = phi i32* [ %27, %8 ], [ %1, %5 ] - %11 = phi i32* [ %28, %8 ], [ %2, %5 ] - %12 = phi i32* [ %29, %8 ], [ %3, %5 ] - %13 = phi i32 [ %30, %8 ], [ 0, %5 ] - %14 = sub nsw i32 %4, %13 - %15 = icmp slt i32 %14, 256 - %16 = select i1 %15, i32 %14, i32 256 - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %16) - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %19, i32 %16) - %21 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %20, i32 %16) - %22 = bitcast i32* %12 to i8* - %23 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %22, i32 %16) - %24 = bitcast i32* %9 to i8* - %25 = tail call <256 x double> @llvm.ve.vl.vsubuw.vsvmvl(i32 3, <256 x double> %18, <256 x i1> %21, <256 x double> %23, i32 %16) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %25, i64 4, i8* %24, i32 %16) - %26 = getelementptr inbounds i32, i32* %9, i64 256 - %27 = getelementptr inbounds i32, i32* %10, i64 256 - %28 = getelementptr inbounds i32, i32* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = add nuw nsw i32 %13, 256 - %31 = icmp slt i32 %30, %4 - br i1 %31, label %8, label %7 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsubuw.vsvmvl(i32, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubuw_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubuw_vvvl.ll deleted file mode 100644 index 07d288192bc1..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubuw_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsubuw_vvvl.c' -source_filename = "gen/tests/vsubuw_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsubuw_vvvl(i32* %0, i32* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vsubu.w %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %21, %7 ], [ %0, %4 ] - %9 = phi i32* [ %22, %7 ], [ %1, %4 ] - %10 = phi i32* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i32* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %15, i32 %14) - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vsubuw.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast i32* %8 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %19, i64 4, i8* %20, i32 %14) - %21 = getelementptr inbounds i32, i32* %8, i64 256 - %22 = getelementptr inbounds i32, i32* %9, i64 256 - %23 = getelementptr inbounds i32, i32* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsubuw.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubuw_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubuw_vvvmvl.ll deleted file mode 100644 index 3e0e3308e1a0..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsubuw_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsubuw_vvvmvl.c' -source_filename = "gen/tests/vsubuw_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsubuw_vvvmvl(i32* %0, i32* %1, i32* %2, i32* %3, i32* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vsubu.w %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i32* [ %30, %9 ], [ %0, %6 ] - %11 = phi i32* [ %31, %9 ], [ %1, %6 ] - %12 = phi i32* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi i32* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast i32* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %19, i32 %18) - %21 = bitcast i32* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast i32* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %26, i32 %18) - %28 = bitcast i32* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vsubuw.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %29, i64 4, i8* %28, i32 %18) - %30 = getelementptr inbounds i32, i32* %10, i64 256 - %31 = getelementptr inbounds i32, i32* %11, i64 256 - %32 = getelementptr inbounds i32, i32* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds i32, i32* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsubuw.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsuml_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsuml_vvl.ll deleted file mode 100644 index 1b3d4db9ffb2..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsuml_vvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsuml_vvl.c' -source_filename = "gen/tests/vsuml_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsuml_vvl(i64* %0, i64* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vsum.l %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i64* [ %17, %6 ], [ %0, %3 ] - %8 = phi i64* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i64* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vsuml.vvl(<256 x double> %14, i32 %12) - %16 = bitcast i64* %7 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %15, i64 8, i8* %16, i32 %12) - %17 = getelementptr inbounds i64, i64* %7, i64 256 - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsuml.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsuml_vvml.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsuml_vvml.ll deleted file mode 100644 index ff3b3414530c..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsuml_vvml.ll +++ /dev/null @@ -1,64 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsuml_vvml.c' -source_filename = "gen/tests/vsuml_vvml.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsuml_vvml(i64* %0, i64* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vsum.l %v0, %v0, %vm1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %22, %7 ], [ %0, %4 ] - %9 = phi i64* [ %23, %7 ], [ %1, %4 ] - %10 = phi i32* [ %24, %7 ], [ %2, %4 ] - %11 = phi i32 [ %25, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i64* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %17, i32 %14) - %19 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %18, i32 %14) - %20 = bitcast i64* %8 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vsuml.vvml(<256 x double> %16, <256 x i1> %19, i32 %14) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %21, i64 8, i8* %20, i32 %14) - %22 = getelementptr inbounds i64, i64* %8, i64 256 - %23 = getelementptr inbounds i64, i64* %9, i64 256 - %24 = getelementptr inbounds i32, i32* %10, i64 256 - %25 = add nuw nsw i32 %11, 256 - %26 = icmp slt i32 %25, %3 - br i1 %26, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsuml.vvml(<256 x double>, <256 x i1>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsumwsx_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsumwsx_vvl.ll deleted file mode 100644 index 7267b443158a..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsumwsx_vvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsumwsx_vvl.c' -source_filename = "gen/tests/vsumwsx_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsumwsx_vvl(i32* %0, i32* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vsum.w.sx %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i32* [ %17, %6 ], [ %0, %3 ] - %8 = phi i32* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i32* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vsumwsx.vvl(<256 x double> %14, i32 %12) - %16 = bitcast i32* %7 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds i32, i32* %7, i64 256 - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsumwsx.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsumwsx_vvml.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsumwsx_vvml.ll deleted file mode 100644 index 4d00d27af826..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsumwsx_vvml.ll +++ /dev/null @@ -1,64 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsumwsx_vvml.c' -source_filename = "gen/tests/vsumwsx_vvml.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsumwsx_vvml(i32* %0, i32* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vsum.w.sx %v0, %v0, %vm1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %22, %7 ], [ %0, %4 ] - %9 = phi i32* [ %23, %7 ], [ %1, %4 ] - %10 = phi i32* [ %24, %7 ], [ %2, %4 ] - %11 = phi i32 [ %25, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i32* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %15, i32 %14) - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %17, i32 %14) - %19 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %18, i32 %14) - %20 = bitcast i32* %8 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vsumwsx.vvml(<256 x double> %16, <256 x i1> %19, i32 %14) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %21, i64 4, i8* %20, i32 %14) - %22 = getelementptr inbounds i32, i32* %8, i64 256 - %23 = getelementptr inbounds i32, i32* %9, i64 256 - %24 = getelementptr inbounds i32, i32* %10, i64 256 - %25 = add nuw nsw i32 %11, 256 - %26 = icmp slt i32 %25, %3 - br i1 %26, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsumwsx.vvml(<256 x double>, <256 x i1>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsumwzx_vvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsumwzx_vvl.ll deleted file mode 100644 index ec8f282f219d..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsumwzx_vvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsumwzx_vvl.c' -source_filename = "gen/tests/vsumwzx_vvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsumwzx_vvl(i32* %0, i32* %1, i32 signext %2) local_unnamed_addr #0 { -; CHECK: vsum.w.zx %v0, %v0 - %4 = icmp sgt i32 %2, 0 - br i1 %4, label %6, label %5 - -5: ; preds = %6, %3 - ret void - -6: ; preds = %3, %6 - %7 = phi i32* [ %17, %6 ], [ %0, %3 ] - %8 = phi i32* [ %18, %6 ], [ %1, %3 ] - %9 = phi i32 [ %19, %6 ], [ 0, %3 ] - %10 = sub nsw i32 %2, %9 - %11 = icmp slt i32 %10, 256 - %12 = select i1 %11, i32 %10, i32 256 - %13 = bitcast i32* %8 to i8* - %14 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %13, i32 %12) - %15 = tail call <256 x double> @llvm.ve.vl.vsumwzx.vvl(<256 x double> %14, i32 %12) - %16 = bitcast i32* %7 to i8* - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %15, i64 4, i8* %16, i32 %12) - %17 = getelementptr inbounds i32, i32* %7, i64 256 - %18 = getelementptr inbounds i32, i32* %8, i64 256 - %19 = add nuw nsw i32 %9, 256 - %20 = icmp slt i32 %19, %2 - br i1 %20, label %6, label %5 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsumwzx.vvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsumwzx_vvml.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsumwzx_vvml.ll deleted file mode 100644 index 1688a2112f8f..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vsumwzx_vvml.ll +++ /dev/null @@ -1,64 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vsumwzx_vvml.c' -source_filename = "gen/tests/vsumwzx_vvml.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vsumwzx_vvml(i32* %0, i32* %1, i32* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vsum.w.zx %v0, %v0, %vm1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i32* [ %22, %7 ], [ %0, %4 ] - %9 = phi i32* [ %23, %7 ], [ %1, %4 ] - %10 = phi i32* [ %24, %7 ], [ %2, %4 ] - %11 = phi i32 [ %25, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i32* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vldlsx.vssl(i64 4, i8* %15, i32 %14) - %17 = bitcast i32* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %17, i32 %14) - %19 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %18, i32 %14) - %20 = bitcast i32* %8 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vsumwzx.vvml(<256 x double> %16, <256 x i1> %19, i32 %14) - tail call void @llvm.ve.vl.vstl.vssl(<256 x double> %21, i64 4, i8* %20, i32 %14) - %22 = getelementptr inbounds i32, i32* %8, i64 256 - %23 = getelementptr inbounds i32, i32* %9, i64 256 - %24 = getelementptr inbounds i32, i32* %10, i64 256 - %25 = add nuw nsw i32 %11, 256 - %26 = icmp slt i32 %25, %3 - br i1 %26, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlsx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vsumwzx.vvml(<256 x double>, <256 x i1>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vstl.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vxor_vsvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vxor_vsvl.ll deleted file mode 100644 index 846fdf19fc36..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vxor_vsvl.ll +++ /dev/null @@ -1,53 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vxor_vsvl.c' -source_filename = "gen/tests/vxor_vsvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vxor_vsvl(i64* %0, i64 %1, i64* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vxor %v0, %s1, %v0 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %18, %7 ], [ %0, %4 ] - %9 = phi i64* [ %19, %7 ], [ %2, %4 ] - %10 = phi i32 [ %20, %7 ], [ 0, %4 ] - %11 = sub nsw i32 %3, %10 - %12 = icmp slt i32 %11, 256 - %13 = select i1 %12, i32 %11, i32 256 - %14 = bitcast i64* %9 to i8* - %15 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %14, i32 %13) - %16 = tail call <256 x double> @llvm.ve.vl.vxor.vsvl(i64 %1, <256 x double> %15, i32 %13) - %17 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %16, i64 8, i8* %17, i32 %13) - %18 = getelementptr inbounds i64, i64* %8, i64 256 - %19 = getelementptr inbounds i64, i64* %9, i64 256 - %20 = add nuw nsw i32 %10, 256 - %21 = icmp slt i32 %20, %3 - br i1 %21, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vxor.vsvl(i64, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vxor_vsvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vxor_vsvmvl.ll deleted file mode 100644 index 3f14e4d90706..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vxor_vsvmvl.ll +++ /dev/null @@ -1,68 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vxor_vsvmvl.c' -source_filename = "gen/tests/vxor_vsvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vxor_vsvmvl(i64* %0, i64 %1, i64* %2, i32* %3, i64* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vxor %v2, %s1, %v0, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i64* [ %27, %9 ], [ %0, %6 ] - %11 = phi i64* [ %28, %9 ], [ %2, %6 ] - %12 = phi i32* [ %29, %9 ], [ %3, %6 ] - %13 = phi i64* [ %30, %9 ], [ %4, %6 ] - %14 = phi i32 [ %31, %9 ], [ 0, %6 ] - %15 = sub nsw i32 %5, %14 - %16 = icmp slt i32 %15, 256 - %17 = select i1 %16, i32 %15, i32 256 - %18 = bitcast i64* %11 to i8* - %19 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %18, i32 %17) - %20 = bitcast i32* %12 to i8* - %21 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %20, i32 %17) - %22 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %21, i32 %17) - %23 = bitcast i64* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %23, i32 %17) - %25 = bitcast i64* %10 to i8* - %26 = tail call <256 x double> @llvm.ve.vl.vxor.vsvmvl(i64 %1, <256 x double> %19, <256 x i1> %22, <256 x double> %24, i32 %17) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %26, i64 8, i8* %25, i32 %17) - %27 = getelementptr inbounds i64, i64* %10, i64 256 - %28 = getelementptr inbounds i64, i64* %11, i64 256 - %29 = getelementptr inbounds i32, i32* %12, i64 256 - %30 = getelementptr inbounds i64, i64* %13, i64 256 - %31 = add nuw nsw i32 %14, 256 - %32 = icmp slt i32 %31, %5 - br i1 %32, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vxor.vsvmvl(i64, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vxor_vvvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vxor_vvvl.ll deleted file mode 100644 index 9c5bbeb1ea6c..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vxor_vvvl.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vxor_vvvl.c' -source_filename = "gen/tests/vxor_vvvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vxor_vvvl(i64* %0, i64* %1, i64* %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: vxor %v0, %v0, %v1 - %5 = icmp sgt i32 %3, 0 - br i1 %5, label %7, label %6 - -6: ; preds = %7, %4 - ret void - -7: ; preds = %4, %7 - %8 = phi i64* [ %21, %7 ], [ %0, %4 ] - %9 = phi i64* [ %22, %7 ], [ %1, %4 ] - %10 = phi i64* [ %23, %7 ], [ %2, %4 ] - %11 = phi i32 [ %24, %7 ], [ 0, %4 ] - %12 = sub nsw i32 %3, %11 - %13 = icmp slt i32 %12, 256 - %14 = select i1 %13, i32 %12, i32 256 - %15 = bitcast i64* %9 to i8* - %16 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %15, i32 %14) - %17 = bitcast i64* %10 to i8* - %18 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %17, i32 %14) - %19 = tail call <256 x double> @llvm.ve.vl.vxor.vvvl(<256 x double> %16, <256 x double> %18, i32 %14) - %20 = bitcast i64* %8 to i8* - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %19, i64 8, i8* %20, i32 %14) - %21 = getelementptr inbounds i64, i64* %8, i64 256 - %22 = getelementptr inbounds i64, i64* %9, i64 256 - %23 = getelementptr inbounds i64, i64* %10, i64 256 - %24 = add nuw nsw i32 %11, 256 - %25 = icmp slt i32 %24, %3 - br i1 %25, label %7, label %6 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vxor.vvvl(<256 x double>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vxor_vvvmvl.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vxor_vvvmvl.ll deleted file mode 100644 index e0b3d1c04d32..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-vxor_vvvmvl.ll +++ /dev/null @@ -1,72 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/vxor_vvvmvl.c' -source_filename = "gen/tests/vxor_vvvmvl.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nounwind -define dso_local void @vxor_vvvmvl(i64* %0, i64* %1, i64* %2, i32* %3, i64* %4, i32 signext %5) local_unnamed_addr #0 { -; CHECK: vxor %v3, %v0, %v1, %vm1 - %7 = icmp sgt i32 %5, 0 - br i1 %7, label %9, label %8 - -8: ; preds = %9, %6 - ret void - -9: ; preds = %6, %9 - %10 = phi i64* [ %30, %9 ], [ %0, %6 ] - %11 = phi i64* [ %31, %9 ], [ %1, %6 ] - %12 = phi i64* [ %32, %9 ], [ %2, %6 ] - %13 = phi i32* [ %33, %9 ], [ %3, %6 ] - %14 = phi i64* [ %34, %9 ], [ %4, %6 ] - %15 = phi i32 [ %35, %9 ], [ 0, %6 ] - %16 = sub nsw i32 %5, %15 - %17 = icmp slt i32 %16, 256 - %18 = select i1 %17, i32 %16, i32 256 - %19 = bitcast i64* %11 to i8* - %20 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %19, i32 %18) - %21 = bitcast i64* %12 to i8* - %22 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %21, i32 %18) - %23 = bitcast i32* %13 to i8* - %24 = tail call <256 x double> @llvm.ve.vl.vldlzx.vssl(i64 4, i8* %23, i32 %18) - %25 = tail call <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double> %24, i32 %18) - %26 = bitcast i64* %14 to i8* - %27 = tail call <256 x double> @llvm.ve.vl.vld.vssl(i64 8, i8* %26, i32 %18) - %28 = bitcast i64* %10 to i8* - %29 = tail call <256 x double> @llvm.ve.vl.vxor.vvvmvl(<256 x double> %20, <256 x double> %22, <256 x i1> %25, <256 x double> %27, i32 %18) - tail call void @llvm.ve.vl.vst.vssl(<256 x double> %29, i64 8, i8* %28, i32 %18) - %30 = getelementptr inbounds i64, i64* %10, i64 256 - %31 = getelementptr inbounds i64, i64* %11, i64 256 - %32 = getelementptr inbounds i64, i64* %12, i64 256 - %33 = getelementptr inbounds i32, i32* %13, i64 256 - %34 = getelementptr inbounds i64, i64* %14, i64 256 - %35 = add nuw nsw i32 %15, 256 - %36 = icmp slt i32 %35, %5 - br i1 %36, label %9, label %8 -} - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vld.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readonly -declare <256 x double> @llvm.ve.vl.vldlzx.vssl(i64, i8*, i32) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.vfmkwgt.mvl(<256 x double>, i32) #2 - -; Function Attrs: nounwind readnone -declare <256 x double> @llvm.ve.vl.vxor.vvvmvl(<256 x double>, <256 x double>, <256 x i1>, <256 x double>, i32) #2 - -; Function Attrs: nounwind writeonly -declare void @llvm.ve.vl.vst.vssl(<256 x double>, i64, i8*, i32) #3 - -attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readonly } -attributes #2 = { nounwind readnone } -attributes #3 = { nounwind writeonly } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-xorm_MMM.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-xorm_MMM.ll deleted file mode 100644 index 3c3dbfb01c60..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-xorm_MMM.ll +++ /dev/null @@ -1,104 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/xorm_MMM.c' -source_filename = "gen/tests/xorm_MMM.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nofree nounwind -define dso_local void @xorm_MMM(i64* nocapture %0, i64* nocapture readonly %1, i64* nocapture readonly %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: xorm %vm2, %vm2, %vm4 -; CHECK: xorm %vm3, %vm3, %vm5 - %5 = load i64, i64* %1, align 8, !tbaa !2 - %6 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> undef, i64 0, i64 %5) - %7 = load i64, i64* %2, align 8, !tbaa !2 - %8 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> undef, i64 0, i64 %7) - %9 = getelementptr inbounds i64, i64* %1, i64 1 - %10 = load i64, i64* %9, align 8, !tbaa !2 - %11 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %6, i64 1, i64 %10) - %12 = getelementptr inbounds i64, i64* %2, i64 1 - %13 = load i64, i64* %12, align 8, !tbaa !2 - %14 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %8, i64 1, i64 %13) - %15 = getelementptr inbounds i64, i64* %1, i64 2 - %16 = load i64, i64* %15, align 8, !tbaa !2 - %17 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %11, i64 2, i64 %16) - %18 = getelementptr inbounds i64, i64* %2, i64 2 - %19 = load i64, i64* %18, align 8, !tbaa !2 - %20 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %14, i64 2, i64 %19) - %21 = getelementptr inbounds i64, i64* %1, i64 3 - %22 = load i64, i64* %21, align 8, !tbaa !2 - %23 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %17, i64 3, i64 %22) - %24 = getelementptr inbounds i64, i64* %2, i64 3 - %25 = load i64, i64* %24, align 8, !tbaa !2 - %26 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %20, i64 3, i64 %25) - %27 = getelementptr inbounds i64, i64* %1, i64 4 - %28 = load i64, i64* %27, align 8, !tbaa !2 - %29 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %23, i64 4, i64 %28) - %30 = getelementptr inbounds i64, i64* %2, i64 4 - %31 = load i64, i64* %30, align 8, !tbaa !2 - %32 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %26, i64 4, i64 %31) - %33 = getelementptr inbounds i64, i64* %1, i64 5 - %34 = load i64, i64* %33, align 8, !tbaa !2 - %35 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %29, i64 5, i64 %34) - %36 = getelementptr inbounds i64, i64* %2, i64 5 - %37 = load i64, i64* %36, align 8, !tbaa !2 - %38 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %32, i64 5, i64 %37) - %39 = getelementptr inbounds i64, i64* %1, i64 6 - %40 = load i64, i64* %39, align 8, !tbaa !2 - %41 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %35, i64 6, i64 %40) - %42 = getelementptr inbounds i64, i64* %2, i64 6 - %43 = load i64, i64* %42, align 8, !tbaa !2 - %44 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %38, i64 6, i64 %43) - %45 = getelementptr inbounds i64, i64* %1, i64 7 - %46 = load i64, i64* %45, align 8, !tbaa !2 - %47 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %41, i64 7, i64 %46) - %48 = getelementptr inbounds i64, i64* %2, i64 7 - %49 = load i64, i64* %48, align 8, !tbaa !2 - %50 = tail call <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1> %44, i64 7, i64 %49) - %51 = tail call <512 x i1> @llvm.ve.vl.xorm.MMM(<512 x i1> %47, <512 x i1> %50) - %52 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %51, i64 0) - store i64 %52, i64* %0, align 8, !tbaa !2 - %53 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %51, i64 1) - %54 = getelementptr inbounds i64, i64* %0, i64 1 - store i64 %53, i64* %54, align 8, !tbaa !2 - %55 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %51, i64 2) - %56 = getelementptr inbounds i64, i64* %0, i64 2 - store i64 %55, i64* %56, align 8, !tbaa !2 - %57 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %51, i64 3) - %58 = getelementptr inbounds i64, i64* %0, i64 3 - store i64 %57, i64* %58, align 8, !tbaa !2 - %59 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %51, i64 4) - %60 = getelementptr inbounds i64, i64* %0, i64 4 - store i64 %59, i64* %60, align 8, !tbaa !2 - %61 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %51, i64 5) - %62 = getelementptr inbounds i64, i64* %0, i64 5 - store i64 %61, i64* %62, align 8, !tbaa !2 - %63 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %51, i64 6) - %64 = getelementptr inbounds i64, i64* %0, i64 6 - store i64 %63, i64* %64, align 8, !tbaa !2 - %65 = tail call i64 @llvm.ve.vl.svm.sMs(<512 x i1> %51, i64 7) - %66 = getelementptr inbounds i64, i64* %0, i64 7 - store i64 %65, i64* %66, align 8, !tbaa !2 - ret void -} - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.lvm.MMss(<512 x i1>, i64, i64) #1 - -; Function Attrs: nounwind readnone -declare <512 x i1> @llvm.ve.vl.xorm.MMM(<512 x i1>, <512 x i1>) #1 - -; Function Attrs: nounwind readnone -declare i64 @llvm.ve.vl.svm.sMs(<512 x i1>, i64) #1 - -attributes #0 = { nofree nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+vpu,+packed" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readnone } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} -!2 = !{!3, !3, i64 0} -!3 = !{!"long", !4, i64 0} -!4 = !{!"omnipotent char", !5, i64 0} -!5 = !{!"Simple C/C++ TBAA"} diff --git a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-xorm_mmm.ll b/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-xorm_mmm.ll deleted file mode 100644 index 352a3b56b6f3..000000000000 --- a/llvm/test/CodeGen/VE/VELIntrinsics/gen-velintrin-xorm_mmm.ll +++ /dev/null @@ -1,67 +0,0 @@ -; RUN: llc < %s -mtriple=ve-unknown-unknown -mattr=+packed | FileCheck %s -; ModuleID = 'gen/tests/xorm_mmm.c' -source_filename = "gen/tests/xorm_mmm.c" -target datalayout = "e-m:e-i64:64-n32:64-S128-v64:64:64-v128:64:64-v256:64:64-v512:64:64-v1024:64:64-v2048:64:64-v4096:64:64-v8192:64:64-v16384:64:64" -target triple = "ve-unknown-linux-gnu" - -; Function Attrs: nofree nounwind -define dso_local void @xorm_mmm(i64* nocapture %0, i64* nocapture readonly %1, i64* nocapture readonly %2, i32 signext %3) local_unnamed_addr #0 { -; CHECK: xorm %vm1, %vm1, %vm2 - %5 = load i64, i64* %1, align 8, !tbaa !2 - %6 = tail call <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1> undef, i64 0, i64 %5) - %7 = load i64, i64* %2, align 8, !tbaa !2 - %8 = tail call <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1> undef, i64 0, i64 %7) - %9 = getelementptr inbounds i64, i64* %1, i64 1 - %10 = load i64, i64* %9, align 8, !tbaa !2 - %11 = tail call <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1> %6, i64 1, i64 %10) - %12 = getelementptr inbounds i64, i64* %2, i64 1 - %13 = load i64, i64* %12, align 8, !tbaa !2 - %14 = tail call <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1> %8, i64 1, i64 %13) - %15 = getelementptr inbounds i64, i64* %1, i64 2 - %16 = load i64, i64* %15, align 8, !tbaa !2 - %17 = tail call <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1> %11, i64 2, i64 %16) - %18 = getelementptr inbounds i64, i64* %2, i64 2 - %19 = load i64, i64* %18, align 8, !tbaa !2 - %20 = tail call <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1> %14, i64 2, i64 %19) - %21 = getelementptr inbounds i64, i64* %1, i64 3 - %22 = load i64, i64* %21, align 8, !tbaa !2 - %23 = tail call <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1> %17, i64 3, i64 %22) - %24 = getelementptr inbounds i64, i64* %2, i64 3 - %25 = load i64, i64* %24, align 8, !tbaa !2 - %26 = tail call <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1> %20, i64 3, i64 %25) - %27 = tail call <256 x i1> @llvm.ve.vl.xorm.mmm(<256 x i1> %23, <256 x i1> %26) - %28 = tail call i64 @llvm.ve.vl.svm.sms(<256 x i1> %27, i64 0) - store i64 %28, i64* %0, align 8, !tbaa !2 - %29 = tail call i64 @llvm.ve.vl.svm.sms(<256 x i1> %27, i64 1) - %30 = getelementptr inbounds i64, i64* %0, i64 1 - store i64 %29, i64* %30, align 8, !tbaa !2 - %31 = tail call i64 @llvm.ve.vl.svm.sms(<256 x i1> %27, i64 2) - %32 = getelementptr inbounds i64, i64* %0, i64 2 - store i64 %31, i64* %32, align 8, !tbaa !2 - %33 = tail call i64 @llvm.ve.vl.svm.sms(<256 x i1> %27, i64 3) - %34 = getelementptr inbounds i64, i64* %0, i64 3 - store i64 %33, i64* %34, align 8, !tbaa !2 - ret void -} - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.lvm.mmss(<256 x i1>, i64, i64) #1 - -; Function Attrs: nounwind readnone -declare <256 x i1> @llvm.ve.vl.xorm.mmm(<256 x i1>, <256 x i1>) #1 - -; Function Attrs: nounwind readnone -declare i64 @llvm.ve.vl.svm.sms(<256 x i1>, i64) #1 - -attributes #0 = { nofree nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-vec" "unsafe-fp-math"="false" "use-soft-float"="false" } -attributes #1 = { nounwind readnone } - -!llvm.module.flags = !{!0} -!llvm.ident = !{!1} - -!0 = !{i32 1, !"wchar_size", i32 4} -!1 = !{!"clang version 12.0.0 (git@socsv218.svp.cl.nec.co.jp:ve-llvm/llvm-project.git ea1e45464a3c0492368cbabae9242628b03e399d)"} -!2 = !{!3, !3, i64 0} -!3 = !{!"long", !4, i64 0} -!4 = !{!"omnipotent char", !5, i64 0} -!5 = !{!"Simple C/C++ TBAA"}