xref: /aosp_15_r20/external/llvm/test/CodeGen/X86/2012-12-19-NoImplicitFloat.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=x86_64-apple-macosx10.8.0 -mcpu=core2 < %s | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker; Test that we do not introduce vector operations with noimplicitfloat.
3*9880d681SAndroid Build Coastguard Worker; rdar://12879313
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Worker%struct1 = type { i32*, i32* }
6*9880d681SAndroid Build Coastguard Worker
7*9880d681SAndroid Build Coastguard Workerdefine void @test() nounwind noimplicitfloat {
8*9880d681SAndroid Build Coastguard Workerentry:
9*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: xmm
10*9880d681SAndroid Build Coastguard Worker; CHECK: ret
11*9880d681SAndroid Build Coastguard Worker  %0 = load %struct1*, %struct1** undef, align 8
12*9880d681SAndroid Build Coastguard Worker  %1 = getelementptr inbounds %struct1, %struct1* %0, i64 0, i32 0
13*9880d681SAndroid Build Coastguard Worker  store i32* null, i32** %1, align 8
14*9880d681SAndroid Build Coastguard Worker  %2 = getelementptr inbounds %struct1, %struct1* %0, i64 0, i32 1
15*9880d681SAndroid Build Coastguard Worker  store i32* null, i32** %2, align 8
16*9880d681SAndroid Build Coastguard Worker  ret void
17*9880d681SAndroid Build Coastguard Worker}
18