SjoerdMeijer added a comment.

Big patch, I only did a first scan, but looks very reasonable in general. Just 
a first round of nits and 2 questions.



================
Comment at: clang/include/clang/Basic/arm_sve.td:121
+// Load one vector (scalar base)
+def SVLD1   : MInst<"svld1[_{2}]", "dPc", "csilUcUsUiUlhfd", [IsLoad]>;
----------------
This encoding, e.g, this is  "csilUcUsUiUlhfd", is such a monstrosity. It's a 
very efficient encoding, but of course completely unreadable.  I know there is 
prior art, and know that this is how it's been done, but just curious if you 
have given it thoughts how to do this in a normal way, a bit more c++y.  I 
don't want to de-rail this work, but if we are adding a new emitter, perhaps 
now is the time to give it a thought, so was just curious.  


================
Comment at: clang/utils/TableGen/SveEmitter.cpp:1
 //===- SveEmitter.cpp - Generate arm_sve.h for use with clang -*- C++ -*-===//
 //
----------------
I wanted to add the nit that SveEmiiter.cpp should perhaps be SVEEmitter.cpp, 
but then I saw at the bottom that MVE is spelled Mve, so perhaps this is fine 
then.


================
Comment at: clang/utils/TableGen/SveEmitter.cpp:64
+        Predicate(false), PredicatePattern(false), PrefetchOp(false),
+        Bitwidth(128), ElementBitwidth(~0U), NumVectors(1) {
+    if (!TS.empty())
----------------
why a default of 128? Will this gives problems for SVE implementions with> 128 
bits?


================
Comment at: clang/utils/TableGen/SveEmitter.cpp:119
+class Intrinsic {
+  /// The Record this intrinsic was created from.
+  Record *R;
----------------
nit: for readability, perhaps don't abbreviate some of these member names? 

 R -> Record
 BaseTS -> BaseTypeSpec
 CK -> ClassKind


================
Comment at: clang/utils/TableGen/SveEmitter.cpp:263
+unsigned SVEType::getTypeFlags() const {
+  unsigned Base = 0;
+
----------------
don't need this


================
Comment at: clang/utils/TableGen/SveEmitter.cpp:267
+    switch (ElementBitwidth) {
+    case 16: Base = (unsigned)SVETypeFlags::Float16; break;
+    case 32: Base = (unsigned)SVETypeFlags::Float32; break;
----------------
just a return here 


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D75470/new/

https://reviews.llvm.org/D75470



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to