Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

libyuv needs dotprod on aarch64 #146

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

catap
Copy link

@catap catap commented Jan 13, 2025

Verified

This commit was created on github.com and signed with GitHub’s verified signature.
@ilya-fedin
Copy link
Contributor

Did you test it with all of: GCC, AppleClang and MSVC? This is being used by 3 compilers.

@catap
Copy link
Author

catap commented Mar 8, 2025

It was discovered by bulk-build in OpenBSD, and this patch is already used in OpenBSD ports: openbsd/ports@b9f167d

Thus, it is reused the same march which is used by upstream of libyuv.

@ilya-fedin
Copy link
Contributor

ilya-fedin commented Mar 8, 2025

This doesn't really answer my question. Are you sure your change won't break other compilers/platforms I mentioned?

@catap
Copy link
Author

catap commented Mar 8, 2025

I have no idea, nor I had tested it.

Anyway, upstream seems to use it for all arm64/aarch64 builds and this is required minimal march to compile compare_neon64.cc which uses udot instruction.

@ilya-fedin
Copy link
Contributor

ilya-fedin commented Mar 8, 2025

No? I see it's under NOT MSVC upstream. And Google generally seem to not to use AppleClang for their builds? So the build system could not account for it. This needs testing.

@catap
Copy link
Author

catap commented Mar 8, 2025

Just to let you know. Without this march it fails as:

.../src/third_party/libyuv/source/compare_neon64.cc:175:8: error: instruction requires: dotprod
      "udot        v4.4s, v0.16b, v6.16b         \n"
       ^
<inline asm>:14:1: note: instantiated into assembly here
udot        v4.4s, v0.16b, v6.16b         
^

@ilya-fedin
Copy link
Contributor

ilya-fedin commented Mar 8, 2025

With this march it will likely fail with unknown argument error on various compilers. On MSVC for sure.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants