annotate test/CodeGen/Hexagon/vselect-pseudo.ll @ 128:c347d3398279 default tip

fix
author mir3636
date Wed, 06 Dec 2017 14:37:17 +0900
parents 803732b1fca8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
121
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
1 ; RUN: llc -march=hexagon -mattr="+hvxv60,+hvx-length64b" < %s
120
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
2 ; REQUIRES: asserts
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
3
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
4 target triple = "hexagon"
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
5
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
6 ; Function Attrs: nounwind
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
7 define void @fred() #0 {
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
8 entry:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
9 br label %for.body9.us
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
10
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
11 for.body9.us:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
12 %cmp10.us = icmp eq i32 0, undef
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
13 %.h63h32.2.us = select i1 %cmp10.us, <16 x i32> zeroinitializer, <16 x i32> undef
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
14 %0 = tail call <16 x i32> @llvm.hexagon.V6.valignbi(<16 x i32> %.h63h32.2.us, <16 x i32> undef, i32 2)
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
15 %1 = tail call <32 x i32> @llvm.hexagon.V6.vswap(<512 x i1> undef, <16 x i32> undef, <16 x i32> %0)
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
16 %2 = tail call <16 x i32> @llvm.hexagon.V6.lo(<32 x i32> %1)
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
17 %3 = tail call <32 x i32> @llvm.hexagon.V6.vshuffvdd(<16 x i32> undef, <16 x i32> %2, i32 62)
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
18 %4 = tail call <16 x i32> @llvm.hexagon.V6.hi(<32 x i32> %3)
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
19 store <16 x i32> %4, <16 x i32>* undef, align 64
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
20 br i1 undef, label %for.body9.us, label %for.body43.us.preheader
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
21
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
22 for.body43.us.preheader: ; preds = %for.body9.us
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
23 ret void
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
24 }
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
25
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
26 declare <16 x i32> @llvm.hexagon.V6.valignbi(<16 x i32>, <16 x i32>, i32) #1
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
27 declare <32 x i32> @llvm.hexagon.V6.vswap(<512 x i1>, <16 x i32>, <16 x i32>) #1
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
28 declare <16 x i32> @llvm.hexagon.V6.hi(<32 x i32>) #1
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
29 declare <16 x i32> @llvm.hexagon.V6.lo(<32 x i32>) #1
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
30 declare <32 x i32> @llvm.hexagon.V6.vshuffvdd(<16 x i32>, <16 x i32>, i32) #1
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
31
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
32 attributes #0 = { nounwind }
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
33 attributes #1 = { nounwind readnone }