Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- And best of all if called, no registers need to be save. If inlined, it gets rescheduled
- And it does the work in 5 instructions that used to take 15 (if inlined for 32 bit)
- and if called (to memcmp), many dozen....
- v6_equal:
- @ args = 0, pretend = 0, frame = 0
- @ frame_needed = 0, uses_anonymous_args = 0
- @ link register save eliminated.
- vld1.32 {d16-d17}, [r0] @ D.32765, MEM[(const __builtin_neon_si[4] *)p1_2(D)]
- vld1.32 {d18-d19}, [r1] @ D.32765, MEM[(const __builtin_neon_si[4] *)p2_3(D)]
- veor q8, q8, q9 @ D.32765, D.32765, D.32765
- vorr d16, d17, d16 @ D.32766, D.32765, D.32765
- vpmax.u32 d16, d16, d16 @, D.32766, D.32766, D.32766
- vmov.32 r0, d16[0] @ D.32767, D.32766,
- clz r0, r0 @, D.32767
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement