There's two kinds of Helium (aka M-Profile Vector Extensions) - integer only, and integer+float capable. +mve and +mve.fp. Even the integer one can turn: ```rust pub fn sum(data1: &mut [u8; 8], data2: &[u8; 8]) { for idx in 0..8 { data1[idx] = data1[idx].wrapping_add(data2[idx]); } } ``` into: ```text 00000000 : 0: fd90 0e80 ldc2 14, cr0, [r0, #512] @ 0x200 4: fd91 2e80 ldc2 14, cr2, [r1, #512] @ 0x200 8: ef12 0840 vadd.i16 q0, q1, q0 c: ed80 0e80 stc 14, cr0, [r0, #512] @ 0x200 10: 4770 bx lr ```