blob: 6137872db58ed6acbc290462614c1fc32e95e6a7 [file] [log] [blame]
Saleem Abdulrasool905b6d192014-04-03 23:47:24 +00001; RUN: llc -march=thumb -mcpu=arm1156t2-s -mattr=+thumb2 %s -o - | FileCheck %s
2; RUN: llc -march=thumb -mcpu=arm1156t2-s -mattr=+thumb2 \
3; RUN: -arm-use-mulops=false %s -o - | FileCheck %s -check-prefix=NO_MULOPS
David Goodwin3bd42af2009-06-26 18:10:30 +00004
5define i32 @f1(i32 %a, i32 %b, i32 %c) {
6 %tmp1 = mul i32 %a, %b
7 %tmp2 = add i32 %c, %tmp1
8 ret i32 %tmp2
9}
Stephen Lind24ab202013-07-14 06:24:09 +000010; CHECK-LABEL: f1:
Edward O'Callaghancc856372009-11-22 15:18:27 +000011; CHECK: mla r0, r0, r1, r2
Stephen Lind24ab202013-07-14 06:24:09 +000012; NO_MULOPS-LABEL: f1:
Bob Wilsone8a549c2012-09-29 21:43:49 +000013; NO_MULOPS: muls r0, r1, r0
14; NO_MULOPS-NEXT: add r0, r2
David Goodwin3bd42af2009-06-26 18:10:30 +000015
16define i32 @f2(i32 %a, i32 %b, i32 %c) {
17 %tmp1 = mul i32 %a, %b
18 %tmp2 = add i32 %tmp1, %c
19 ret i32 %tmp2
20}
Stephen Lind24ab202013-07-14 06:24:09 +000021; CHECK-LABEL: f2:
Edward O'Callaghancc856372009-11-22 15:18:27 +000022; CHECK: mla r0, r0, r1, r2
Stephen Lind24ab202013-07-14 06:24:09 +000023; NO_MULOPS-LABEL: f2:
Bob Wilsone8a549c2012-09-29 21:43:49 +000024; NO_MULOPS: muls r0, r1, r0
25; NO_MULOPS-NEXT: add r0, r2