[aarch64-port-dev ] Help with SIMD for string_compare
Edward Nevill
edward.nevill at gmail.com
Wed May 18 14:22:10 UTC 2016
Hi,
I am trying to implement string_compare for the UL & LU variants using the
SIMD zip1 instruction, so the loop looks something like (for LU)
loop:
ldr v0.8b, [str1, cnt1]
ldr v1.8h, [str2, cnt2]
eor v0.16b, v0,16b, v1.16b
< cbnz v0, differ >
add cnt1, cnt1, #8
adds cnt2, cnt2, #16
blt loop
But I can find no easy way to do < cbnz v0, differ > in SIMD. The
alternative would be to do something like
< vcmp v0.8h, v1.8h >
bne differ
but I can find no instruction to do a bitwise vector comparison, only FCMP
which does a floating point comparison.
Am I missing something, or is there any way to do this?
Thanks,
Ed.
More information about the aarch64-port-dev
mailing list