================
@@ -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