1 ; RUN: llc -march=hexagon < %s | FileCheck %s
3 ; CHECK-LABEL: test_0000
5 define <64 x i8> @test_0000(<64 x i8> %v0) #0 {
6 %p = shufflevector <64 x i8> %v0, <64 x i8> undef, <64 x i32><i32 41, i32 41, i32 11, i32 11, i32 53, i32 53, i32 7, i32 7, i32 63, i32 63, i32 53, i32 53, i32 11, i32 11, i32 17, i32 17, i32 35, i32 35, i32 29, i32 29, i32 55, i32 55, i32 29, i32 29, i32 55, i32 55, i32 55, i32 55, i32 17, i32 17, i32 35, i32 35, i32 25, i32 25, i32 39, i32 39, i32 25, i32 25, i32 25, i32 25, i32 29, i32 29, i32 29, i32 29, i32 29, i32 29, i32 27, i32 27, i32 39, i32 39, i32 53, i32 53, i32 25, i32 25, i32 25, i32 25, i32 43, i32 43, i32 45, i32 45, i32 25, i32 25, i32 25, i32 25>
10 ; CHECK-LABEL: test_0001
12 define <64 x i8> @test_0001(<64 x i8> %v0) #0 {
13 %p = shufflevector <64 x i8> %v0, <64 x i8> undef, <64 x i32><i32 33, i32 33, i32 33, i32 33, i32 63, i32 63, i32 61, i32 61, i32 19, i32 19, i32 19, i32 19, i32 55, i32 55, i32 61, i32 61, i32 61, i32 61, i32 7, i32 7, i32 61, i32 61, i32 3, i32 3, i32 33, i32 33, i32 33, i32 33, i32 7, i32 7, i32 61, i32 61, i32 21, i32 21, i32 21, i32 21, i32 27, i32 27, i32 21, i32 21, i32 63, i32 63, i32 63, i32 63, i32 41, i32 41, i32 19, i32 19, i32 3, i32 3, i32 3, i32 3, i32 37, i32 37, i32 37, i32 37, i32 3, i32 3, i32 3, i32 3, i32 55, i32 55, i32 41, i32 41>
17 ; CHECK-LABEL: test_0002
19 define <64 x i8> @test_0002(<64 x i8> %v0) #0 {
20 %p = shufflevector <64 x i8> %v0, <64 x i8> undef, <64 x i32><i32 13, i32 13, i32 13, i32 13, i32 13, i32 13, i32 55, i32 55, i32 59, i32 59, i32 13, i32 13, i32 9, i32 9, i32 9, i32 9, i32 19, i32 19, i32 19, i32 19, i32 61, i32 61, i32 19, i32 19, i32 61, i32 61, i32 61, i32 61, i32 15, i32 15, i32 61, i32 61, i32 1, i32 1, i32 35, i32 35, i32 1, i32 1, i32 15, i32 15, i32 27, i32 27, i32 27, i32 27, i32 27, i32 27, i32 27, i32 27, i32 53, i32 53, i32 53, i32 53, i32 41, i32 41, i32 15, i32 15, i32 35, i32 35, i32 53, i32 53, i32 35, i32 35, i32 35, i32 35>
24 ; CHECK-LABEL: test_0003
26 define <64 x i8> @test_0003(<64 x i8> %v0) #0 {
27 %p = shufflevector <64 x i8> %v0, <64 x i8> undef, <64 x i32><i32 35, i32 35, i32 35, i32 35, i32 35, i32 35, i32 35, i32 35, i32 35, i32 35, i32 35, i32 35, i32 37, i32 37, i32 35, i32 35, i32 45, i32 45, i32 45, i32 45, i32 35, i32 35, i32 35, i32 35, i32 27, i32 27, i32 45, i32 45, i32 45, i32 45, i32 39, i32 39, i32 15, i32 15, i32 15, i32 15, i32 37, i32 37, i32 37, i32 37, i32 15, i32 15, i32 15, i32 15, i32 43, i32 43, i32 37, i32 37, i32 7, i32 7, i32 37, i32 37, i32 7, i32 7, i32 37, i32 37, i32 29, i32 29, i32 43, i32 43, i32 33, i32 33, i32 7, i32 7>
31 ; CHECK-LABEL: test_0004
33 define <64 x i8> @test_0004(<64 x i8> %v0) #0 {
34 %p = shufflevector <64 x i8> %v0, <64 x i8> undef, <64 x i32><i32 21, i32 21, i32 21, i32 21, i32 31, i32 31, i32 31, i32 31, i32 9, i32 9, i32 31, i32 31, i32 9, i32 9, i32 31, i32 31, i32 49, i32 49, i32 27, i32 27, i32 31, i32 31, i32 21, i32 21, i32 55, i32 55, i32 55, i32 55, i32 27, i32 27, i32 9, i32 9, i32 17, i32 17, i32 11, i32 11, i32 17, i32 17, i32 17, i32 17, i32 11, i32 11, i32 17, i32 17, i32 15, i32 15, i32 29, i32 29, i32 25, i32 25, i32 27, i32 27, i32 27, i32 27, i32 27, i32 27, i32 37, i32 37, i32 27, i32 27, i32 27, i32 27, i32 25, i32 25>
38 ; CHECK-LABEL: test_0005
40 define <64 x i8> @test_0005(<64 x i8> %v0) #0 {
41 %p = shufflevector <64 x i8> %v0, <64 x i8> undef, <64 x i32><i32 13, i32 13, i32 43, i32 43, i32 31, i32 31, i32 31, i32 31, i32 31, i32 31, i32 13, i32 13, i32 13, i32 13, i32 43, i32 43, i32 39, i32 39, i32 9, i32 9, i32 9, i32 9, i32 39, i32 39, i32 43, i32 43, i32 9, i32 9, i32 61, i32 61, i32 43, i32 43, i32 53, i32 53, i32 63, i32 63, i32 53, i32 53, i32 19, i32 19, i32 19, i32 19, i32 19, i32 19, i32 19, i32 19, i32 53, i32 53, i32 27, i32 27, i32 53, i32 53, i32 15, i32 15, i32 53, i32 53, i32 17, i32 17, i32 39, i32 39, i32 39, i32 39, i32 39, i32 39>
45 ; CHECK-LABEL: test_0006
47 define <64 x i8> @test_0006(<64 x i8> %v0) #0 {
48 %p = shufflevector <64 x i8> %v0, <64 x i8> undef, <64 x i32><i32 29, i32 29, i32 31, i32 31, i32 29, i32 29, i32 29, i32 29, i32 11, i32 11, i32 37, i32 37, i32 11, i32 11, i32 11, i32 11, i32 21, i32 21, i32 21, i32 21, i32 21, i32 21, i32 21, i32 21, i32 29, i32 29, i32 7, i32 7, i32 35, i32 35, i32 25, i32 25, i32 15, i32 15, i32 49, i32 49, i32 21, i32 21, i32 15, i32 15, i32 15, i32 15, i32 15, i32 15, i32 15, i32 15, i32 49, i32 49, i32 7, i32 7, i32 41, i32 41, i32 41, i32 41, i32 7, i32 7, i32 41, i32 41, i32 7, i32 7, i32 41, i32 41, i32 41, i32 41>
52 ; CHECK-LABEL: test_0007
54 define <64 x i8> @test_0007(<64 x i8> %v0) #0 {
55 %p = shufflevector <64 x i8> %v0, <64 x i8> undef, <64 x i32><i32 43, i32 43, i32 43, i32 43, i32 47, i32 47, i32 47, i32 47, i32 7, i32 7, i32 57, i32 57, i32 45, i32 45, i32 45, i32 45, i32 23, i32 23, i32 33, i32 33, i32 23, i32 23, i32 45, i32 45, i32 31, i32 31, i32 31, i32 31, i32 45, i32 45, i32 31, i32 31, i32 43, i32 43, i32 37, i32 37, i32 25, i32 25, i32 15, i32 15, i32 37, i32 37, i32 37, i32 37, i32 37, i32 37, i32 37, i32 37, i32 15, i32 15, i32 1, i32 1, i32 15, i32 15, i32 15, i32 15, i32 43, i32 43, i32 43, i32 43, i32 43, i32 43, i32 43, i32 43>
59 ; CHECK-LABEL: test_0008
61 define <64 x i8> @test_0008(<64 x i8> %v0) #0 {
62 %p = shufflevector <64 x i8> %v0, <64 x i8> undef, <64 x i32><i32 37, i32 37, i32 63, i32 63, i32 37, i32 37, i32 35, i32 35, i32 63, i32 63, i32 63, i32 63, i32 37, i32 37, i32 37, i32 37, i32 63, i32 63, i32 63, i32 63, i32 37, i32 37, i32 35, i32 35, i32 63, i32 63, i32 37, i32 37, i32 63, i32 63, i32 37, i32 37, i32 37, i32 37, i32 63, i32 63, i32 9, i32 9, i32 63, i32 63, i32 13, i32 13, i32 39, i32 39, i32 19, i32 19, i32 13, i32 13, i32 49, i32 49, i32 49, i32 49, i32 21, i32 21, i32 21, i32 21, i32 19, i32 19, i32 49, i32 49, i32 63, i32 63, i32 63, i32 63>
66 ; CHECK-LABEL: test_0009
68 define <64 x i8> @test_0009(<64 x i8> %v0) #0 {
69 %p = shufflevector <64 x i8> %v0, <64 x i8> undef, <64 x i32><i32 25, i32 25, i32 59, i32 59, i32 59, i32 59, i32 59, i32 59, i32 25, i32 25, i32 25, i32 25, i32 19, i32 19, i32 25, i32 25, i32 35, i32 35, i32 41, i32 41, i32 41, i32 41, i32 41, i32 41, i32 35, i32 35, i32 35, i32 35, i32 35, i32 35, i32 29, i32 29, i32 11, i32 11, i32 11, i32 11, i32 47, i32 47, i32 21, i32 21, i32 33, i32 33, i32 47, i32 47, i32 11, i32 11, i32 33, i32 33, i32 29, i32 29, i32 55, i32 55, i32 33, i32 33, i32 59, i32 59, i32 35, i32 35, i32 35, i32 35, i32 29, i32 29, i32 35, i32 35>
73 ; CHECK-LABEL: test_000a
75 define <64 x i8> @test_000a(<64 x i8> %v0) #0 {
76 %p = shufflevector <64 x i8> %v0, <64 x i8> undef, <64 x i32><i32 17, i32 17, i32 17, i32 17, i32 3, i32 3, i32 29, i32 29, i32 29, i32 29, i32 29, i32 29, i32 29, i32 29, i32 43, i32 43, i32 33, i32 33, i32 33, i32 33, i32 19, i32 19, i32 5, i32 5, i32 13, i32 13, i32 27, i32 27, i32 7, i32 7, i32 33, i32 33, i32 1, i32 1, i32 1, i32 1, i32 13, i32 13, i32 13, i32 13, i32 25, i32 25, i32 15, i32 15, i32 15, i32 15, i32 25, i32 25, i32 35, i32 35, i32 25, i32 25, i32 25, i32 25, i32 35, i32 35, i32 1, i32 1, i32 7, i32 7, i32 5, i32 5, i32 7, i32 7>
80 ; CHECK-LABEL: test_000b
82 define <64 x i8> @test_000b(<64 x i8> %v0) #0 {
83 %p = shufflevector <64 x i8> %v0, <64 x i8> undef, <64 x i32><i32 15, i32 15, i32 15, i32 15, i32 15, i32 15, i32 15, i32 15, i32 15, i32 15, i32 15, i32 15, i32 29, i32 29, i32 15, i32 15, i32 63, i32 63, i32 63, i32 63, i32 11, i32 11, i32 11, i32 11, i32 53, i32 53, i32 53, i32 53, i32 39, i32 39, i32 53, i32 53, i32 59, i32 59, i32 49, i32 49, i32 39, i32 39, i32 13, i32 13, i32 59, i32 59, i32 59, i32 59, i32 57, i32 57, i32 59, i32 59, i32 59, i32 59, i32 59, i32 59, i32 59, i32 59, i32 59, i32 59, i32 15, i32 15, i32 15, i32 15, i32 15, i32 15, i32 9, i32 9>
87 ; CHECK-LABEL: test_000c
89 define <64 x i8> @test_000c(<64 x i8> %v0) #0 {
90 %p = shufflevector <64 x i8> %v0, <64 x i8> undef, <64 x i32><i32 41, i32 41, i32 63, i32 63, i32 45, i32 45, i32 63, i32 63, i32 43, i32 43, i32 43, i32 43, i32 43, i32 43, i32 43, i32 43, i32 23, i32 23, i32 23, i32 23, i32 23, i32 23, i32 23, i32 23, i32 43, i32 43, i32 53, i32 53, i32 23, i32 23, i32 23, i32 23, i32 35, i32 35, i32 41, i32 41, i32 35, i32 35, i32 35, i32 35, i32 31, i32 31, i32 17, i32 17, i32 17, i32 17, i32 35, i32 35, i32 41, i32 41, i32 41, i32 41, i32 37, i32 37, i32 37, i32 37, i32 33, i32 33, i32 31, i32 31, i32 13, i32 13, i32 31, i32 31>
94 ; CHECK-LABEL: test_000d
96 define <64 x i8> @test_000d(<64 x i8> %v0) #0 {
97 %p = shufflevector <64 x i8> %v0, <64 x i8> undef, <64 x i32><i32 47, i32 47, i32 47, i32 47, i32 47, i32 47, i32 53, i32 53, i32 23, i32 23, i32 23, i32 23, i32 23, i32 23, i32 23, i32 23, i32 23, i32 23, i32 23, i32 23, i32 11, i32 11, i32 29, i32 29, i32 29, i32 29, i32 29, i32 29, i32 29, i32 29, i32 29, i32 29, i32 9, i32 9, i32 27, i32 27, i32 9, i32 9, i32 27, i32 27, i32 9, i32 9, i32 9, i32 9, i32 27, i32 27, i32 27, i32 27, i32 35, i32 35, i32 35, i32 35, i32 17, i32 17, i32 35, i32 35, i32 21, i32 21, i32 21, i32 21, i32 35, i32 35, i32 57, i32 57>
101 ; CHECK-LABEL: test_000e
103 define <64 x i8> @test_000e(<64 x i8> %v0) #0 {
104 %p = shufflevector <64 x i8> %v0, <64 x i8> undef, <64 x i32><i32 27, i32 27, i32 13, i32 13, i32 13, i32 13, i32 7, i32 7, i32 63, i32 63, i32 13, i32 13, i32 27, i32 27, i32 13, i32 13, i32 13, i32 13, i32 63, i32 63, i32 43, i32 43, i32 9, i32 9, i32 21, i32 21, i32 19, i32 19, i32 21, i32 21, i32 55, i32 55, i32 5, i32 5, i32 19, i32 19, i32 63, i32 63, i32 5, i32 5, i32 49, i32 49, i32 11, i32 11, i32 63, i32 63, i32 63, i32 63, i32 33, i32 33, i32 33, i32 33, i32 59, i32 59, i32 33, i32 33, i32 5, i32 5, i32 59, i32 59, i32 55, i32 55, i32 5, i32 5>
108 ; CHECK-LABEL: test_000f
110 define <64 x i8> @test_000f(<64 x i8> %v0) #0 {
111 %p = shufflevector <64 x i8> %v0, <64 x i8> undef, <64 x i32><i32 19, i32 19, i32 61, i32 61, i32 61, i32 61, i32 61, i32 61, i32 15, i32 15, i32 15, i32 15, i32 57, i32 57, i32 19, i32 19, i32 19, i32 19, i32 61, i32 61, i32 23, i32 23, i32 61, i32 61, i32 5, i32 5, i32 5, i32 5, i32 41, i32 41, i32 41, i32 41, i32 51, i32 51, i32 1, i32 1, i32 29, i32 29, i32 29, i32 29, i32 29, i32 29, i32 7, i32 7, i32 29, i32 29, i32 7, i32 7, i32 23, i32 23, i32 23, i32 23, i32 23, i32 23, i32 29, i32 29, i32 21, i32 21, i32 43, i32 43, i32 43, i32 43, i32 43, i32 43>
115 attributes #0 = { nounwind readnone "target-cpu"="hexagonv60" "target-features"="+hvx,+hvx-length64b" }