@@ -2754,24 +2754,6 @@ foreach vt = [v2f16, v2bf16, v2i16, v4i8] in {
2754
2754
// Load / Store Handling
2755
2755
//
2756
2756
multiclass LD<NVPTXRegClass regclass> {
2757
- def _avar : NVPTXInst<
2758
- (outs regclass:$dst),
2759
- (ins LdStCode:$sem, LdStCode:$scope, LdStCode:$addsp, LdStCode:$Vec, LdStCode:$Sign,
2760
- i32imm:$fromWidth, imem:$addr),
2761
- "ld${sem:sem}${scope:scope}${addsp:addsp}${Vec:vec}.${Sign:sign}$fromWidth "
2762
- "\t$dst, [$addr];", []>;
2763
- def _areg : NVPTXInst<
2764
- (outs regclass:$dst),
2765
- (ins LdStCode:$sem, LdStCode:$scope, LdStCode:$addsp, LdStCode:$Vec, LdStCode:$Sign,
2766
- i32imm:$fromWidth, Int32Regs:$addr),
2767
- "ld${sem:sem}${scope:scope}${addsp:addsp}${Vec:vec}.${Sign:sign}$fromWidth "
2768
- "\t$dst, [$addr];", []>;
2769
- def _areg_64 : NVPTXInst<
2770
- (outs regclass:$dst),
2771
- (ins LdStCode:$sem, LdStCode:$scope, LdStCode:$addsp, LdStCode:$Vec, LdStCode:$Sign,
2772
- i32imm:$fromWidth, Int64Regs:$addr),
2773
- "ld${sem:sem}${scope:scope}${addsp:addsp}${Vec:vec}.${Sign:sign}$fromWidth "
2774
- "\t$dst, [$addr];", []>;
2775
2757
def _ari : NVPTXInst<
2776
2758
(outs regclass:$dst),
2777
2759
(ins LdStCode:$sem, LdStCode:$scope, LdStCode:$addsp, LdStCode:$Vec, LdStCode:$Sign,
@@ -2802,24 +2784,6 @@ let mayLoad=1, hasSideEffects=0 in {
2802
2784
}
2803
2785
2804
2786
multiclass ST<NVPTXRegClass regclass> {
2805
- def _avar : NVPTXInst<
2806
- (outs),
2807
- (ins regclass:$src, LdStCode:$sem, LdStCode:$scope, LdStCode:$addsp,
2808
- LdStCode:$Vec, LdStCode:$Sign, i32imm:$toWidth, imem:$addr),
2809
- "st${sem:sem}${scope:scope}${addsp:addsp}${Vec:vec}.${Sign:sign}$toWidth"
2810
- " \t[$addr], $src;", []>;
2811
- def _areg : NVPTXInst<
2812
- (outs),
2813
- (ins regclass:$src, LdStCode:$sem, LdStCode:$scope, LdStCode:$addsp,
2814
- LdStCode:$Vec, LdStCode:$Sign, i32imm:$toWidth, Int32Regs:$addr),
2815
- "st${sem:sem}${scope:scope}${addsp:addsp}${Vec:vec}.${Sign:sign}$toWidth"
2816
- " \t[$addr], $src;", []>;
2817
- def _areg_64 : NVPTXInst<
2818
- (outs),
2819
- (ins regclass:$src, LdStCode:$sem, LdStCode:$scope, LdStCode:$addsp,
2820
- LdStCode:$Vec, LdStCode:$Sign, i32imm:$toWidth, Int64Regs:$addr),
2821
- "st${sem:sem}${scope:scope}${addsp:addsp}${Vec:vec}.${Sign:sign}$toWidth"
2822
- " \t[$addr], $src;", []>;
2823
2787
def _ari : NVPTXInst<
2824
2788
(outs),
2825
2789
(ins regclass:$src, LdStCode:$sem, LdStCode:$scope, LdStCode:$addsp,
@@ -2856,24 +2820,6 @@ let mayStore=1, hasSideEffects=0 in {
2856
2820
// elementization happens at the machine instruction level, so the following
2857
2821
// instructions never appear in the DAG.
2858
2822
multiclass LD_VEC<NVPTXRegClass regclass> {
2859
- def _v2_avar : NVPTXInst<
2860
- (outs regclass:$dst1, regclass:$dst2),
2861
- (ins LdStCode:$sem, LdStCode:$scope, LdStCode:$addsp, LdStCode:$Vec,
2862
- LdStCode:$Sign, i32imm:$fromWidth, imem:$addr),
2863
- "ld${sem:sem}${scope:scope}${addsp:addsp}${Vec:vec}.${Sign:sign}$fromWidth "
2864
- "\t{{$dst1, $dst2}}, [$addr];", []>;
2865
- def _v2_areg : NVPTXInst<
2866
- (outs regclass:$dst1, regclass:$dst2),
2867
- (ins LdStCode:$sem, LdStCode:$scope, LdStCode:$addsp, LdStCode:$Vec,
2868
- LdStCode:$Sign, i32imm:$fromWidth, Int32Regs:$addr),
2869
- "ld${sem:sem}${scope:scope}${addsp:addsp}${Vec:vec}.${Sign:sign}$fromWidth "
2870
- "\t{{$dst1, $dst2}}, [$addr];", []>;
2871
- def _v2_areg_64 : NVPTXInst<
2872
- (outs regclass:$dst1, regclass:$dst2),
2873
- (ins LdStCode:$sem, LdStCode:$scope, LdStCode:$addsp, LdStCode:$Vec,
2874
- LdStCode:$Sign, i32imm:$fromWidth, Int64Regs:$addr),
2875
- "ld${sem:sem}${scope:scope}${addsp:addsp}${Vec:vec}.${Sign:sign}$fromWidth "
2876
- "\t{{$dst1, $dst2}}, [$addr];", []>;
2877
2823
def _v2_ari : NVPTXInst<
2878
2824
(outs regclass:$dst1, regclass:$dst2),
2879
2825
(ins LdStCode:$sem, LdStCode:$scope, LdStCode:$addsp, LdStCode:$Vec,
@@ -2892,24 +2838,6 @@ multiclass LD_VEC<NVPTXRegClass regclass> {
2892
2838
LdStCode:$Sign, i32imm:$fromWidth, imem:$addr, Offseti32imm:$offset),
2893
2839
"ld${sem:sem}${scope:scope}${addsp:addsp}${Vec:vec}.${Sign:sign}$fromWidth "
2894
2840
"\t{{$dst1, $dst2}}, [$addr$offset];", []>;
2895
- def _v4_avar : NVPTXInst<
2896
- (outs regclass:$dst1, regclass:$dst2, regclass:$dst3, regclass:$dst4),
2897
- (ins LdStCode:$sem, LdStCode:$scope, LdStCode:$addsp, LdStCode:$Vec,
2898
- LdStCode:$Sign, i32imm:$fromWidth, imem:$addr),
2899
- "ld${sem:sem}${scope:scope}${addsp:addsp}${Vec:vec}.${Sign:sign}$fromWidth "
2900
- "\t{{$dst1, $dst2, $dst3, $dst4}}, [$addr];", []>;
2901
- def _v4_areg : NVPTXInst<
2902
- (outs regclass:$dst1, regclass:$dst2, regclass:$dst3, regclass:$dst4),
2903
- (ins LdStCode:$sem, LdStCode:$scope, LdStCode:$addsp, LdStCode:$Vec,
2904
- LdStCode:$Sign, i32imm:$fromWidth, Int32Regs:$addr),
2905
- "ld${sem:sem}${scope:scope}${addsp:addsp}${Vec:vec}.${Sign:sign}$fromWidth "
2906
- "\t{{$dst1, $dst2, $dst3, $dst4}}, [$addr];", []>;
2907
- def _v4_areg_64 : NVPTXInst<
2908
- (outs regclass:$dst1, regclass:$dst2, regclass:$dst3, regclass:$dst4),
2909
- (ins LdStCode:$sem, LdStCode:$scope, LdStCode:$addsp, LdStCode:$Vec,
2910
- LdStCode:$Sign, i32imm:$fromWidth, Int64Regs:$addr),
2911
- "ld${sem:sem}${scope:scope}${addsp:addsp}${Vec:vec}.${Sign:sign}$fromWidth "
2912
- "\t{{$dst1, $dst2, $dst3, $dst4}}, [$addr];", []>;
2913
2841
def _v4_ari : NVPTXInst<
2914
2842
(outs regclass:$dst1, regclass:$dst2, regclass:$dst3, regclass:$dst4),
2915
2843
(ins LdStCode:$sem, LdStCode:$scope, LdStCode:$addsp, LdStCode:$Vec,
@@ -2939,27 +2867,6 @@ let mayLoad=1, hasSideEffects=0 in {
2939
2867
}
2940
2868
2941
2869
multiclass ST_VEC<NVPTXRegClass regclass> {
2942
- def _v2_avar : NVPTXInst<
2943
- (outs),
2944
- (ins regclass:$src1, regclass:$src2, LdStCode:$sem, LdStCode:$scope,
2945
- LdStCode:$addsp, LdStCode:$Vec, LdStCode:$Sign, i32imm:$fromWidth,
2946
- imem:$addr),
2947
- "st${sem:sem}${scope:scope}${addsp:addsp}${Vec:vec}.${Sign:sign}$fromWidth "
2948
- "\t[$addr], {{$src1, $src2}};", []>;
2949
- def _v2_areg : NVPTXInst<
2950
- (outs),
2951
- (ins regclass:$src1, regclass:$src2, LdStCode:$sem, LdStCode:$scope,
2952
- LdStCode:$addsp, LdStCode:$Vec, LdStCode:$Sign, i32imm:$fromWidth,
2953
- Int32Regs:$addr),
2954
- "st${sem:sem}${scope:scope}${addsp:addsp}${Vec:vec}.${Sign:sign}$fromWidth "
2955
- "\t[$addr], {{$src1, $src2}};", []>;
2956
- def _v2_areg_64 : NVPTXInst<
2957
- (outs),
2958
- (ins regclass:$src1, regclass:$src2, LdStCode:$sem, LdStCode:$scope,
2959
- LdStCode:$addsp, LdStCode:$Vec, LdStCode:$Sign, i32imm:$fromWidth,
2960
- Int64Regs:$addr),
2961
- "st${sem:sem}${scope:scope}${addsp:addsp}${Vec:vec}.${Sign:sign}$fromWidth "
2962
- "\t[$addr], {{$src1, $src2}};", []>;
2963
2870
def _v2_ari : NVPTXInst<
2964
2871
(outs),
2965
2872
(ins regclass:$src1, regclass:$src2, LdStCode:$sem, LdStCode:$scope,
@@ -2981,27 +2888,6 @@ multiclass ST_VEC<NVPTXRegClass regclass> {
2981
2888
imem:$addr, Offseti32imm:$offset),
2982
2889
"st${sem:sem}${scope:scope}${addsp:addsp}${Vec:vec}.${Sign:sign}$fromWidth "
2983
2890
"\t[$addr$offset], {{$src1, $src2}};", []>;
2984
- def _v4_avar : NVPTXInst<
2985
- (outs),
2986
- (ins regclass:$src1, regclass:$src2, regclass:$src3, regclass:$src4,
2987
- LdStCode:$sem, LdStCode:$scope, LdStCode:$addsp, LdStCode:$Vec,
2988
- LdStCode:$Sign, i32imm:$fromWidth, imem:$addr),
2989
- "st${sem:sem}${scope:scope}${addsp:addsp}${Vec:vec}.${Sign:sign}$fromWidth "
2990
- "\t[$addr], {{$src1, $src2, $src3, $src4}};", []>;
2991
- def _v4_areg : NVPTXInst<
2992
- (outs),
2993
- (ins regclass:$src1, regclass:$src2, regclass:$src3, regclass:$src4,
2994
- LdStCode:$sem, LdStCode:$scope, LdStCode:$addsp, LdStCode:$Vec,
2995
- LdStCode:$Sign, i32imm:$fromWidth, Int32Regs:$addr),
2996
- "st${sem:sem}${scope:scope}${addsp:addsp}${Vec:vec}.${Sign:sign}$fromWidth "
2997
- "\t[$addr], {{$src1, $src2, $src3, $src4}};", []>;
2998
- def _v4_areg_64 : NVPTXInst<
2999
- (outs),
3000
- (ins regclass:$src1, regclass:$src2, regclass:$src3, regclass:$src4,
3001
- LdStCode:$sem, LdStCode:$scope, LdStCode:$addsp, LdStCode:$Vec,
3002
- LdStCode:$Sign, i32imm:$fromWidth, Int64Regs:$addr),
3003
- "st${sem:sem}${scope:scope}${addsp:addsp}${Vec:vec}.${Sign:sign}$fromWidth "
3004
- "\t[$addr], {{$src1, $src2, $src3, $src4}};", []>;
3005
2891
def _v4_ari : NVPTXInst<
3006
2892
(outs),
3007
2893
(ins regclass:$src1, regclass:$src2, regclass:$src3, regclass:$src4,
0 commit comments