[all-commits] [llvm/llvm-project] f53779: [X86] Refactor the SSE intrinsics constexpr tests ...

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Tue Oct 29 04:00:56 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f537792f3f4977c8bc887b17ffc25e93833e7d0d
      https://github.com/llvm/llvm-project/commit/f537792f3f4977c8bc887b17ffc25e93833e7d0d
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-10-29 (Tue, 29 Oct 2024)

  Changed paths:
    A clang/test/CodeGen/X86/builtin_test_helpers.h
    M clang/test/CodeGen/X86/sse-builtins.c
    M clang/test/CodeGen/X86/sse2-builtins.c
    M clang/test/CodeGen/X86/sse3-builtins.c

  Log Message:
  -----------
  [X86] Refactor the SSE intrinsics constexpr tests to simplify future expansion (#112578)

I'm hoping to make a large proportion of the SSE/AVX intrinsics usable in constant expressions - eventually anything that doesn't touch memory or system settings - making it much easier to utilize SSE/AVX intrinsics in various math libraries etc.

My initial implementation placed the tests at the end of the test file, similar to how smaller files already handle their tests.

However, what I'm finding is that this approach doesn't scale when trying to track coverage of so many intrinsics - many keep getting missed, and it gets messy; so what I'm proposing is to instead keep each intrinsic's generic IR test and its constexpr tests together to make them easier to track together, wrapping the static_assert inside a macro to disable on C and pre-C++11 tests.

I'm open to alternative suggestions before I invest too much time getting this work done :)



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list