COMPMID-3339: Patch1: Fix incorrect select casting in im2col nhwc kernels

* Put an additional cast for correctly handling scalar cases

  According to opencl specs, logical operators, when performed on
  scalar types, always return int regardless of the type of the scalar.

  Thus if we were to use the results of a scalar logical op on the
  method select, it would be incorrect for any types of width different
  than 4 (the width of int)

  A concrete example would be that if the VECTOR_SIZE is 1 (scalar case),
  and DATA_TYPE is half/f16 (width < 4), then the result type of the ||
  op would be int instead of short, which it's supposed to be, and this
  would result in the ambiguous function call error for select.

Signed-off-by: SiCong Li <sicong.li@arm.com>
Change-Id: Ibc4985f707f667116668c43b9f9bf39dda789528
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/3698
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
1 file changed
tree: ab80baf7e979d395f293a7621b5b74d1d012ccde
  1. .clang-format
  2. .clang-tidy
  3. .github/
  4. .gitmodules
  5. Android.bp
  6. LICENSE
  7. README.md
  8. SConscript
  9. SConstruct
  10. arm_compute/
  11. data/
  12. docs/
  13. examples/
  14. include/
  15. scripts/
  16. src/
  17. support/
  18. tests/
  19. utils/
README.md

Release repository: https://github.com/arm-software/ComputeLibrary

Development repository: https://review.mlplatform.org/#/admin/projects/ml/ComputeLibrary

Please report issues here: https://github.com/ARM-software/ComputeLibrary/issues

Make sure you are using the latest version of the library before opening an issue. Thanks

News:

Related projects:

Tutorials:

Documentation (API, changelogs, build guide, contribution guide, errata, etc.) available at https://github.com/ARM-software/ComputeLibrary/wiki/Documentation.

Binaries available at https://github.com/ARM-software/ComputeLibrary/releases.

License & Contributions: The software is provided under MIT license. Contributions to this project are accepted under the same license.

Public mailing list

For technical discussion, the ComputeLibrary project has a public mailing list: acl-dev@lists.linaro.org The list is open to anyone inside or outside of Arm to self subscribe. In order to subscribe, please visit the following website: https://lists.linaro.org/mailman/listinfo/acl-dev

Developer Certificate of Origin (DCO)

Before the ComputeLibrary project accepts your contribution, you need to certify its origin and give us your permission. To manage this process we use the Developer Certificate of Origin (DCO) V1.1 (https://developercertificate.org/)

To indicate that you agree to the the terms of the DCO, you "sign off" your contribution by adding a line with your name and e-mail address to every git commit message:

Signed-off-by: John Doe <john.doe@example.org>

You must use your real name, no pseudonyms or anonymous contributions are accepted.

Security Issues

If you believe you have discovered a security issue please contact MLG-Security@arm.com