Thumb2 does not allow the use of "pc" register as part of the load / store address.
[oota-llvm.git] / test / CodeGen / Thumb2 / thumb2-mls.ll
1 ; RUN: llvm-as < %s | llc -march=thumb -mattr=+thumb2 | grep {mls\\W*r\[0-9\],\\W*r\[0-9\],\\W*r\[0-9\],\\W*r\[0-9\]} | count 1
2
3 define i32 @f1(i32 %a, i32 %b, i32 %c) {
4     %tmp1 = mul i32 %a, %b
5     %tmp2 = sub i32 %c, %tmp1
6     ret i32 %tmp2
7 }
8
9 ; sub doesn't commute, so no mls for this one
10 define i32 @f2(i32 %a, i32 %b, i32 %c) {
11     %tmp1 = mul i32 %a, %b
12     %tmp2 = sub i32 %tmp1, %c
13     ret i32 %tmp2
14 }