STREAMS 2
TYPE DOUBLE
FLOPS 2
BYTES 16

li r7, 0            # load immediate value of 0 into r7 (used as offset in addressing)
li r8, 16           # load immediate value of 16 into r8 (used as offset in addressing)
li r9, 32           # load immediate value of 32 into r9 (used as offset in addressing)
li r10, 48          # load immediate value of 48 into r10 (used as offset in addressing)

xvsubdp 0, 0, 0    # set to zero
xvsubdp 1, 1, 1    # set to zero
xvsubdp 2, 2, 2    # set to zero
xvsubdp 3, 3, 3    # set to zero

LOOP 8

lxvd2x 4, STR0, r7
lxvd2x 5, STR1, r7
xvmaddadp 0, 4, 5

lxvd2x 6, STR0, r8
lxvd2x 7, STR1, r8
xvmaddadp 1, 6, 7

lxvd2x 8, STR0, r9
lxvd2x 9, STR1, r9
xvmaddadp 2, 8, 9

lxvd2x 10, STR0, r10
lxvd2x 11, STR1, r10
xvmaddadp 3, 10, 11

addi STR0, STR0, 64
addi STR1, STR1, 64
