1# mach: aarch64 2 3# Check the add across vector instruction: addv. 4 5.include "testutils.inc" 6 7 .data 8 .align 4 9input: 10 .word 0x04030201 11 .word 0x08070605 12 .word 0x0c0b0a09 13 .word 0x100f0e0d 14 15 start 16 adrp x0, input 17 ldr q0, [x0, #:lo12:input] 18 19 addv b1, v0.8b 20 mov x1, v1.d[0] 21 cmp x1, #36 22 bne .Lfailure 23 24 addv b1, v0.16b 25 mov x1, v1.d[0] 26 cmp x1, #136 27 bne .Lfailure 28 29 addv h1, v0.4h 30 mov x1, v1.d[0] 31 mov x2, #5136 32 cmp x1, x2 33 bne .Lfailure 34 35 addv h1, v0.8h 36 mov x1, v1.d[0] 37 mov x2, #18496 38 cmp x1, x2 39 bne .Lfailure 40 41 addv s1, v0.4s 42 mov x1, v1.d[0] 43 mov x2, 8220 44 movk x2, 0x2824, lsl 16 45 cmp x1, x2 46 bne .Lfailure 47 48 pass 49.Lfailure: 50 fail 51