craig.topper created this revision.
craig.topper added a reviewer: eopXD.
Herald added subscribers: sunshaoce, VincentWu, StephenFan, vkmr, frasercrmck, 
evandro, luismarques, apazos, sameer.abuasal, s.egerton, Jim, benna, psnobl, 
jocewei, PkmX, the_o, brucehoult, MartinMosbeck, rogfer01, edward-jones, 
zzheng, jrtc27, shiva0217, kito-cheng, niosHD, sabuasal, simoncook, johnrusso, 
rbar, asb, arichardson.
Herald added a project: All.
craig.topper requested review of this revision.
Herald added a subscriber: pcwang-thead.
Herald added a project: clang.

This conflicts with D140662 <https://reviews.llvm.org/D140662>, but wanted to 
post it for discussion.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D140678

Files:
  clang/include/clang/Basic/riscv_vector.td


Index: clang/include/clang/Basic/riscv_vector.td
===================================================================
--- clang/include/clang/Basic/riscv_vector.td
+++ clang/include/clang/Basic/riscv_vector.td
@@ -853,8 +853,7 @@
           Operands.push_back(Ops[NF]);
           Operands.push_back(Ops[NF + 2]);
         } else {
-          for (unsigned I = 0; I < NF; ++I)
-            Operands.push_back(Ops[NF + I + 1]);
+          Operands.append(Ops.begin() + NF + 1, Ops.begin() + 2 * NF + 1);
           Operands.push_back(Ops[2 * NF + 1]);
           Operands.push_back(Ops[NF]);
           Operands.push_back(Ops[2 * NF + 2]);
@@ -870,10 +869,7 @@
           Operands.push_back(Ops[NF]);
           Operands.push_back(Ops[NF + 1]);
         } else {
-          for (unsigned I = 0; I < NF; ++I)
-            Operands.push_back(Ops[NF + I]);
-          Operands.push_back(Ops[2 * NF]);
-          Operands.push_back(Ops[2 * NF + 1]);
+          Operands.append(Ops.begin() + NF, Ops.begin() + 2 * NF + 2);
         }
       }
       llvm::Function *F = CGM.getIntrinsic(ID, IntrinsicTypes);
@@ -931,8 +927,7 @@
           Operands.push_back(Ops[NF + 3]);
           NewVL = Ops[NF + 2];
         } else {
-          for (unsigned I = 0; I < NF; ++I)
-            Operands.push_back(Ops[NF + I + 1]);
+          Operands.append(Ops.begin() + NF + 1, Ops.begin() + 2 * NF + 1);
           Operands.push_back(Ops[2 * NF + 1]);
           Operands.push_back(Ops[NF]);
           Operands.push_back(Ops[2 * NF + 3]);
@@ -950,8 +945,7 @@
           Operands.push_back(Ops[NF + 2]);
           NewVL = Ops[NF + 1];
         } else {
-          for (unsigned I = 0; I < NF; ++I)
-            Operands.push_back(Ops[NF + I]);
+          Operands.append(Ops.begin() + NF, Ops.begin() + 2 * NF);
           Operands.push_back(Ops[2 * NF]);
           Operands.push_back(Ops[2 * NF + 2]);
           NewVL = Ops[2 * NF + 1];
@@ -1012,8 +1006,7 @@
           Operands.push_back(Ops[NF]);
           Operands.push_back(Ops[NF + 3]);
         } else {
-          for (unsigned I = 0; I < NF; ++I)
-            Operands.push_back(Ops[NF + I + 1]);
+          Operands.append(Ops.begin() + NF + 1, Ops.begin() + 2 * NF + 1);
           Operands.push_back(Ops[2 * NF + 1]);
           Operands.push_back(Ops[2 * NF + 2]);
           Operands.push_back(Ops[NF]);
@@ -1031,8 +1024,7 @@
           Operands.push_back(Ops[NF + 1]);
           Operands.push_back(Ops[NF + 2]);
         } else {
-          for (unsigned I = 0; I < NF; ++I)
-            Operands.push_back(Ops[NF + I]);
+          Operands.append(Ops.begin() + NF, Ops.begin() + 2 * NF);
           Operands.push_back(Ops[2 * NF]);
           Operands.push_back(Ops[2 * NF + 1]);
           Operands.push_back(Ops[2 * NF + 2]);
@@ -1087,8 +1079,7 @@
           Operands.push_back(Ops[NF + 3]);
           IntrinsicTypes = {ResultType, Ops[NF + 2]->getType(), 
Ops.back()->getType()};
         } else {
-          for (unsigned I = 0; I < NF; ++I)
-            Operands.push_back(Ops[NF + I + 1]);
+          Operands.append(Ops.begin() + NF + 1, Ops.begin() + 2 * NF + 1);
           Operands.push_back(Ops[2 * NF + 1]);
           Operands.push_back(Ops[2 * NF + 2]);
           Operands.push_back(Ops[NF]);
@@ -1108,8 +1099,7 @@
           Operands.push_back(Ops[NF + 2]);
           IntrinsicTypes = {ResultType, Ops[NF + 1]->getType(), 
Ops.back()->getType()};
         } else {
-          for (unsigned I = 0; I < NF; ++I)
-            Operands.push_back(Ops[NF + I]);
+          Operands.append(Ops.begin() + NF, Ops.begin() + 2 * NF);
           Operands.push_back(Ops[2 * NF]);
           Operands.push_back(Ops[2 * NF + 1]);
           Operands.push_back(Ops[2 * NF + 2]);


Index: clang/include/clang/Basic/riscv_vector.td
===================================================================
--- clang/include/clang/Basic/riscv_vector.td
+++ clang/include/clang/Basic/riscv_vector.td
@@ -853,8 +853,7 @@
           Operands.push_back(Ops[NF]);
           Operands.push_back(Ops[NF + 2]);
         } else {
-          for (unsigned I = 0; I < NF; ++I)
-            Operands.push_back(Ops[NF + I + 1]);
+          Operands.append(Ops.begin() + NF + 1, Ops.begin() + 2 * NF + 1);
           Operands.push_back(Ops[2 * NF + 1]);
           Operands.push_back(Ops[NF]);
           Operands.push_back(Ops[2 * NF + 2]);
@@ -870,10 +869,7 @@
           Operands.push_back(Ops[NF]);
           Operands.push_back(Ops[NF + 1]);
         } else {
-          for (unsigned I = 0; I < NF; ++I)
-            Operands.push_back(Ops[NF + I]);
-          Operands.push_back(Ops[2 * NF]);
-          Operands.push_back(Ops[2 * NF + 1]);
+          Operands.append(Ops.begin() + NF, Ops.begin() + 2 * NF + 2);
         }
       }
       llvm::Function *F = CGM.getIntrinsic(ID, IntrinsicTypes);
@@ -931,8 +927,7 @@
           Operands.push_back(Ops[NF + 3]);
           NewVL = Ops[NF + 2];
         } else {
-          for (unsigned I = 0; I < NF; ++I)
-            Operands.push_back(Ops[NF + I + 1]);
+          Operands.append(Ops.begin() + NF + 1, Ops.begin() + 2 * NF + 1);
           Operands.push_back(Ops[2 * NF + 1]);
           Operands.push_back(Ops[NF]);
           Operands.push_back(Ops[2 * NF + 3]);
@@ -950,8 +945,7 @@
           Operands.push_back(Ops[NF + 2]);
           NewVL = Ops[NF + 1];
         } else {
-          for (unsigned I = 0; I < NF; ++I)
-            Operands.push_back(Ops[NF + I]);
+          Operands.append(Ops.begin() + NF, Ops.begin() + 2 * NF);
           Operands.push_back(Ops[2 * NF]);
           Operands.push_back(Ops[2 * NF + 2]);
           NewVL = Ops[2 * NF + 1];
@@ -1012,8 +1006,7 @@
           Operands.push_back(Ops[NF]);
           Operands.push_back(Ops[NF + 3]);
         } else {
-          for (unsigned I = 0; I < NF; ++I)
-            Operands.push_back(Ops[NF + I + 1]);
+          Operands.append(Ops.begin() + NF + 1, Ops.begin() + 2 * NF + 1);
           Operands.push_back(Ops[2 * NF + 1]);
           Operands.push_back(Ops[2 * NF + 2]);
           Operands.push_back(Ops[NF]);
@@ -1031,8 +1024,7 @@
           Operands.push_back(Ops[NF + 1]);
           Operands.push_back(Ops[NF + 2]);
         } else {
-          for (unsigned I = 0; I < NF; ++I)
-            Operands.push_back(Ops[NF + I]);
+          Operands.append(Ops.begin() + NF, Ops.begin() + 2 * NF);
           Operands.push_back(Ops[2 * NF]);
           Operands.push_back(Ops[2 * NF + 1]);
           Operands.push_back(Ops[2 * NF + 2]);
@@ -1087,8 +1079,7 @@
           Operands.push_back(Ops[NF + 3]);
           IntrinsicTypes = {ResultType, Ops[NF + 2]->getType(), Ops.back()->getType()};
         } else {
-          for (unsigned I = 0; I < NF; ++I)
-            Operands.push_back(Ops[NF + I + 1]);
+          Operands.append(Ops.begin() + NF + 1, Ops.begin() + 2 * NF + 1);
           Operands.push_back(Ops[2 * NF + 1]);
           Operands.push_back(Ops[2 * NF + 2]);
           Operands.push_back(Ops[NF]);
@@ -1108,8 +1099,7 @@
           Operands.push_back(Ops[NF + 2]);
           IntrinsicTypes = {ResultType, Ops[NF + 1]->getType(), Ops.back()->getType()};
         } else {
-          for (unsigned I = 0; I < NF; ++I)
-            Operands.push_back(Ops[NF + I]);
+          Operands.append(Ops.begin() + NF, Ops.begin() + 2 * NF);
           Operands.push_back(Ops[2 * NF]);
           Operands.push_back(Ops[2 * NF + 1]);
           Operands.push_back(Ops[2 * NF + 2]);
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
  • [PATCH] D140678: [RIS... Craig Topper via Phabricator via cfe-commits

Reply via email to