diff options
Diffstat (limited to 'test/CodeGen/X86/vec_zero_cse.ll')
-rw-r--r-- | test/CodeGen/X86/vec_zero_cse.ll | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/test/CodeGen/X86/vec_zero_cse.ll b/test/CodeGen/X86/vec_zero_cse.ll new file mode 100644 index 0000000..296378c --- /dev/null +++ b/test/CodeGen/X86/vec_zero_cse.ll @@ -0,0 +1,35 @@ +; RUN: llc < %s -relocation-model=static -march=x86 -mcpu=yonah | grep pxor | count 1 +; RUN: llc < %s -relocation-model=static -march=x86 -mcpu=yonah | grep xorps | count 1 +; RUN: llc < %s -relocation-model=static -march=x86 -mcpu=yonah | grep pcmpeqd | count 2 + +@M1 = external global <1 x i64> +@M2 = external global <2 x i32> + +@S1 = external global <2 x i64> +@S2 = external global <4 x i32> + +define void @test() { + store <1 x i64> zeroinitializer, <1 x i64>* @M1 + store <2 x i32> zeroinitializer, <2 x i32>* @M2 + ret void +} + +define void @test2() { + store <1 x i64> < i64 -1 >, <1 x i64>* @M1 + store <2 x i32> < i32 -1, i32 -1 >, <2 x i32>* @M2 + ret void +} + +define void @test3() { + store <2 x i64> zeroinitializer, <2 x i64>* @S1 + store <4 x i32> zeroinitializer, <4 x i32>* @S2 + ret void +} + +define void @test4() { + store <2 x i64> < i64 -1, i64 -1>, <2 x i64>* @S1 + store <4 x i32> < i32 -1, i32 -1, i32 -1, i32 -1 >, <4 x i32>* @S2 + ret void +} + + |