Skip to content

fix windows-arm build#6699

Merged
nihui merged 1 commit intoTencent:masterfrom
nihui:ci-woa-fix-2
May 6, 2026
Merged

fix windows-arm build#6699
nihui merged 1 commit intoTencent:masterfrom
nihui:ci-woa-fix-2

Conversation

@nihui
Copy link
Copy Markdown
Member

@nihui nihui commented May 6, 2026

No description provided.

@github-actions github-actions Bot added the arm label May 6, 2026
@tencent-adm
Copy link
Copy Markdown
Member

CLA assistant check
Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented May 6, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 93.95%. Comparing base (d0d5063) to head (1151f9e).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #6699      +/-   ##
==========================================
- Coverage   93.95%   93.95%   -0.01%     
==========================================
  Files         933      933              
  Lines      299730   299948     +218     
==========================================
+ Hits       281624   281816     +192     
- Misses      18106    18132      +26     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR targets Windows ARM64 (MSVC) build issues in the ARM FP16 NEON path by centralizing MSVC-specific FP16 scalar/constant handling in arm_usability.h, and then simplifying call sites to use the unified helpers.

Changes:

  • Added MSVC ARM64 float32↔float16 bit-conversion helpers and vdup*_n_f16(float) shims in arm_usability.h to avoid relying on scalar __fp16 and problematic constant materialization patterns.
  • Simplified PReLU_arm::forward_inplace_fp16sa() (elempack==4, dims==1 path) to remove MSVC-only branches and use the unified vdup_n_f16/vcle_f16 usage.
  • Removed MSVC-specific constant conversion branches in neon_mathfun_fp16s.h, relying on the unified constant construction behavior.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
src/layer/arm/prelu_arm_asimdhp.cpp Removes MSVC-only FP16 NEON special-casing in the pack4/dims1 PReLU FP16SA path.
src/layer/arm/neon_mathfun_fp16s.h Drops MSVC-only constant materialization branches in FP16 exp/sincos helpers.
src/layer/arm/arm_usability.h Introduces MSVC ARM64 FP16 conversion + vdup*_n_f16(float) shims to support the simplified call sites.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@nihui nihui merged commit d95679b into Tencent:master May 6, 2026
66 of 68 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants