Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / CodeGen / X86 / constant-pool-sharing.ll
blob338da14b2a5b2872e81f797bbe5630c889c5e505
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
4 ; llc should share constant pool entries between this integer vector
5 ; and this floating-point vector since they have the same encoding.
7 ; LINUX:   LCPI0_0(%rip), %xmm0
8 ; MSVC:    __xmm@40000000400000004000000040000000(%rip), %xmm0
9 ; COMMON:  movaps        %xmm0, ({{%rdi|%rcx}})
10 ; COMMON:  movaps        %xmm0, ({{%rsi|%rdx}})
12 define void @foo(ptr %p, ptr %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>, ptr %p
17   store <4 x float><float 2.0, float 2.0, float 2.0, float 2.0>, ptr %q
18   br i1 %t, label %loop, label %ret
19 ret:
20   ret void