chromium/third_party/xnnpack/src/src/xnnpack/simd/f32-avx.h

// Copyright 2024 Google LLC
//
// This source code is licensed under the BSD-style license found in the
// LICENSE file in the root directory of this source tree.
//

#ifndef __XNNPACK_SRC_XNNPACK_SIMD_F32_AVX_H_
#define __XNNPACK_SRC_XNNPACK_SIMD_F32_AVX_H_

#include "xnnpack/simd/f32-avx-base.h"
#include "xnnpack/common.h"

// Whether or not this architecture has native fused multiply-add support.
#define XNN_SIMD_HAS_NATIVE_FMA

static XNN_INLINE xnn_simd_f32_t xnn_fmadd_f32(xnn_simd_f32_t a,
                                               xnn_simd_f32_t b,
                                               xnn_simd_f32_t c) {}

static XNN_INLINE xnn_simd_f32_t xnn_fnmadd_f32(xnn_simd_f32_t a,
                                                xnn_simd_f32_t b,
                                                xnn_simd_f32_t c) {}

static XNN_INLINE xnn_simd_f32_t xnn_fmsub_f32(xnn_simd_f32_t a,
                                               xnn_simd_f32_t b,
                                               xnn_simd_f32_t c) {}

// This intrinsic is not particularly efficient. If you really need this
// intrinsic, consider using `avx2` instead.
static XNN_INLINE xnn_simd_f32_t xnn_sll_f32(xnn_simd_f32_t a, uint8_t bits) {}

// This intrinsic is not particularly efficient. If you really need this
// intrinsic, consider using `avx2` instead.
static XNN_INLINE xnn_simd_f32_t xnn_srl_f32(xnn_simd_f32_t a, uint8_t bits) {}

// This intrinsic is not particularly efficient. If you really need this
// intrinsic, consider using `avx2` instead.
static XNN_INLINE xnn_simd_f32_t xnn_sra_f32(xnn_simd_f32_t a, uint8_t bits) {}

static XNN_INLINE xnn_simd_f32_t xnn_cmpeq_f32(xnn_simd_f32_t a,
                                               xnn_simd_f32_t b) {}

#endif  // __XNNPACK_SRC_XNNPACK_SIMD_F32_AVX_H_