diff options
| author | LemonBoy <thatlemon@gmail.com> | 2020-11-01 19:51:42 +0100 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2020-11-01 14:30:31 -0700 |
| commit | 0d6a7088dc82cfe686beb5ebfe540ba2b7935cd6 (patch) | |
| tree | 8c7980fc48175487377b5890b382bfd5f0c25d7b /src/zig_llvm.cpp | |
| parent | 6f3d6c1f45edea883bc206b8e60dae3b6b34cbbb (diff) | |
| download | zig-0d6a7088dc82cfe686beb5ebfe540ba2b7935cd6.tar.gz zig-0d6a7088dc82cfe686beb5ebfe540ba2b7935cd6.zip | |
stage1: Implement Add/Mul reduction operators
Diffstat (limited to 'src/zig_llvm.cpp')
| -rw-r--r-- | src/zig_llvm.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/zig_llvm.cpp b/src/zig_llvm.cpp index ac45932e0a..1a81cf33ef 100644 --- a/src/zig_llvm.cpp +++ b/src/zig_llvm.cpp @@ -1156,6 +1156,22 @@ LLVMValueRef ZigLLVMBuildFPMinReduce(LLVMBuilderRef B, LLVMValueRef Val) { return wrap(unwrap(B)->CreateFPMinReduce(unwrap(Val))); } +LLVMValueRef ZigLLVMBuildAddReduce(LLVMBuilderRef B, LLVMValueRef Val) { + return wrap(unwrap(B)->CreateAddReduce(unwrap(Val))); +} + +LLVMValueRef ZigLLVMBuildMulReduce(LLVMBuilderRef B, LLVMValueRef Val) { + return wrap(unwrap(B)->CreateMulReduce(unwrap(Val))); +} + +LLVMValueRef ZigLLVMBuildFPAddReduce(LLVMBuilderRef B, LLVMValueRef Acc, LLVMValueRef Val) { + return wrap(unwrap(B)->CreateFAddReduce(unwrap(Acc), unwrap(Val))); +} + +LLVMValueRef ZigLLVMBuildFPMulReduce(LLVMBuilderRef B, LLVMValueRef Acc, LLVMValueRef Val) { + return wrap(unwrap(B)->CreateFMulReduce(unwrap(Acc), unwrap(Val))); +} + static_assert((Triple::ArchType)ZigLLVM_UnknownArch == Triple::UnknownArch, ""); static_assert((Triple::ArchType)ZigLLVM_arm == Triple::arm, ""); static_assert((Triple::ArchType)ZigLLVM_armeb == Triple::armeb, ""); |
