Two operands, one survivor
Thumb's register add comes in two shapes. The three-operand form names a separate destination:
0 add r0, r1, r2
2 bx lr
add r0, r1, r2 is r0 = r1 + r2 — this is a function returning the sum of its second and third arguments, with the result landing in r0 ready to return. Both sources survive untouched.
The two-operand form is the one you will see far more often:
0 add r0, r1
2 bx lr
That is r0 = r0 + r1. Same addition, one fewer operand to encode, and r0's old value is overwritten. The compiler reaches for this shape whenever it does not need the original value again — which, in a short function, is most of the time.
Look at your target and work out which two registers it is adding, and which register the answer lands in.
Your task
Write add2, taking two s32s, to reproduce the target assembly.