You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll
+24-48Lines changed: 24 additions & 48 deletions
Original file line number
Diff line number
Diff line change
@@ -2522,9 +2522,8 @@ define <vscale x 4 x i32> @vsaddu_vv(<vscale x 4 x i32> %a, <vscale x 4 x i32> %
2522
2522
;
2523
2523
; VLOPT-LABEL: vsaddu_vv:
2524
2524
; VLOPT: # %bb.0:
2525
-
; VLOPT-NEXT: vsetvli a1, zero, e32, m2, ta, ma
2526
-
; VLOPT-NEXT: vsaddu.vv v10, v8, v10
2527
2525
; VLOPT-NEXT: vsetvli zero, a0, e32, m2, ta, ma
2526
+
; VLOPT-NEXT: vsaddu.vv v10, v8, v10
2528
2527
; VLOPT-NEXT: vadd.vv v8, v10, v8
2529
2528
; VLOPT-NEXT: ret
2530
2529
%1 = call <vscale x 4 x i32> @llvm.riscv.vsaddu(<vscale x 4 x i32> poison, <vscale x 4 x i32> %a, <vscale x 4 x i32> %b, iXLen -1)
@@ -2543,9 +2542,8 @@ define <vscale x 4 x i32> @vsaddu_vx(<vscale x 4 x i32> %a, i32 %b, iXLen %vl) {
2543
2542
;
2544
2543
; VLOPT-LABEL: vsaddu_vx:
2545
2544
; VLOPT: # %bb.0:
2546
-
; VLOPT-NEXT: vsetvli a2, zero, e32, m2, ta, ma
2547
-
; VLOPT-NEXT: vsaddu.vx v10, v8, a0
2548
2545
; VLOPT-NEXT: vsetvli zero, a1, e32, m2, ta, ma
2546
+
; VLOPT-NEXT: vsaddu.vx v10, v8, a0
2549
2547
; VLOPT-NEXT: vadd.vv v8, v10, v8
2550
2548
; VLOPT-NEXT: ret
2551
2549
%1 = call <vscale x 4 x i32> @llvm.riscv.vsaddu(<vscale x 4 x i32> poison, <vscale x 4 x i32> %a, i32%b, iXLen -1)
@@ -2564,9 +2562,8 @@ define <vscale x 4 x i32> @vsaddu_vi(<vscale x 4 x i32> %a, iXLen %vl) {
2564
2562
;
2565
2563
; VLOPT-LABEL: vsaddu_vi:
2566
2564
; VLOPT: # %bb.0:
2567
-
; VLOPT-NEXT: vsetvli a1, zero, e32, m2, ta, ma
2568
-
; VLOPT-NEXT: vsaddu.vi v10, v8, 5
2569
2565
; VLOPT-NEXT: vsetvli zero, a0, e32, m2, ta, ma
2566
+
; VLOPT-NEXT: vsaddu.vi v10, v8, 5
2570
2567
; VLOPT-NEXT: vadd.vv v8, v10, v8
2571
2568
; VLOPT-NEXT: ret
2572
2569
%1 = call <vscale x 4 x i32> @llvm.riscv.vsaddu(<vscale x 4 x i32> poison, <vscale x 4 x i32> %a, i325, iXLen -1)
@@ -2585,9 +2582,8 @@ define <vscale x 4 x i32> @vsadd_vv(<vscale x 4 x i32> %a, <vscale x 4 x i32> %b
2585
2582
;
2586
2583
; VLOPT-LABEL: vsadd_vv:
2587
2584
; VLOPT: # %bb.0:
2588
-
; VLOPT-NEXT: vsetvli a1, zero, e32, m2, ta, ma
2589
-
; VLOPT-NEXT: vsadd.vv v10, v8, v10
2590
2585
; VLOPT-NEXT: vsetvli zero, a0, e32, m2, ta, ma
2586
+
; VLOPT-NEXT: vsadd.vv v10, v8, v10
2591
2587
; VLOPT-NEXT: vadd.vv v8, v10, v8
2592
2588
; VLOPT-NEXT: ret
2593
2589
%1 = call <vscale x 4 x i32> @llvm.riscv.vsadd(<vscale x 4 x i32> poison, <vscale x 4 x i32> %a, <vscale x 4 x i32> %b, iXLen -1)
@@ -2606,9 +2602,8 @@ define <vscale x 4 x i32> @vsadd_vx(<vscale x 4 x i32> %a, i32 %b, iXLen %vl) {
2606
2602
;
2607
2603
; VLOPT-LABEL: vsadd_vx:
2608
2604
; VLOPT: # %bb.0:
2609
-
; VLOPT-NEXT: vsetvli a2, zero, e32, m2, ta, ma
2610
-
; VLOPT-NEXT: vsadd.vx v10, v8, a0
2611
2605
; VLOPT-NEXT: vsetvli zero, a1, e32, m2, ta, ma
2606
+
; VLOPT-NEXT: vsadd.vx v10, v8, a0
2612
2607
; VLOPT-NEXT: vadd.vv v8, v10, v8
2613
2608
; VLOPT-NEXT: ret
2614
2609
%1 = call <vscale x 4 x i32> @llvm.riscv.vsadd(<vscale x 4 x i32> poison, <vscale x 4 x i32> %a, i32%b, iXLen -1)
@@ -2627,9 +2622,8 @@ define <vscale x 4 x i32> @vsadd_vi(<vscale x 4 x i32> %a, iXLen %vl) {
2627
2622
;
2628
2623
; VLOPT-LABEL: vsadd_vi:
2629
2624
; VLOPT: # %bb.0:
2630
-
; VLOPT-NEXT: vsetvli a1, zero, e32, m2, ta, ma
2631
-
; VLOPT-NEXT: vsadd.vi v10, v8, 5
2632
2625
; VLOPT-NEXT: vsetvli zero, a0, e32, m2, ta, ma
2626
+
; VLOPT-NEXT: vsadd.vi v10, v8, 5
2633
2627
; VLOPT-NEXT: vadd.vv v8, v10, v8
2634
2628
; VLOPT-NEXT: ret
2635
2629
%1 = call <vscale x 4 x i32> @llvm.riscv.vsadd(<vscale x 4 x i32> poison, <vscale x 4 x i32> %a, i325, iXLen -1)
@@ -2648,9 +2642,8 @@ define <vscale x 4 x i32> @vssubu_vv(<vscale x 4 x i32> %a, <vscale x 4 x i32> %
2648
2642
;
2649
2643
; VLOPT-LABEL: vssubu_vv:
2650
2644
; VLOPT: # %bb.0:
2651
-
; VLOPT-NEXT: vsetvli a1, zero, e32, m2, ta, ma
2652
-
; VLOPT-NEXT: vssubu.vv v10, v8, v10
2653
2645
; VLOPT-NEXT: vsetvli zero, a0, e32, m2, ta, ma
2646
+
; VLOPT-NEXT: vssubu.vv v10, v8, v10
2654
2647
; VLOPT-NEXT: vadd.vv v8, v10, v8
2655
2648
; VLOPT-NEXT: ret
2656
2649
%1 = call <vscale x 4 x i32> @llvm.riscv.vssubu(<vscale x 4 x i32> poison, <vscale x 4 x i32> %a, <vscale x 4 x i32> %b, iXLen -1)
@@ -2669,9 +2662,8 @@ define <vscale x 4 x i32> @vssubu_vx(<vscale x 4 x i32> %a, i32 %b, iXLen %vl) {
2669
2662
;
2670
2663
; VLOPT-LABEL: vssubu_vx:
2671
2664
; VLOPT: # %bb.0:
2672
-
; VLOPT-NEXT: vsetvli a2, zero, e32, m2, ta, ma
2673
-
; VLOPT-NEXT: vssubu.vx v10, v8, a0
2674
2665
; VLOPT-NEXT: vsetvli zero, a1, e32, m2, ta, ma
2666
+
; VLOPT-NEXT: vssubu.vx v10, v8, a0
2675
2667
; VLOPT-NEXT: vadd.vv v8, v10, v8
2676
2668
; VLOPT-NEXT: ret
2677
2669
%1 = call <vscale x 4 x i32> @llvm.riscv.vssubu(<vscale x 4 x i32> poison, <vscale x 4 x i32> %a, i32%b, iXLen -1)
@@ -2690,9 +2682,8 @@ define <vscale x 4 x i32> @vssub_vv(<vscale x 4 x i32> %a, <vscale x 4 x i32> %b
2690
2682
;
2691
2683
; VLOPT-LABEL: vssub_vv:
2692
2684
; VLOPT: # %bb.0:
2693
-
; VLOPT-NEXT: vsetvli a1, zero, e32, m2, ta, ma
2694
-
; VLOPT-NEXT: vssub.vv v10, v8, v10
2695
2685
; VLOPT-NEXT: vsetvli zero, a0, e32, m2, ta, ma
2686
+
; VLOPT-NEXT: vssub.vv v10, v8, v10
2696
2687
; VLOPT-NEXT: vadd.vv v8, v10, v8
2697
2688
; VLOPT-NEXT: ret
2698
2689
%1 = call <vscale x 4 x i32> @llvm.riscv.vssub(<vscale x 4 x i32> poison, <vscale x 4 x i32> %a, <vscale x 4 x i32> %b, iXLen -1)
@@ -2711,9 +2702,8 @@ define <vscale x 4 x i32> @vssub_vx(<vscale x 4 x i32> %a, i32 %b, iXLen %vl) {
2711
2702
;
2712
2703
; VLOPT-LABEL: vssub_vx:
2713
2704
; VLOPT: # %bb.0:
2714
-
; VLOPT-NEXT: vsetvli a2, zero, e32, m2, ta, ma
2715
-
; VLOPT-NEXT: vssub.vx v10, v8, a0
2716
2705
; VLOPT-NEXT: vsetvli zero, a1, e32, m2, ta, ma
2706
+
; VLOPT-NEXT: vssub.vx v10, v8, a0
2717
2707
; VLOPT-NEXT: vadd.vv v8, v10, v8
2718
2708
; VLOPT-NEXT: ret
2719
2709
%1 = call <vscale x 4 x i32> @llvm.riscv.vssub(<vscale x 4 x i32> poison, <vscale x 4 x i32> %a, i32%b, iXLen -1)
@@ -2734,9 +2724,8 @@ define <vscale x 4 x i32> @vsmul_vv(<vscale x 4 x i32> %a, <vscale x 4 x i32> %b
2734
2724
; VLOPT-LABEL: vsmul_vv:
2735
2725
; VLOPT: # %bb.0:
2736
2726
; VLOPT-NEXT: csrwi vxrm, 0
2737
-
; VLOPT-NEXT: vsetvli a1, zero, e32, m2, ta, ma
2738
-
; VLOPT-NEXT: vsmul.vv v8, v8, v10
2739
2727
; VLOPT-NEXT: vsetvli zero, a0, e32, m2, ta, ma
2728
+
; VLOPT-NEXT: vsmul.vv v8, v8, v10
2740
2729
; VLOPT-NEXT: vadd.vv v8, v8, v10
2741
2730
; VLOPT-NEXT: ret
2742
2731
%1 = call <vscale x 4 x i32> @llvm.riscv.vsmul.nxv4i32.nxv4i32(<vscale x 4 x i32> poison, <vscale x 4 x i32> %a, <vscale x 4 x i32> %b, iXLen 0, iXLen -1)
@@ -2757,9 +2746,8 @@ define <vscale x 4 x i32> @vsmul_vx(<vscale x 4 x i32> %a, i32 %b, iXLen %vl) {
2757
2746
; VLOPT-LABEL: vsmul_vx:
2758
2747
; VLOPT: # %bb.0:
2759
2748
; VLOPT-NEXT: csrwi vxrm, 0
2760
-
; VLOPT-NEXT: vsetvli a2, zero, e32, m2, ta, ma
2761
-
; VLOPT-NEXT: vsmul.vx v10, v8, a0
2762
2749
; VLOPT-NEXT: vsetvli zero, a1, e32, m2, ta, ma
2750
+
; VLOPT-NEXT: vsmul.vx v10, v8, a0
2763
2751
; VLOPT-NEXT: vadd.vv v8, v10, v8
2764
2752
; VLOPT-NEXT: ret
2765
2753
%1 = call <vscale x 4 x i32> @llvm.riscv.vsmul.nxv4i32.nxv4i32(<vscale x 4 x i32> poison, <vscale x 4 x i32> %a, i32%b, iXLen 0, iXLen -1)
@@ -2780,9 +2768,8 @@ define <vscale x 4 x i32> @vssrl_vv(<vscale x 4 x i32> %a, <vscale x 4 x i32> %b
2780
2768
; VLOPT-LABEL: vssrl_vv:
2781
2769
; VLOPT: # %bb.0:
2782
2770
; VLOPT-NEXT: csrwi vxrm, 0
2783
-
; VLOPT-NEXT: vsetvli a1, zero, e32, m2, ta, ma
2784
-
; VLOPT-NEXT: vssrl.vv v8, v8, v10
2785
2771
; VLOPT-NEXT: vsetvli zero, a0, e32, m2, ta, ma
2772
+
; VLOPT-NEXT: vssrl.vv v8, v8, v10
2786
2773
; VLOPT-NEXT: vadd.vv v8, v8, v10
2787
2774
; VLOPT-NEXT: ret
2788
2775
%1 = call <vscale x 4 x i32> @llvm.riscv.vssrl.nxv4i32.nxv4i32(<vscale x 4 x i32> poison, <vscale x 4 x i32> %a, <vscale x 4 x i32> %b, iXLen 0, iXLen -1)
@@ -2803,9 +2790,8 @@ define <vscale x 4 x i32> @vssrl_vx(<vscale x 4 x i32> %a, iXLen %b, iXLen %vl)
2803
2790
; VLOPT-LABEL: vssrl_vx:
2804
2791
; VLOPT: # %bb.0:
2805
2792
; VLOPT-NEXT: csrwi vxrm, 0
2806
-
; VLOPT-NEXT: vsetvli a2, zero, e32, m2, ta, ma
2807
-
; VLOPT-NEXT: vssrl.vx v10, v8, a0
2808
2793
; VLOPT-NEXT: vsetvli zero, a1, e32, m2, ta, ma
2794
+
; VLOPT-NEXT: vssrl.vx v10, v8, a0
2809
2795
; VLOPT-NEXT: vadd.vv v8, v10, v8
2810
2796
; VLOPT-NEXT: ret
2811
2797
%1 = call <vscale x 4 x i32> @llvm.riscv.vssrl.nxv4i32.nxv4i32(<vscale x 4 x i32> poison, <vscale x 4 x i32> %a, iXLen %b, iXLen 0, iXLen -1)
@@ -2826,9 +2812,8 @@ define <vscale x 4 x i32> @vssrl_vi(<vscale x 4 x i32> %a, iXLen %vl) {
2826
2812
; VLOPT-LABEL: vssrl_vi:
2827
2813
; VLOPT: # %bb.0:
2828
2814
; VLOPT-NEXT: csrwi vxrm, 0
2829
-
; VLOPT-NEXT: vsetvli a1, zero, e32, m2, ta, ma
2830
-
; VLOPT-NEXT: vssrl.vi v10, v8, 5
2831
2815
; VLOPT-NEXT: vsetvli zero, a0, e32, m2, ta, ma
2816
+
; VLOPT-NEXT: vssrl.vi v10, v8, 5
2832
2817
; VLOPT-NEXT: vadd.vv v8, v10, v8
2833
2818
; VLOPT-NEXT: ret
2834
2819
%1 = call <vscale x 4 x i32> @llvm.riscv.vssrl.nxv4i32.nxv4i32(<vscale x 4 x i32> poison, <vscale x 4 x i32> %a, iXLen 5, iXLen 0, iXLen -1)
@@ -2849,9 +2834,8 @@ define <vscale x 4 x i32> @vssra_vv(<vscale x 4 x i32> %a, <vscale x 4 x i32> %b
2849
2834
; VLOPT-LABEL: vssra_vv:
2850
2835
; VLOPT: # %bb.0:
2851
2836
; VLOPT-NEXT: csrwi vxrm, 0
2852
-
; VLOPT-NEXT: vsetvli a1, zero, e32, m2, ta, ma
2853
-
; VLOPT-NEXT: vssra.vv v8, v8, v10
2854
2837
; VLOPT-NEXT: vsetvli zero, a0, e32, m2, ta, ma
2838
+
; VLOPT-NEXT: vssra.vv v8, v8, v10
2855
2839
; VLOPT-NEXT: vadd.vv v8, v8, v10
2856
2840
; VLOPT-NEXT: ret
2857
2841
%1 = call <vscale x 4 x i32> @llvm.riscv.vssra.nxv4i32.nxv4i32(<vscale x 4 x i32> poison, <vscale x 4 x i32> %a, <vscale x 4 x i32> %b, iXLen 0, iXLen -1)
@@ -2872,9 +2856,8 @@ define <vscale x 4 x i32> @vssra_vx(<vscale x 4 x i32> %a, iXLen %b, iXLen %vl)
2872
2856
; VLOPT-LABEL: vssra_vx:
2873
2857
; VLOPT: # %bb.0:
2874
2858
; VLOPT-NEXT: csrwi vxrm, 0
2875
-
; VLOPT-NEXT: vsetvli a2, zero, e32, m2, ta, ma
2876
-
; VLOPT-NEXT: vssra.vx v10, v8, a0
2877
2859
; VLOPT-NEXT: vsetvli zero, a1, e32, m2, ta, ma
2860
+
; VLOPT-NEXT: vssra.vx v10, v8, a0
2878
2861
; VLOPT-NEXT: vadd.vv v8, v10, v8
2879
2862
; VLOPT-NEXT: ret
2880
2863
%1 = call <vscale x 4 x i32> @llvm.riscv.vssra.nxv4i32.nxv4i32(<vscale x 4 x i32> poison, <vscale x 4 x i32> %a, iXLen %b, iXLen 0, iXLen -1)
@@ -2895,9 +2878,8 @@ define <vscale x 4 x i32> @vssra_vi(<vscale x 4 x i32> %a, iXLen %vl) {
2895
2878
; VLOPT-LABEL: vssra_vi:
2896
2879
; VLOPT: # %bb.0:
2897
2880
; VLOPT-NEXT: csrwi vxrm, 0
2898
-
; VLOPT-NEXT: vsetvli a1, zero, e32, m2, ta, ma
2899
-
; VLOPT-NEXT: vssra.vi v10, v8, 5
2900
2881
; VLOPT-NEXT: vsetvli zero, a0, e32, m2, ta, ma
2882
+
; VLOPT-NEXT: vssra.vi v10, v8, 5
2901
2883
; VLOPT-NEXT: vadd.vv v8, v10, v8
2902
2884
; VLOPT-NEXT: ret
2903
2885
%1 = call <vscale x 4 x i32> @llvm.riscv.vssra.nxv4i32.nxv4i32(<vscale x 4 x i32> poison, <vscale x 4 x i32> %a, iXLen 5, iXLen 0, iXLen -1)
@@ -2918,9 +2900,8 @@ define <vscale x 4 x i32> @vnclipu_vv(<vscale x 4 x i64> %a, <vscale x 4 x i32>
2918
2900
; VLOPT-LABEL: vnclipu_vv:
2919
2901
; VLOPT: # %bb.0:
2920
2902
; VLOPT-NEXT: csrwi vxrm, 0
2921
-
; VLOPT-NEXT: vsetvli a1, zero, e32, m2, ta, ma
2922
-
; VLOPT-NEXT: vnclipu.wv v14, v8, v12
2923
2903
; VLOPT-NEXT: vsetvli zero, a0, e32, m2, ta, ma
2904
+
; VLOPT-NEXT: vnclipu.wv v14, v8, v12
2924
2905
; VLOPT-NEXT: vadd.vv v8, v14, v14
2925
2906
; VLOPT-NEXT: ret
2926
2907
%1 = call <vscale x 4 x i32> @llvm.riscv.vnclipu(<vscale x 4 x i32> poison, <vscale x 4 x i64> %a, <vscale x 4 x i32> %b, iXLen 0, iXLen -1)
@@ -2941,9 +2922,8 @@ define <vscale x 4 x i32> @vnclipu_vx(<vscale x 4 x i64> %a, iXLen %b, iXLen %vl
2941
2922
; VLOPT-LABEL: vnclipu_vx:
2942
2923
; VLOPT: # %bb.0:
2943
2924
; VLOPT-NEXT: csrwi vxrm, 0
2944
-
; VLOPT-NEXT: vsetvli a2, zero, e32, m2, ta, ma
2945
-
; VLOPT-NEXT: vnclipu.wx v12, v8, a0
2946
2925
; VLOPT-NEXT: vsetvli zero, a1, e32, m2, ta, ma
2926
+
; VLOPT-NEXT: vnclipu.wx v12, v8, a0
2947
2927
; VLOPT-NEXT: vadd.vv v8, v12, v12
2948
2928
; VLOPT-NEXT: ret
2949
2929
%1 = call <vscale x 4 x i32> @llvm.riscv.vnclipu(<vscale x 4 x i32> poison, <vscale x 4 x i64> %a, iXLen %b, iXLen 0, iXLen -1)
@@ -2964,9 +2944,8 @@ define <vscale x 4 x i32> @vnclipu_vi(<vscale x 4 x i64> %a, iXLen %vl) {
2964
2944
; VLOPT-LABEL: vnclipu_vi:
2965
2945
; VLOPT: # %bb.0:
2966
2946
; VLOPT-NEXT: csrwi vxrm, 0
2967
-
; VLOPT-NEXT: vsetvli a1, zero, e32, m2, ta, ma
2968
-
; VLOPT-NEXT: vnclipu.wi v12, v8, 5
2969
2947
; VLOPT-NEXT: vsetvli zero, a0, e32, m2, ta, ma
2948
+
; VLOPT-NEXT: vnclipu.wi v12, v8, 5
2970
2949
; VLOPT-NEXT: vadd.vv v8, v12, v12
2971
2950
; VLOPT-NEXT: ret
2972
2951
%1 = call <vscale x 4 x i32> @llvm.riscv.vnclipu(<vscale x 4 x i32> poison, <vscale x 4 x i64> %a, iXLen 5, iXLen 0, iXLen -1)
@@ -2987,9 +2966,8 @@ define <vscale x 4 x i32> @vnclip_vv(<vscale x 4 x i64> %a, <vscale x 4 x i32> %
2987
2966
; VLOPT-LABEL: vnclip_vv:
2988
2967
; VLOPT: # %bb.0:
2989
2968
; VLOPT-NEXT: csrwi vxrm, 0
2990
-
; VLOPT-NEXT: vsetvli a1, zero, e32, m2, ta, ma
2991
-
; VLOPT-NEXT: vnclip.wv v14, v8, v12
2992
2969
; VLOPT-NEXT: vsetvli zero, a0, e32, m2, ta, ma
2970
+
; VLOPT-NEXT: vnclip.wv v14, v8, v12
2993
2971
; VLOPT-NEXT: vadd.vv v8, v14, v14
2994
2972
; VLOPT-NEXT: ret
2995
2973
%1 = call <vscale x 4 x i32> @llvm.riscv.vnclip(<vscale x 4 x i32> poison, <vscale x 4 x i64> %a, <vscale x 4 x i32> %b, iXLen 0, iXLen -1)
@@ -3010,9 +2988,8 @@ define <vscale x 4 x i32> @vnclip_vx(<vscale x 4 x i64> %a, iXLen %b, iXLen %vl)
3010
2988
; VLOPT-LABEL: vnclip_vx:
3011
2989
; VLOPT: # %bb.0:
3012
2990
; VLOPT-NEXT: csrwi vxrm, 0
3013
-
; VLOPT-NEXT: vsetvli a2, zero, e32, m2, ta, ma
3014
-
; VLOPT-NEXT: vnclip.wx v12, v8, a0
3015
2991
; VLOPT-NEXT: vsetvli zero, a1, e32, m2, ta, ma
2992
+
; VLOPT-NEXT: vnclip.wx v12, v8, a0
3016
2993
; VLOPT-NEXT: vadd.vv v8, v12, v12
3017
2994
; VLOPT-NEXT: ret
3018
2995
%1 = call <vscale x 4 x i32> @llvm.riscv.vnclip(<vscale x 4 x i32> poison, <vscale x 4 x i64> %a, iXLen %b, iXLen 0, iXLen -1)
@@ -3033,9 +3010,8 @@ define <vscale x 4 x i32> @vnclip_vi(<vscale x 4 x i64> %a, iXLen %vl) {
3033
3010
; VLOPT-LABEL: vnclip_vi:
3034
3011
; VLOPT: # %bb.0:
3035
3012
; VLOPT-NEXT: csrwi vxrm, 0
3036
-
; VLOPT-NEXT: vsetvli a1, zero, e32, m2, ta, ma
3037
-
; VLOPT-NEXT: vnclip.wi v12, v8, 5
3038
3013
; VLOPT-NEXT: vsetvli zero, a0, e32, m2, ta, ma
3014
+
; VLOPT-NEXT: vnclip.wi v12, v8, 5
3039
3015
; VLOPT-NEXT: vadd.vv v8, v12, v12
3040
3016
; VLOPT-NEXT: ret
3041
3017
%1 = call <vscale x 4 x i32> @llvm.riscv.vnclip(<vscale x 4 x i32> poison, <vscale x 4 x i64> %a, iXLen 5, iXLen 0, iXLen -1)
0 commit comments