Andrew Trick | 922d314 | 2012-02-01 23:20:51 +0000 | [diff] [blame] | 1 | ; RUN: llc <%s -O2 -mcpu=atom -march=x86 -relocation-model=static | FileCheck -check-prefix=atom %s |
| 2 | ; RUN: llc <%s -O2 -mcpu=core2 -march=x86 -relocation-model=static | FileCheck %s |
Chandler Carruth | fd2e4e6 | 2012-04-16 23:11:39 +0000 | [diff] [blame] | 3 | ; |
Andrew Trick | 922d314 | 2012-02-01 23:20:51 +0000 | [diff] [blame] | 4 | |
| 5 | @a = common global i32 0, align 4 |
| 6 | @b = common global i32 0, align 4 |
| 7 | @c = common global i32 0, align 4 |
| 8 | @d = common global i32 0, align 4 |
| 9 | @e = common global i32 0, align 4 |
| 10 | @f = common global i32 0, align 4 |
| 11 | |
| 12 | define void @func() nounwind uwtable { |
| 13 | ; atom: imull |
| 14 | ; atom-NOT: movl |
| 15 | ; atom: imull |
| 16 | ; CHECK: imull |
| 17 | ; CHECK: movl |
| 18 | ; CHECK: imull |
| 19 | entry: |
| 20 | %0 = load i32* @b, align 4 |
| 21 | %1 = load i32* @c, align 4 |
| 22 | %mul = mul nsw i32 %0, %1 |
| 23 | store i32 %mul, i32* @a, align 4 |
| 24 | %2 = load i32* @e, align 4 |
| 25 | %3 = load i32* @f, align 4 |
| 26 | %mul1 = mul nsw i32 %2, %3 |
| 27 | store i32 %mul1, i32* @d, align 4 |
| 28 | ret void |
| 29 | } |