blob: 337f1429ee63ce0f417801180689a02c4837ba2e [file] [log] [blame]
Bruno Cardoso Lopes6a32adc2011-07-25 23:05:25 +00001; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=corei7-avx -mattr=+avx | FileCheck %s
Bruno Cardoso Lopes8c05a852010-08-12 02:06:36 +00002
3@x = common global <8 x float> zeroinitializer, align 32
4@y = common global <4 x double> zeroinitializer, align 32
5
6define void @zero() nounwind ssp {
7entry:
8 ; CHECK: vxorps
9 ; CHECK: vmovaps
10 ; CHECK: vmovaps
11 store <8 x float> zeroinitializer, <8 x float>* @x, align 32
12 store <4 x double> zeroinitializer, <4 x double>* @y, align 32
13 ret void
14}
Bruno Cardoso Lopes863bd9d2011-07-25 23:05:32 +000015
16; CHECK: vpcmpeqd
17; CHECK: vinsertf128 $1
18define void @ones([0 x float]* nocapture %RET, [0 x float]* nocapture %aFOO) nounwind {
19allocas:
20 %ptr2vec615 = bitcast [0 x float]* %RET to <8 x float>*
21 store <8 x float> <float 0xFFFFFFFFE0000000, float 0xFFFFFFFFE0000000, float
220xFFFFFFFFE0000000, float 0xFFFFFFFFE0000000, float 0xFFFFFFFFE0000000, float
230xFFFFFFFFE0000000, float 0xFFFFFFFFE0000000, float 0xFFFFFFFFE0000000>, <8 x
24float>* %ptr2vec615, align 32
25 ret void
26}
Bruno Cardoso Lopes531f19f2011-08-01 19:51:53 +000027
28; CHECK: vpcmpeqd
29; CHECK: vinsertf128 $1
30define void @ones2([0 x i32]* nocapture %RET, [0 x i32]* nocapture %aFOO) nounwind {
31allocas:
32 %ptr2vec615 = bitcast [0 x i32]* %RET to <8 x i32>*
33 store <8 x i32> <i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1>, <8 x i32>* %ptr2vec615, align 32
34 ret void
35}