Skip to content

Commit 3787cad

Browse files
committed
Precommit tests
1 parent 141bb1f commit 3787cad

File tree

1 file changed

+91
-2
lines changed

1 file changed

+91
-2
lines changed

llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.ll

Lines changed: 91 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2-
; RUN: llc -mtriple=riscv64 -mattr=+m,+f,+d,+a,+c,+v \
3-
; RUN: -target-abi=lp64d -verify-machineinstrs -O2 < %s | FileCheck %s
2+
; RUN: llc -mtriple=riscv64 -mattr=+m,+f,+d,+a,+c,+v -verify-machineinstrs -O2 < %s | FileCheck %s --check-prefixes=CHECK,NOMINVL
3+
; RUN: llc -mtriple=riscv64 -mattr=+m,+f,+d,+a,+c,+v,+minimize-vl -verify-machineinstrs -O2 < %s | FileCheck %s --check-prefixes=CHECK,MINVL
44

55
declare i64 @llvm.riscv.vsetvli(i64, i64, i64)
66
declare i64 @llvm.riscv.vsetvlimax(i64, i64)
@@ -722,3 +722,92 @@ define i64 @avl_undef2() {
722722
%1 = tail call i64 @llvm.riscv.vsetvli(i64 poison, i64 2, i64 7)
723723
ret i64 %1
724724
}
725+
726+
define <vscale x 1 x i64> @vslideup_vl1(<vscale x 1 x i64> %a) nounwind {
727+
; CHECK-LABEL: vslideup_vl1:
728+
; CHECK: # %bb.0: # %entry
729+
; CHECK-NEXT: vsetivli zero, 2, e64, m1, ta, ma
730+
; CHECK-NEXT: vslideup.vi v9, v8, 1
731+
; CHECK-NEXT: vadd.vv v8, v9, v9
732+
; CHECK-NEXT: ret
733+
entry:
734+
%1 = tail call <vscale x 1 x i64> @llvm.riscv.vslideup(
735+
<vscale x 1 x i64> poison,
736+
<vscale x 1 x i64> %a,
737+
i64 1,
738+
i64 1,
739+
i64 3)
740+
%2 = tail call <vscale x 1 x i64> @llvm.riscv.vadd(
741+
<vscale x 1 x i64> poison,
742+
<vscale x 1 x i64> %1,
743+
<vscale x 1 x i64> %1,
744+
i64 2)
745+
ret <vscale x 1 x i64> %2
746+
}
747+
748+
define <vscale x 1 x i64> @vslidedown_vl1(<vscale x 1 x i64> %a) nounwind {
749+
; CHECK-LABEL: vslidedown_vl1:
750+
; CHECK: # %bb.0: # %entry
751+
; CHECK-NEXT: vsetivli zero, 2, e64, m1, ta, ma
752+
; CHECK-NEXT: vslidedown.vi v8, v8, 1
753+
; CHECK-NEXT: vadd.vv v8, v8, v8
754+
; CHECK-NEXT: ret
755+
entry:
756+
%1 = tail call <vscale x 1 x i64> @llvm.riscv.vslidedown(
757+
<vscale x 1 x i64> poison,
758+
<vscale x 1 x i64> %a,
759+
i64 1,
760+
i64 1,
761+
i64 3)
762+
%2 = tail call <vscale x 1 x i64> @llvm.riscv.vadd(
763+
<vscale x 1 x i64> poison,
764+
<vscale x 1 x i64> %1,
765+
<vscale x 1 x i64> %1,
766+
i64 2)
767+
ret <vscale x 1 x i64> %2
768+
}
769+
770+
771+
define <vscale x 1 x i64> @vmv.v.x_vl1() nounwind {
772+
; CHECK-LABEL: vmv.v.x_vl1:
773+
; CHECK: # %bb.0: # %entry
774+
; CHECK-NEXT: vsetivli zero, 2, e64, m1, ta, ma
775+
; CHECK-NEXT: vmv.v.i v8, 1
776+
; CHECK-NEXT: vadd.vv v8, v8, v8
777+
; CHECK-NEXT: ret
778+
entry:
779+
%1 = tail call <vscale x 1 x i64> @llvm.riscv.vmv.v.x(
780+
<vscale x 1 x i64> poison,
781+
i64 1,
782+
i64 1)
783+
%2 = tail call <vscale x 1 x i64> @llvm.riscv.vadd(
784+
<vscale x 1 x i64> poison,
785+
<vscale x 1 x i64> %1,
786+
<vscale x 1 x i64> %1,
787+
i64 2)
788+
ret <vscale x 1 x i64> %2
789+
}
790+
791+
define <vscale x 1 x double> @vfmv.v.f_vl1(double %f) nounwind {
792+
; CHECK-LABEL: vfmv.v.f_vl1:
793+
; CHECK: # %bb.0: # %entry
794+
; CHECK-NEXT: vsetivli zero, 2, e64, m1, ta, ma
795+
; CHECK-NEXT: vfmv.s.f v8, fa0
796+
; CHECK-NEXT: vfadd.vv v8, v8, v8
797+
; CHECK-NEXT: ret
798+
entry:
799+
%1 = tail call <vscale x 1 x double> @llvm.riscv.vfmv.v.f(
800+
<vscale x 1 x double> poison,
801+
double %f,
802+
i64 1)
803+
%2 = tail call <vscale x 1 x double> @llvm.riscv.vfadd(
804+
<vscale x 1 x double> poison,
805+
<vscale x 1 x double> %1,
806+
<vscale x 1 x double> %1,
807+
i64 7,
808+
i64 2)
809+
ret <vscale x 1 x double> %2
810+
}
811+
;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:
812+
; MINVL: {{.*}}
813+
; NOMINVL: {{.*}}

0 commit comments

Comments
 (0)