6. (15 points) MIPS Code Optimization
Consider the following MIPS code.
addi $t5, $0, 5
addi $t6, $t5, 20
LOOP: beq $t5, $t6, END
lw $s2, 0($s0)
lw $s3, 0($s1)
add $t1, $s2, $s3
sub $t2, $s2, $s3
add $t3, $t1, $t2
add $t4, $t4, $t3
add $t4, $t4, $s3
addi $t5, $t5, 1
addi $s0, $s0, 4
addi $s1, $s1, 4
j LOOP
add $t1, $t4, $t4
END:
a. (3 points) Explain what this MIPS code does.
b. (4 points) How many instructions does this code execute?
c. (4 points) Rewrite code above to minimize the number of MIPS instructions
executed.
d. (4 points) How many instructions does your new code execute?