1*9880d681SAndroid Build Coastguard Worker; RUN: llc <%s -O2 -mcpu=atom -march=x86 -relocation-model=static | FileCheck -check-prefix=atom %s 2*9880d681SAndroid Build Coastguard Worker; RUN: llc <%s -O2 -mcpu=slm -march=x86 -relocation-model=static | FileCheck -check-prefix=slm %s 3*9880d681SAndroid Build Coastguard Worker; RUN: llc <%s -O2 -mcpu=core2 -march=x86 -relocation-model=static | FileCheck %s 4*9880d681SAndroid Build Coastguard Worker; 5*9880d681SAndroid Build Coastguard Worker 6*9880d681SAndroid Build Coastguard Worker@a = common global i32 0, align 4 7*9880d681SAndroid Build Coastguard Worker@b = common global i32 0, align 4 8*9880d681SAndroid Build Coastguard Worker@c = common global i32 0, align 4 9*9880d681SAndroid Build Coastguard Worker@d = common global i32 0, align 4 10*9880d681SAndroid Build Coastguard Worker@e = common global i32 0, align 4 11*9880d681SAndroid Build Coastguard Worker@f = common global i32 0, align 4 12*9880d681SAndroid Build Coastguard Worker 13*9880d681SAndroid Build Coastguard Workerdefine void @func() nounwind uwtable { 14*9880d681SAndroid Build Coastguard Worker; atom: imull 15*9880d681SAndroid Build Coastguard Worker; atom-NOT: movl 16*9880d681SAndroid Build Coastguard Worker; atom: imull 17*9880d681SAndroid Build Coastguard Worker; slm: imull 18*9880d681SAndroid Build Coastguard Worker; slm-NOT: movl 19*9880d681SAndroid Build Coastguard Worker; slm: imull 20*9880d681SAndroid Build Coastguard Worker; CHECK: imull 21*9880d681SAndroid Build Coastguard Worker; CHECK: movl 22*9880d681SAndroid Build Coastguard Worker; CHECK: imull 23*9880d681SAndroid Build Coastguard Workerentry: 24*9880d681SAndroid Build Coastguard Worker %0 = load i32, i32* @b, align 4 25*9880d681SAndroid Build Coastguard Worker %1 = load i32, i32* @c, align 4 26*9880d681SAndroid Build Coastguard Worker %mul = mul nsw i32 %0, %1 27*9880d681SAndroid Build Coastguard Worker store i32 %mul, i32* @a, align 4 28*9880d681SAndroid Build Coastguard Worker %2 = load i32, i32* @e, align 4 29*9880d681SAndroid Build Coastguard Worker %3 = load i32, i32* @f, align 4 30*9880d681SAndroid Build Coastguard Worker %mul1 = mul nsw i32 %2, %3 31*9880d681SAndroid Build Coastguard Worker store i32 %mul1, i32* @d, align 4 32*9880d681SAndroid Build Coastguard Worker ret void 33*9880d681SAndroid Build Coastguard Worker} 34