Changes to avoid warnings in SSE4.2 optimized SPIR-V

This commit is contained in:
Matías Locatti 2021-12-28 17:35:55 -03:00 committed by GitHub
parent e0193e2be5
commit 840d5520d2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -30,11 +30,20 @@ struct FuncTraits<ReturnType_ (*)(Args...)> {
using ArgType = std::tuple_element_t<I, std::tuple<Args...>>; using ArgType = std::tuple_element_t<I, std::tuple<Args...>>;
}; };
#ifdef _MSC_VER
#pragma warning(push)
#pragma warning(disable : 4702) // Ignore unreachable code warning
#endif
template <auto func, typename... Args> template <auto func, typename... Args>
void SetDefinition(EmitContext& ctx, IR::Inst* inst, Args... args) { void SetDefinition(EmitContext& ctx, IR::Inst* inst, Args... args) {
inst->SetDefinition<Id>(func(ctx, std::forward<Args>(args)...)); inst->SetDefinition<Id>(func(ctx, std::forward<Args>(args)...));
} }
#ifdef _MSC_VER
#pragma warning(pop)
#endif
template <typename ArgType> template <typename ArgType>
ArgType Arg(EmitContext& ctx, const IR::Value& arg) { ArgType Arg(EmitContext& ctx, const IR::Value& arg) {
if constexpr (std::is_same_v<ArgType, Id>) { if constexpr (std::is_same_v<ArgType, Id>) {