blob: f79f79e94a3ab0200f9a840e9faae5843ba53e78 [file] [log] [blame]
Krzysztof Parzyszekd19d0502016-09-13 21:16:07 +00001; RUN: llc -march=hexagon < %s | FileCheck %s
2; Check that we don't crash.
3; CHECK: vshuff
4
5target triple = "hexagon"
6
Krzysztof Parzyszekd91a9e22018-08-02 22:17:53 +00007define void @f0(<16 x i32>* %a0) #0 {
Krzysztof Parzyszekd19d0502016-09-13 21:16:07 +00008entry:
Krzysztof Parzyszekd91a9e22018-08-02 22:17:53 +00009 %v0 = icmp eq i32 undef, 0
10 %v1 = select i1 %v0, <32 x i16> undef, <32 x i16> zeroinitializer
11 %v2 = bitcast <32 x i16> %v1 to <16 x i32>
12 %v3 = tail call <16 x i32> @llvm.hexagon.V6.vshuffh(<16 x i32> %v2)
13 store <16 x i32> %v3, <16 x i32>* %a0, align 2
14 ret void
Krzysztof Parzyszekd19d0502016-09-13 21:16:07 +000015}
16
17; Function Attrs: nounwind readnone
18declare <16 x i32> @llvm.hexagon.V6.vshuffh(<16 x i32>) #1
19
Sumanth Gundapanenie1983bc2017-10-18 18:07:07 +000020attributes #0 = { nounwind "target-cpu"="hexagonv60" "target-features"="+hvxv60,+hvx-length64b" }
Krzysztof Parzyszekd19d0502016-09-13 21:16:07 +000021attributes #1 = { nounwind readnone }