Disable dot-product depthwise conv when not compiling for Android with Clang.

PiperOrigin-RevId: 255181633
This commit is contained in:
A. Unique TensorFlower 2019-06-26 07:11:29 -07:00 committed by TensorFlower Gardener
parent 99023249f7
commit 851b3f5a46
3 changed files with 12 additions and 5 deletions

View File

@ -170,7 +170,8 @@ inline void DispatchDepthwiseConv(
// This is compiled-in even if dot-product instructions are unavailable.
// However, tests should skip dot-product testing in that case and not
// call this code.
#if defined(__aarch64__) && !defined(GOOGLE_L4T)
#if defined(__aarch64__) && !defined(GOOGLE_L4T) && defined(__ANDROID__) && \
defined(__clang__)
DotProduct3x3KernelType kernel_type =
optimized_ops::depthwise_conv::CategorizeDotProductKernel(
input_shape, filter_shape, params);
@ -683,7 +684,8 @@ void TestOneDepthwiseConv3x3Filter(
}
void TestOneNeonDot3x3(const TestParam& test_param) {
#if defined(__aarch64__) && !defined(GOOGLE_L4T)
#if defined(__aarch64__) && !defined(GOOGLE_L4T) && defined(__ANDROID__) && \
defined(__clang__)
CpuBackendContext backend_context;
ruy::Context* ruy_context = backend_context.ruy_context();
const auto ruy_paths = ruy_context != nullptr
@ -854,7 +856,8 @@ INSTANTIATE_TEST_SUITE_P(
TestParam::TestNameSuffix);
#endif
#if defined(__aarch64__) && !defined(GOOGLE_L4T)
#if defined(__aarch64__) && !defined(GOOGLE_L4T) && defined(__ANDROID__) && \
defined(__clang__)
INSTANTIATE_TEST_SUITE_P(
NeonAsm, DepthwiseConvTest,
testing::Combine(

View File

@ -2006,7 +2006,8 @@ inline void DepthwiseConvWithRounding(
// Enable for arm64 except for the Nvidia Linux 4 Tegra (L4T) running on
// Jetson TX-2. This compiler does not support the offsetof() macro.
#if defined(__aarch64__) && !defined(GOOGLE_L4T)
#if defined(__aarch64__) && !defined(GOOGLE_L4T) && defined(__ANDROID__) && \
defined(__clang__)
// Dispatch to dot-product 3x3 kernels when supported.
if (cpu_flags.neon_dotprod) {
using optimized_ops::depthwise_conv::DotProduct3x3KernelType;
@ -2025,6 +2026,8 @@ inline void DepthwiseConvWithRounding(
}
}
#elif defined(__aarch64__) && !defined(GOOGLE_L4T)
// Dispatch to non-dot-product 3x3 kernels when supported.
const int stride_width = params.stride_width;

View File

@ -5786,7 +5786,8 @@ struct WorkspacePrefetchWrite<
#endif // __aarch64__
#if defined(__aarch64__) && !defined(GOOGLE_L4T)
#if defined(__aarch64__) && !defined(GOOGLE_L4T) && defined(__ANDROID__) && \
defined(__clang__)
// Dot product ops hard-coded
template <>