summaryrefslogtreecommitdiff
path: root/www-client/chromium/files/chromium-97-arm-tflite-cast.patch
diff options
context:
space:
mode:
Diffstat (limited to 'www-client/chromium/files/chromium-97-arm-tflite-cast.patch')
-rw-r--r--www-client/chromium/files/chromium-97-arm-tflite-cast.patch26
1 files changed, 26 insertions, 0 deletions
diff --git a/www-client/chromium/files/chromium-97-arm-tflite-cast.patch b/www-client/chromium/files/chromium-97-arm-tflite-cast.patch
new file mode 100644
index 0000000..843a384
--- /dev/null
+++ b/www-client/chromium/files/chromium-97-arm-tflite-cast.patch
@@ -0,0 +1,26 @@
+vreinterpret_s32_s8() casts int8x8_t to int32x2_t. However, third argument
+of vdotq_lane_s32() is of type int8x8_t.
+
+--- a/third_party/tflite/src/tensorflow/lite/kernels/internal/optimized/depthwiseconv_3x3_filter_common.h
++++ b/third_party/tflite/src/tensorflow/lite/kernels/internal/optimized/depthwiseconv_3x3_filter_common.h
+@@ -129,16 +129,14 @@ inline int32x4_t vdotq_four_lane_s32(int32x4_t acc, int8x16_t lhs,
+ int8x16_t rhs, const int lane) {
+ switch (lane) {
+ case 0:
+- return vdotq_lane_s32(acc, lhs, vreinterpret_s32_s8(vget_low_s8(rhs)), 0);
++ return vdotq_lane_s32(acc, lhs, vget_low_s8(rhs), 0);
+ case 1:
+- return vdotq_lane_s32(acc, lhs, vreinterpret_s32_s8(vget_low_s8(rhs)), 1);
++ return vdotq_lane_s32(acc, lhs, vget_low_s8(rhs), 1);
+ case 2:
+- return vdotq_lane_s32(acc, lhs, vreinterpret_s32_s8(vget_high_s8(rhs)),
+- 0);
++ return vdotq_lane_s32(acc, lhs, vget_high_s8(rhs), 0);
+ case 3:
+ default:
+- return vdotq_lane_s32(acc, lhs, vreinterpret_s32_s8(vget_high_s8(rhs)),
+- 1);
++ return vdotq_lane_s32(acc, lhs, vget_high_s8(rhs), 1);
+ }
+ }
+