@@ -2754,24 +2754,6 @@ foreach vt = [v2f16, v2bf16, v2i16, v4i8] in {
27542754// Load / Store Handling
27552755//
27562756multiclass 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];", []>;
27752757 def _ari : NVPTXInst<
27762758 (outs regclass:$dst),
27772759 (ins LdStCode:$sem, LdStCode:$scope, LdStCode:$addsp, LdStCode:$Vec, LdStCode:$Sign,
@@ -2802,24 +2784,6 @@ let mayLoad=1, hasSideEffects=0 in {
28022784}
28032785
28042786multiclass 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;", []>;
28232787 def _ari : NVPTXInst<
28242788 (outs),
28252789 (ins regclass:$src, LdStCode:$sem, LdStCode:$scope, LdStCode:$addsp,
@@ -2856,24 +2820,6 @@ let mayStore=1, hasSideEffects=0 in {
28562820// elementization happens at the machine instruction level, so the following
28572821// instructions never appear in the DAG.
28582822multiclass 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];", []>;
28772823 def _v2_ari : NVPTXInst<
28782824 (outs regclass:$dst1, regclass:$dst2),
28792825 (ins LdStCode:$sem, LdStCode:$scope, LdStCode:$addsp, LdStCode:$Vec,
@@ -2892,24 +2838,6 @@ multiclass LD_VEC<NVPTXRegClass regclass> {
28922838 LdStCode:$Sign, i32imm:$fromWidth, imem:$addr, Offseti32imm:$offset),
28932839 "ld${sem:sem}${scope:scope}${addsp:addsp}${Vec:vec}.${Sign:sign}$fromWidth "
28942840 "\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];", []>;
29132841 def _v4_ari : NVPTXInst<
29142842 (outs regclass:$dst1, regclass:$dst2, regclass:$dst3, regclass:$dst4),
29152843 (ins LdStCode:$sem, LdStCode:$scope, LdStCode:$addsp, LdStCode:$Vec,
@@ -2939,27 +2867,6 @@ let mayLoad=1, hasSideEffects=0 in {
29392867}
29402868
29412869multiclass 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}};", []>;
29632870 def _v2_ari : NVPTXInst<
29642871 (outs),
29652872 (ins regclass:$src1, regclass:$src2, LdStCode:$sem, LdStCode:$scope,
@@ -2981,27 +2888,6 @@ multiclass ST_VEC<NVPTXRegClass regclass> {
29812888 imem:$addr, Offseti32imm:$offset),
29822889 "st${sem:sem}${scope:scope}${addsp:addsp}${Vec:vec}.${Sign:sign}$fromWidth "
29832890 "\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}};", []>;
30052891 def _v4_ari : NVPTXInst<
30062892 (outs),
30072893 (ins regclass:$src1, regclass:$src2, regclass:$src3, regclass:$src4,
0 commit comments