Taints the non-acquire RMW's store address with the load part
[oota-llvm.git] / test / CodeGen / X86 / constant-pool-sharing.ll
1 ; RUN: llc < %s -mtriple=x86_64-linux -mcpu=corei7 | FileCheck %s --check-prefix=COMMON --check-prefix=LINUX
2 ; RUN: llc < %s -mtriple=x86_64-win32 -mcpu=corei7 | FileCheck %s --check-prefix=COMMON --check-prefix=MSVC
3
4 ; llc should share constant pool entries between this integer vector
5 ; and this floating-point vector since they have the same encoding.
6
7 ; LINUX:   LCPI0_0(%rip), %xmm0
8 ; MSVC:    __xmm@40000000400000004000000040000000(%rip), %xmm0
9 ; COMMON:  movaps        %xmm0, ({{%rdi|%rcx}})
10 ; COMMON:  movaps        %xmm0, ({{%rsi|%rdx}})
11
12 define void @foo(<4 x i32>* %p, <4 x float>* %q, i1 %t) nounwind {
13 entry:
14   br label %loop
15 loop:
16   store <4 x i32><i32 1073741824, i32 1073741824, i32 1073741824, i32 1073741824>, <4 x i32>* %p
17   store <4 x float><float 2.0, float 2.0, float 2.0, float 2.0>, <4 x float>* %q
18   br i1 %t, label %loop, label %ret
19 ret:
20   ret void
21 }