================
@@ -897,18 +897,27 @@ defm TLBIP : TLBITableBase;
 
 multiclass TLBI<string name, bit hasTLBIP, bits<3> op1, bits<4> crn, bits<4> 
crm,
              bits<3> op2, bit needsreg = 1, bit optionalreg = 0> {
+  defvar HasE1IS = !ne(!find(name, "E1IS"), -1);
+  defvar HasE1OS = !ne(!find(name, "E1OS"), -1);
+  defvar HasE2IS = !ne(!find(name, "E2IS"), -1);
+  defvar HasE2OS = !ne(!find(name, "E2OS"), -1);
+  defvar allowTLBID = !or(!or(HasE1IS, HasE1OS), !or(HasE2IS, HasE2OS));
----------------
Lukacma wrote:

I think it is better to pass this as a parameter rather than have this logic 
here. I also don't think we should put either D128 or TLBID as required feature 
but rather use that extra parameter to correctly process featurebitset we get. 
this should simplify logic in BaseInfo.h 

In long run if we keep encountering these kind of instructions we need to thing 
about how to implement OR functionality here as any of these solutions are 
quite hacky imo.

https://github.com/llvm/llvm-project/pull/178913
_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

Reply via email to