8 Commits

Author SHA1 Message Date
Brian Cain f8879e326f hexagon: Preserve original Q6 naming case for HVX intrinsics 2026-04-08 09:54:47 -07:00
Brian Cain d6b2cb08a8 examples: Make gaussian build on all targets
Restructure gaussian.rs to follow the pattern used by hex.rs and
connect5.rs.

Remove the 'hexagon' feature gate.
2026-02-15 07:10:55 -06:00
Brian Cain be9dc99118 examples: Use HvxVectorPair for precise Gaussian blur arithmetic
Update the Gaussian 3x3 blur example to use HvxVectorPair widening
operations. This demonstrates that HvxVectorPair intrinsics now work
 correctly with the updated nightly.

- Add #![cfg(target_arch = "hexagon")] crate-level gate
2026-02-15 07:01:00 -06:00
Brian Cain 5b7ab682b4 examples: Simplify gaussian.rs with cfg gate
Add `#![cfg(target_arch = "hexagon")]`

- Remove redundant #[cfg(target_arch = "hexagon")] from functions
- Simplify import and constant cfg conditions
- Remove non-Hexagon test code branch from main()
2026-02-12 11:41:57 -06:00
Brian Cain eb6bbfa830 examples: Fix rustfmt formatting in gaussian.rs 2026-02-12 07:47:01 -06:00
Brian Cain 736af97d6c examples: Add assertions to gaussian example
Replace print statements with assertions that verify the Gaussian 3x3
blur implementation against the Hexagon SDK reference algorithm.

- Port exact SDK Gaussian3x3u8 implementation from:
  /opt/Hexagon_SDK/.../Examples/HVX/gaussian/src/gaussian.c
- Verify specific output values [15, 16, 17, 18, 19, 20, 21, 22]
  for row 2, cols 1..9 with test pattern ((x + y*7) % 256)
- Assert byte-averaging approximation exactly matches SDK reference
- On Hexagon: verify HVX output matches both scalar approximation
  and SDK reference exactly
2026-02-12 07:33:16 -06:00
Brian Cain 2b710f1a45 Switched to 64b and 128b crate definitions 2026-02-12 07:33:16 -06:00
Brian Cain 0a662d0f72 arch: Add Hexagon HVX instructions 2026-02-12 07:33:16 -06:00