================
@@ -130,7 +130,7 @@ int main(void) {
   P(object_size, (s0, 3));
 
   // Whatever
-
+  P(bswapg, (N));
   P(bswap16, (N));
   P(bswap32, (N));
   P(bswap64, (N));
----------------
ojhunt wrote:

Ok, I don't know why the existing ones don't have output tests, I think you 
should probably add expectation results for these as well, when adding tests 
for bswapg.

Because bswapg does operate generically you should add tests for `P(bswapg, 
((char)N)`, `P(bswapg, ((short)N)`, etc which I believe you should be able to 
test for with something like `// CHECK: @llvm.bswap...`

In the C++ tests you should also add type checks, something like:

```cpp
template <class A, class B> static constexpr bool is_same_type = false;
template <class A> static constexpr bool is_same_type<A, A> = true;
// ...
static_assert(is_same_type<some_type, decltype(__builtin_bswapg((some_type)0)); 
// for the various correct types
```

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

Reply via email to