[PATCH] D67645: [aarch64] add def-pats for dot product

Sebastian Pop via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 18 06:30:52 PDT 2019


sebpop added a comment.

In D67645#1673114 <https://reviews.llvm.org/D67645#1673114>, @SjoerdMeijer wrote:

> - was just curious about the `AddedComplexity = 30`


I chose 30 as it seemed to work: the rest of the file had complexities <= 20.
I updated that to 10 and it still works. I will update the patch with this.

> - perhaps I am wrong, but was wondering if clang-format agrees with some of the indentation,

I'll let you decide if clang-format is the best at tablegen ;-)
here is the output of clang format on the beginning of the patch...

  // dot_v4i8                                                                                                                                                                       
  class mul_v4i8<SDPatternOperator ldop> : PatFrag<(ops node                                                                                                                        
                                                    : $Rn, node                                                                                                                     
                                                    : $Rm, node                                                                                                                     
                                                    : $offset),                                                                                                                     
                                                   (mul(ldop(add node                                                                                                               
                                                             : $Rn, node                                                                                                            
                                                             : $offset)),                                                                                                           
                                                    (ldop(add node                                                                                                                  
                                                          : $Rm, node                                                                                                               
                                                          : $offset)))>;                                                                                                            
  class mulz_v4i8<SDPatternOperator ldop> : PatFrag<(ops node                                                                                                                       
                                                     : $Rn, node                                                                                                                    
                                                     : $Rm),                                                                                                                        
                                                    (mul(ldop node                                                                                                                  
                                                         : $Rn),                                                                                                                    
                                                     (ldop node                                                                                                                     
                                                      : $Rm))>;



> - would some more test bring any benefits/additonal value? Like test with a loops, or tests with no aliasing attributes?

Sure, there may be some patterns that are not yet covered by the def-pats.
We can add more tests and catch more patterns.

> - please ignore if you disagree, but thought that some names like `ldop`, `K1`, `K2` could be slightly more informative/consistent.

Please suggest better names, I'm fine changing these names.
K stands for constant, ldop is a load operator.


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

https://reviews.llvm.org/D67645





More information about the llvm-commits mailing list