[PATCH] D142565: [clang-tidy] Fix warning in portability-simd-intrinsics

Piotr Zegar via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Jan 27 10:53:02 PST 2023


This revision was automatically updated to reflect the committed changes.
Closed by commit rG1d02dd241816: [clang-tidy] Fix warning in portability-simd-intrinsics (authored by ClockMan).

Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D142565

Files:
  clang-tools-extra/clang-tidy/portability/SIMDIntrinsicsCheck.cpp
  clang-tools-extra/test/clang-tidy/checkers/portability/simd-intrinsics-ppc.cpp
  clang-tools-extra/test/clang-tidy/checkers/portability/simd-intrinsics-x86.cpp


Index: clang-tools-extra/test/clang-tidy/checkers/portability/simd-intrinsics-x86.cpp
===================================================================
--- clang-tools-extra/test/clang-tidy/checkers/portability/simd-intrinsics-x86.cpp
+++ clang-tools-extra/test/clang-tidy/checkers/portability/simd-intrinsics-x86.cpp
@@ -1,4 +1,8 @@
-// RUN: %check_clang_tidy -std=c++11,c++14,c++17 %s portability-simd-intrinsics %t -- \
+// RUN: %check_clang_tidy -std=c++11-or-later %s portability-simd-intrinsics %t -- \
+// RUN:  -config='{CheckOptions: [ \
+// RUN:    {key: portability-simd-intrinsics.Suggest, value: false} \
+// RUN:  ]}' -- -target x86_64
+// RUN: %check_clang_tidy -std=c++11,c++14,c++17 %s portability-simd-intrinsics -check-suffix=BEFORE-CXX20 %t -- \
 // RUN:  -config='{CheckOptions: [ \
 // RUN:    {key: portability-simd-intrinsics.Suggest, value: true} \
 // RUN:  ]}' -- -target x86_64
@@ -21,8 +25,9 @@
   __m256 d0;
 
   _mm_add_epi32(i0, i1);
-  // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: '_mm_add_epi32' can be replaced by operator+ on std::experimental::simd objects [portability-simd-intrinsics]
+  // CHECK-MESSAGES-BEFORE-CXX20: :[[@LINE-1]]:3: warning: '_mm_add_epi32' can be replaced by operator+ on std::experimental::simd objects [portability-simd-intrinsics]
   // CHECK-MESSAGES-CXX20: :[[@LINE-2]]:3: warning: '_mm_add_epi32' can be replaced by operator+ on std::simd objects [portability-simd-intrinsics]
+  // CHECK-MESSAGES: :[[@LINE-3]]:3: warning: '_mm_add_epi32' is a non-portable x86_64 intrinsic function [portability-simd-intrinsics]
   d0 = _mm256_load_pd(0);
   _mm256_store_pd(0, d0);
 
Index: clang-tools-extra/test/clang-tidy/checkers/portability/simd-intrinsics-ppc.cpp
===================================================================
--- clang-tools-extra/test/clang-tidy/checkers/portability/simd-intrinsics-ppc.cpp
+++ clang-tools-extra/test/clang-tidy/checkers/portability/simd-intrinsics-ppc.cpp
@@ -1,4 +1,8 @@
-// RUN: %check_clang_tidy -std=c++11,c++14,c++17 %s portability-simd-intrinsics %t -- \
+// RUN: %check_clang_tidy -std=c++11-or-later %s portability-simd-intrinsics %t -- \
+// RUN:  -config='{CheckOptions: [ \
+// RUN:    {key: portability-simd-intrinsics.Suggest, value: false} \
+// RUN:  ]}' -- -target ppc64le -maltivec
+// RUN: %check_clang_tidy -std=c++11,c++14,c++17 %s portability-simd-intrinsics -check-suffix=BEFORE-CXX20 %t -- \
 // RUN:  -config='{CheckOptions: [ \
 // RUN:    {key: portability-simd-intrinsics.Suggest, value: true} \
 // RUN:  ]}' -- -target ppc64le -maltivec
@@ -13,6 +17,7 @@
   vector int i0, i1;
 
   vec_add(i0, i1);
-  // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: 'vec_add' can be replaced by operator+ on std::experimental::simd objects [portability-simd-intrinsics]
+  // CHECK-MESSAGES-BEFORE-CXX20: :[[@LINE-1]]:3: warning: 'vec_add' can be replaced by operator+ on std::experimental::simd objects [portability-simd-intrinsics]
   // CHECK-MESSAGES-CXX20: :[[@LINE-2]]:3: warning: 'vec_add' can be replaced by operator+ on std::simd objects [portability-simd-intrinsics]
+  // CHECK-MESSAGES: :[[@LINE-3]]:3: warning: 'vec_add' is a non-portable powerpc64le intrinsic function [portability-simd-intrinsics]
 }
Index: clang-tools-extra/clang-tidy/portability/SIMDIntrinsicsCheck.cpp
===================================================================
--- clang-tools-extra/clang-tidy/portability/SIMDIntrinsicsCheck.cpp
+++ clang-tools-extra/clang-tidy/portability/SIMDIntrinsicsCheck.cpp
@@ -138,7 +138,7 @@
           << SimdRegex.sub(SmallString<32>({Std, "::simd"}),
                            StdRegex.sub(Std, New));
     } else {
-      diag("'%0' is a non-portable %1 intrinsic function")
+      diag(Call->getExprLoc(), "'%0' is a non-portable %1 intrinsic function")
           << Old << llvm::Triple::getArchTypeName(Arch);
     }
   }


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D142565.492847.patch
Type: text/x-patch
Size: 3863 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20230127/50b116c0/attachment-0001.bin>


More information about the cfe-commits mailing list