Frank Barchard 58d817ed81 Fix remaining inline asm input/output constraints and clobbers
Mark modified inline asm operands as read-write (+r / +c) and add missing
volatile/memory clobbers so compilers and LTO do not assume modified
registers remain unchanged across asm blocks:
- HashDjb2_NEON (compare_neon64.cc): [src] "+r"(src) for post-increment ldr
- FixedDiv1_X86 (scale_gcc.cc): "+c"(div) for sub $0x1, %1
- P410ToARGBRow_SVE_SC & P410ToAR30Row_SVE_SC (row_sve.h): [vl] "+r"(vl)
  for tail cntw %x[vl]
- SwapUVRow_RVV & ARGBMultiplyRow_RVV (row_rvv.cc): use asm volatile and
  "memory" clobber instead of VLA memory operands on mutated pointers

R=rrwinterton@gmail.com

Bug: b/571179207
Test: libyuv_unittest
Change-Id: I3c2475d1e5bdab13e74643a028eebc350edcc1bb
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/8565646
Reviewed-by: richard winterton <rrwinterton@gmail.com>
Commit-Queue: Frank Barchard <fbarchard@google.com>
2026-10-13 11:20:48 -07:00
..
libyuv Fix remaining inline asm input/output constraints and clobbers 2026-10-13 11:20:48 -07:00
libyuv.h libyuv.h: Add scale_rgb.h and remove scale_row.h 2026-08-26 19:06:22 -07:00