| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- /*
- * Copyright (C) 2019 Intel Corporation. All rights reserved.
- * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
- */
- #include "simd_common.h"
- LLVMValueRef
- simd_pop_v128_and_bitcast(const AOTCompContext *comp_ctx,
- const AOTFuncContext *func_ctx,
- LLVMTypeRef vec_type,
- const char *name)
- {
- LLVMValueRef number;
- POP_V128(number);
- if (!(number =
- LLVMBuildBitCast(comp_ctx->builder, number, vec_type, name))) {
- HANDLE_FAILURE("LLVMBuildBitCast");
- goto fail;
- }
- return number;
- fail:
- return NULL;
- }
- bool
- simd_bitcast_and_push_v128(const AOTCompContext *comp_ctx,
- const AOTFuncContext *func_ctx,
- LLVMValueRef vector,
- const char *name)
- {
- if (!(vector = LLVMBuildBitCast(comp_ctx->builder, vector, V128_i64x2_TYPE,
- name))) {
- HANDLE_FAILURE("LLVMBuildBitCast");
- goto fail;
- }
- /* push result into the stack */
- PUSH_V128(vector);
- return true;
- fail:
- return false;
- }
|