/*******************************************************************************
-* Copyright 2017-2018 Intel Corporation
+* Copyright 2018 Intel Corporation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* limitations under the License.
*******************************************************************************/
-#ifndef CPU_JIT_AVX512_CORE_I8I8_POOLING_HPP
-#define CPU_JIT_AVX512_CORE_I8I8_POOLING_HPP
+#ifndef CPU_JIT_uni_I8I8_POOLING_HPP
+#define CPU_JIT_uni_I8I8_POOLING_HPP
#include "c_types_map.hpp"
#include "cpu_pooling_pd.hpp"
#include "cpu_engine.hpp"
-
+#include "jit_generator.hpp"
#include "jit_primitive_conf.hpp"
namespace mkldnn {
namespace impl {
namespace cpu {
-struct jit_avx512_core_i8i8_pool_fwd_ker_t;
+struct jit_sse42_i8i8_pool_fwd_ker_t;
-struct jit_avx512_core_i8i8_pooling_fwd_t : public cpu_primitive_t {
+struct jit_sse42_i8i8_pooling_fwd_t : public cpu_primitive_t {
struct pd_t : public cpu_pooling_fwd_pd_t {
pd_t(engine_t *engine, const pooling_desc_t *adesc,
const primitive_attr_t *attr,
: cpu_pooling_fwd_pd_t(engine, adesc, attr, hint_fwd_pd) {}
DECLARE_COMMON_PD_T(
- JIT_IMPL_NAME_HELPER("jit:", avx512_core, ""),
- jit_avx512_core_i8i8_pooling_fwd_t);
+ JIT_IMPL_NAME_HELPER("jit:", sse42, ""),
+ jit_sse42_i8i8_pooling_fwd_t);
virtual status_t init() override {
assert(this->engine()->kind() == engine_kind::cpu);
}
};
- jit_avx512_core_i8i8_pooling_fwd_t(const pd_t *pd,
+ jit_sse42_i8i8_pooling_fwd_t(const pd_t *pd,
const input_vector &inputs, const output_vector &outputs);
- ~jit_avx512_core_i8i8_pooling_fwd_t();
+ ~jit_sse42_i8i8_pooling_fwd_t();
- virtual void execute(event_t *e) {
+ virtual void execute(event_t *e) const {
execute_forward();
e->set_state(event_t::ready);
}
private:
- void execute_forward();
- pd_t conf_;
+ void execute_forward() const;
+ const pd_t *pd() const { return (const pd_t *)primitive_t::pd(); }
- jit_avx512_core_i8i8_pool_fwd_ker_t *ker_;
+ jit_sse42_i8i8_pool_fwd_ker_t *ker_;
};
}