| 1 | .syntax unified |
| 2 | .text |
| 3 | .align 2 |
| 4 | .global thumb2_mul |
| 5 | .thumb |
| 6 | .thumb_func |
| 7 | thumb2_mul: |
| 8 | # These can use the 16-bit encoding. |
| 9 | itt eq |
| 10 | muleq r0, r1, r0 |
| 11 | muleq r0, r0, r1 |
| 12 | # These must use the 32-bit encoding because they involve |
| 13 | # high registers. |
| 14 | ittt eq |
| 15 | muleq r0, r0, r8 |
| 16 | muleq r0, r8, r0 |
| 17 | muleq r8, r0, r8 |
| 18 | # These must use the 32-bit encoding because the source and |
| 19 | # destination do not match. |
| 20 | itt eq |
| 21 | muleq r0, r1, r1 |
| 22 | muleq r0, r1, r2 |
| 23 | # These must use the 32-bit encoding because of the explicit |
| 24 | # suffix. |
| 25 | itt eq |
| 26 | muleq.w r0, r1, r0 |
| 27 | muleq.w r0, r0, r1 |
| 28 | |
| 29 | |