From e27a424f4d88a0409e6492ab167dbe5a82b9e3ac Mon Sep 17 00:00:00 2001 From: Feoramund <161657516+Feoramund@users.noreply.github.com> Date: Tue, 6 Aug 2024 14:50:34 -0400 Subject: Swap `reduce_any` and `reduce_all` `llvm.vector.reduce.or` will return true if any lane is true. `llvm.vector.reduce.and` will return true if all lanes are true. --- src/llvm_backend_proc.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/llvm_backend_proc.cpp') diff --git a/src/llvm_backend_proc.cpp b/src/llvm_backend_proc.cpp index ceaeb1aca..ee3ed1995 100644 --- a/src/llvm_backend_proc.cpp +++ b/src/llvm_backend_proc.cpp @@ -1532,8 +1532,8 @@ gb_internal lbValue lb_build_builtin_simd_proc(lbProcedure *p, Ast *expr, TypeAn { char const *name = nullptr; switch (builtin_id) { - case BuiltinProc_simd_reduce_any: name = "llvm.vector.reduce.and"; break; - case BuiltinProc_simd_reduce_all: name = "llvm.vector.reduce.or"; break; + case BuiltinProc_simd_reduce_any: name = "llvm.vector.reduce.or"; break; + case BuiltinProc_simd_reduce_all: name = "llvm.vector.reduce.and"; break; } LLVMTypeRef types[1] = { lb_type(p->module, arg0.type) }; -- cgit v1.2.3