1; RUN: llc -march=hexagon < %s | FileCheck %s 2 3; CHECK-LABEL: test_00: 4; CHECK-NOT: v0 = 5; CHECK: jumpr r31 6define <64 x i8> @test_00(<64 x i8> %v0, <64 x i8> %v1) #0 { 7 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 8 ret <64 x i8> %t0 9} 10 11; CHECK-LABEL: test_01: 12; CHECK: v0 = valign(v0,v0,#1) 13; CHECK: jumpr r31 14define <64 x i8> @test_01(<64 x i8> %v0, <64 x i8> %v1) #0 { 15 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 16 ret <64 x i8> %t0 17} 18 19; CHECK-LABEL: test_02: 20; CHECK: v0 = valign(v0,v0,#2) 21; CHECK: jumpr r31 22define <64 x i8> @test_02(<64 x i8> %v0, <64 x i8> %v1) #0 { 23 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 24 ret <64 x i8> %t0 25} 26 27; CHECK-LABEL: test_03: 28; CHECK: v0 = valign(v0,v0,#3) 29; CHECK: jumpr r31 30define <64 x i8> @test_03(<64 x i8> %v0, <64 x i8> %v1) #0 { 31 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 32 ret <64 x i8> %t0 33} 34 35; CHECK-LABEL: test_04: 36; CHECK: v0 = valign(v0,v0,#4) 37; CHECK: jumpr r31 38define <64 x i8> @test_04(<64 x i8> %v0, <64 x i8> %v1) #0 { 39 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 40 ret <64 x i8> %t0 41} 42 43; CHECK-LABEL: test_05: 44; CHECK: v0 = valign(v0,v0,#5) 45; CHECK: jumpr r31 46define <64 x i8> @test_05(<64 x i8> %v0, <64 x i8> %v1) #0 { 47 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 48 ret <64 x i8> %t0 49} 50 51; CHECK-LABEL: test_06: 52; CHECK: v0 = valign(v0,v0,#6) 53; CHECK: jumpr r31 54define <64 x i8> @test_06(<64 x i8> %v0, <64 x i8> %v1) #0 { 55 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 56 ret <64 x i8> %t0 57} 58 59; CHECK-LABEL: test_07: 60; CHECK: v0 = valign(v0,v0,#7) 61; CHECK: jumpr r31 62define <64 x i8> @test_07(<64 x i8> %v0, <64 x i8> %v1) #0 { 63 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 64 ret <64 x i8> %t0 65} 66 67; CHECK-LABEL: test_08: 68; CHECK: r[[REG08:[0-9]+]] = #8 69; CHECK: v0 = valign(v0,v0,r[[REG08]]) 70; CHECK: jumpr r31 71define <64 x i8> @test_08(<64 x i8> %v0, <64 x i8> %v1) #0 { 72 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 73 ret <64 x i8> %t0 74} 75 76; CHECK-LABEL: test_09: 77; CHECK: r[[REG09:[0-9]+]] = #9 78; CHECK: v0 = valign(v0,v0,r[[REG09]]) 79; CHECK: jumpr r31 80define <64 x i8> @test_09(<64 x i8> %v0, <64 x i8> %v1) #0 { 81 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 82 ret <64 x i8> %t0 83} 84 85; CHECK-LABEL: test_10: 86; CHECK: r[[REG10:[0-9]+]] = #10 87; CHECK: v0 = valign(v0,v0,r[[REG10]]) 88; CHECK: jumpr r31 89define <64 x i8> @test_10(<64 x i8> %v0, <64 x i8> %v1) #0 { 90 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 91 ret <64 x i8> %t0 92} 93 94; CHECK-LABEL: test_11: 95; CHECK: r[[REG11:[0-9]+]] = #11 96; CHECK: v0 = valign(v0,v0,r[[REG11]]) 97; CHECK: jumpr r31 98define <64 x i8> @test_11(<64 x i8> %v0, <64 x i8> %v1) #0 { 99 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 100 ret <64 x i8> %t0 101} 102 103; CHECK-LABEL: test_12: 104; CHECK: r[[REG12:[0-9]+]] = #12 105; CHECK: v0 = valign(v0,v0,r[[REG12]]) 106; CHECK: jumpr r31 107define <64 x i8> @test_12(<64 x i8> %v0, <64 x i8> %v1) #0 { 108 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 109 ret <64 x i8> %t0 110} 111 112; CHECK-LABEL: test_13: 113; CHECK: r[[REG13:[0-9]+]] = #13 114; CHECK: v0 = valign(v0,v0,r[[REG13]]) 115; CHECK: jumpr r31 116define <64 x i8> @test_13(<64 x i8> %v0, <64 x i8> %v1) #0 { 117 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 118 ret <64 x i8> %t0 119} 120 121; CHECK-LABEL: test_14: 122; CHECK: r[[REG14:[0-9]+]] = #14 123; CHECK: v0 = valign(v0,v0,r[[REG14]]) 124; CHECK: jumpr r31 125define <64 x i8> @test_14(<64 x i8> %v0, <64 x i8> %v1) #0 { 126 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 127 ret <64 x i8> %t0 128} 129 130; CHECK-LABEL: test_15: 131; CHECK: r[[REG15:[0-9]+]] = #15 132; CHECK: v0 = valign(v0,v0,r[[REG15]]) 133; CHECK: jumpr r31 134define <64 x i8> @test_15(<64 x i8> %v0, <64 x i8> %v1) #0 { 135 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 136 ret <64 x i8> %t0 137} 138 139; CHECK-LABEL: test_16: 140; CHECK: r[[REG16:[0-9]+]] = #16 141; CHECK: v0 = valign(v0,v0,r[[REG16]]) 142; CHECK: jumpr r31 143define <64 x i8> @test_16(<64 x i8> %v0, <64 x i8> %v1) #0 { 144 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 145 ret <64 x i8> %t0 146} 147 148; CHECK-LABEL: test_17: 149; CHECK: r[[REG17:[0-9]+]] = #17 150; CHECK: v0 = valign(v0,v0,r[[REG17]]) 151; CHECK: jumpr r31 152define <64 x i8> @test_17(<64 x i8> %v0, <64 x i8> %v1) #0 { 153 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 154 ret <64 x i8> %t0 155} 156 157; CHECK-LABEL: test_18: 158; CHECK: r[[REG18:[0-9]+]] = #18 159; CHECK: v0 = valign(v0,v0,r[[REG18]]) 160; CHECK: jumpr r31 161define <64 x i8> @test_18(<64 x i8> %v0, <64 x i8> %v1) #0 { 162 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 163 ret <64 x i8> %t0 164} 165 166; CHECK-LABEL: test_19: 167; CHECK: r[[REG19:[0-9]+]] = #19 168; CHECK: v0 = valign(v0,v0,r[[REG19]]) 169; CHECK: jumpr r31 170define <64 x i8> @test_19(<64 x i8> %v0, <64 x i8> %v1) #0 { 171 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 172 ret <64 x i8> %t0 173} 174 175; CHECK-LABEL: test_20: 176; CHECK: r[[REG20:[0-9]+]] = #20 177; CHECK: v0 = valign(v0,v0,r[[REG20]]) 178; CHECK: jumpr r31 179define <64 x i8> @test_20(<64 x i8> %v0, <64 x i8> %v1) #0 { 180 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 181 ret <64 x i8> %t0 182} 183 184; CHECK-LABEL: test_21: 185; CHECK: r[[REG21:[0-9]+]] = #21 186; CHECK: v0 = valign(v0,v0,r[[REG21]]) 187; CHECK: jumpr r31 188define <64 x i8> @test_21(<64 x i8> %v0, <64 x i8> %v1) #0 { 189 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 190 ret <64 x i8> %t0 191} 192 193; CHECK-LABEL: test_22: 194; CHECK: r[[REG22:[0-9]+]] = #22 195; CHECK: v0 = valign(v0,v0,r[[REG22]]) 196; CHECK: jumpr r31 197define <64 x i8> @test_22(<64 x i8> %v0, <64 x i8> %v1) #0 { 198 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 199 ret <64 x i8> %t0 200} 201 202; CHECK-LABEL: test_23: 203; CHECK: r[[REG23:[0-9]+]] = #23 204; CHECK: v0 = valign(v0,v0,r[[REG23]]) 205; CHECK: jumpr r31 206define <64 x i8> @test_23(<64 x i8> %v0, <64 x i8> %v1) #0 { 207 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 208 ret <64 x i8> %t0 209} 210 211; CHECK-LABEL: test_24: 212; CHECK: r[[REG24:[0-9]+]] = #24 213; CHECK: v0 = valign(v0,v0,r[[REG24]]) 214; CHECK: jumpr r31 215define <64 x i8> @test_24(<64 x i8> %v0, <64 x i8> %v1) #0 { 216 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 217 ret <64 x i8> %t0 218} 219 220; CHECK-LABEL: test_25: 221; CHECK: r[[REG25:[0-9]+]] = #25 222; CHECK: v0 = valign(v0,v0,r[[REG25]]) 223; CHECK: jumpr r31 224define <64 x i8> @test_25(<64 x i8> %v0, <64 x i8> %v1) #0 { 225 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 226 ret <64 x i8> %t0 227} 228 229; CHECK-LABEL: test_26: 230; CHECK: r[[REG26:[0-9]+]] = #26 231; CHECK: v0 = valign(v0,v0,r[[REG26]]) 232; CHECK: jumpr r31 233define <64 x i8> @test_26(<64 x i8> %v0, <64 x i8> %v1) #0 { 234 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 235 ret <64 x i8> %t0 236} 237 238; CHECK-LABEL: test_27: 239; CHECK: r[[REG27:[0-9]+]] = #27 240; CHECK: v0 = valign(v0,v0,r[[REG27]]) 241; CHECK: jumpr r31 242define <64 x i8> @test_27(<64 x i8> %v0, <64 x i8> %v1) #0 { 243 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 244 ret <64 x i8> %t0 245} 246 247; CHECK-LABEL: test_28: 248; CHECK: r[[REG28:[0-9]+]] = #28 249; CHECK: v0 = valign(v0,v0,r[[REG28]]) 250; CHECK: jumpr r31 251define <64 x i8> @test_28(<64 x i8> %v0, <64 x i8> %v1) #0 { 252 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 253 ret <64 x i8> %t0 254} 255 256; CHECK-LABEL: test_29: 257; CHECK: r[[REG29:[0-9]+]] = #29 258; CHECK: v0 = valign(v0,v0,r[[REG29]]) 259; CHECK: jumpr r31 260define <64 x i8> @test_29(<64 x i8> %v0, <64 x i8> %v1) #0 { 261 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 262 ret <64 x i8> %t0 263} 264 265; CHECK-LABEL: test_30: 266; CHECK: r[[REG30:[0-9]+]] = #30 267; CHECK: v0 = valign(v0,v0,r[[REG30]]) 268; CHECK: jumpr r31 269define <64 x i8> @test_30(<64 x i8> %v0, <64 x i8> %v1) #0 { 270 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 271 ret <64 x i8> %t0 272} 273 274; CHECK-LABEL: test_31: 275; CHECK: r[[REG31:[0-9]+]] = #31 276; CHECK: v0 = valign(v0,v0,r[[REG31]]) 277; CHECK: jumpr r31 278define <64 x i8> @test_31(<64 x i8> %v0, <64 x i8> %v1) #0 { 279 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 280 ret <64 x i8> %t0 281} 282 283; CHECK-LABEL: test_32: 284; CHECK: r[[REG32:[0-9]+]] = #32 285; CHECK: v0 = valign(v1,v0,r[[REG32]]) 286; CHECK: jumpr r31 287define <64 x i8> @test_32(<64 x i8> %v0, <64 x i8> %v1) #0 { 288 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 289 ret <64 x i8> %t0 290} 291 292; CHECK-LABEL: test_33: 293; CHECK: r[[REG33:[0-9]+]] = #33 294; CHECK: v0 = valign(v1,v0,r[[REG33]]) 295; CHECK: jumpr r31 296define <64 x i8> @test_33(<64 x i8> %v0, <64 x i8> %v1) #0 { 297 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 298 ret <64 x i8> %t0 299} 300 301; CHECK-LABEL: test_34: 302; CHECK: r[[REG34:[0-9]+]] = #34 303; CHECK: v0 = valign(v1,v0,r[[REG34]]) 304; CHECK: jumpr r31 305define <64 x i8> @test_34(<64 x i8> %v0, <64 x i8> %v1) #0 { 306 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 307 ret <64 x i8> %t0 308} 309 310; CHECK-LABEL: test_35: 311; CHECK: r[[REG35:[0-9]+]] = #35 312; CHECK: v0 = valign(v1,v0,r[[REG35]]) 313; CHECK: jumpr r31 314define <64 x i8> @test_35(<64 x i8> %v0, <64 x i8> %v1) #0 { 315 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 316 ret <64 x i8> %t0 317} 318 319; CHECK-LABEL: test_36: 320; CHECK: r[[REG36:[0-9]+]] = #36 321; CHECK: v0 = valign(v1,v0,r[[REG36]]) 322; CHECK: jumpr r31 323define <64 x i8> @test_36(<64 x i8> %v0, <64 x i8> %v1) #0 { 324 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 325 ret <64 x i8> %t0 326} 327 328; CHECK-LABEL: test_37: 329; CHECK: r[[REG37:[0-9]+]] = #37 330; CHECK: v0 = valign(v1,v0,r[[REG37]]) 331; CHECK: jumpr r31 332define <64 x i8> @test_37(<64 x i8> %v0, <64 x i8> %v1) #0 { 333 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 334 ret <64 x i8> %t0 335} 336 337; CHECK-LABEL: test_38: 338; CHECK: r[[REG38:[0-9]+]] = #38 339; CHECK: v0 = valign(v1,v0,r[[REG38]]) 340; CHECK: jumpr r31 341define <64 x i8> @test_38(<64 x i8> %v0, <64 x i8> %v1) #0 { 342 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 343 ret <64 x i8> %t0 344} 345 346; CHECK-LABEL: test_39: 347; CHECK: r[[REG39:[0-9]+]] = #39 348; CHECK: v0 = valign(v1,v0,r[[REG39]]) 349; CHECK: jumpr r31 350define <64 x i8> @test_39(<64 x i8> %v0, <64 x i8> %v1) #0 { 351 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 352 ret <64 x i8> %t0 353} 354 355; CHECK-LABEL: test_40: 356; CHECK: r[[REG40:[0-9]+]] = #40 357; CHECK: v0 = valign(v1,v0,r[[REG40]]) 358; CHECK: jumpr r31 359define <64 x i8> @test_40(<64 x i8> %v0, <64 x i8> %v1) #0 { 360 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 361 ret <64 x i8> %t0 362} 363 364; CHECK-LABEL: test_41: 365; CHECK: r[[REG41:[0-9]+]] = #41 366; CHECK: v0 = valign(v1,v0,r[[REG41]]) 367; CHECK: jumpr r31 368define <64 x i8> @test_41(<64 x i8> %v0, <64 x i8> %v1) #0 { 369 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 370 ret <64 x i8> %t0 371} 372 373; CHECK-LABEL: test_42: 374; CHECK: r[[REG42:[0-9]+]] = #42 375; CHECK: v0 = valign(v1,v0,r[[REG42]]) 376; CHECK: jumpr r31 377define <64 x i8> @test_42(<64 x i8> %v0, <64 x i8> %v1) #0 { 378 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 379 ret <64 x i8> %t0 380} 381 382; CHECK-LABEL: test_43: 383; CHECK: r[[REG43:[0-9]+]] = #43 384; CHECK: v0 = valign(v1,v0,r[[REG43]]) 385; CHECK: jumpr r31 386define <64 x i8> @test_43(<64 x i8> %v0, <64 x i8> %v1) #0 { 387 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 388 ret <64 x i8> %t0 389} 390 391; CHECK-LABEL: test_44: 392; CHECK: r[[REG44:[0-9]+]] = #44 393; CHECK: v0 = valign(v1,v0,r[[REG44]]) 394; CHECK: jumpr r31 395define <64 x i8> @test_44(<64 x i8> %v0, <64 x i8> %v1) #0 { 396 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 397 ret <64 x i8> %t0 398} 399 400; CHECK-LABEL: test_45: 401; CHECK: r[[REG45:[0-9]+]] = #45 402; CHECK: v0 = valign(v1,v0,r[[REG45]]) 403; CHECK: jumpr r31 404define <64 x i8> @test_45(<64 x i8> %v0, <64 x i8> %v1) #0 { 405 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 406 ret <64 x i8> %t0 407} 408 409; CHECK-LABEL: test_46: 410; CHECK: r[[REG46:[0-9]+]] = #46 411; CHECK: v0 = valign(v1,v0,r[[REG46]]) 412; CHECK: jumpr r31 413define <64 x i8> @test_46(<64 x i8> %v0, <64 x i8> %v1) #0 { 414 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 415 ret <64 x i8> %t0 416} 417 418; CHECK-LABEL: test_47: 419; CHECK: r[[REG47:[0-9]+]] = #47 420; CHECK: v0 = valign(v1,v0,r[[REG47]]) 421; CHECK: jumpr r31 422define <64 x i8> @test_47(<64 x i8> %v0, <64 x i8> %v1) #0 { 423 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 424 ret <64 x i8> %t0 425} 426 427; CHECK-LABEL: test_48: 428; CHECK: r[[REG48:[0-9]+]] = #48 429; CHECK: v0 = valign(v1,v0,r[[REG48]]) 430; CHECK: jumpr r31 431define <64 x i8> @test_48(<64 x i8> %v0, <64 x i8> %v1) #0 { 432 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 433 ret <64 x i8> %t0 434} 435 436; CHECK-LABEL: test_49: 437; CHECK: r[[REG49:[0-9]+]] = #49 438; CHECK: v0 = valign(v1,v0,r[[REG49]]) 439; CHECK: jumpr r31 440define <64 x i8> @test_49(<64 x i8> %v0, <64 x i8> %v1) #0 { 441 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 442 ret <64 x i8> %t0 443} 444 445; CHECK-LABEL: test_50: 446; CHECK: r[[REG50:[0-9]+]] = #50 447; CHECK: v0 = valign(v1,v0,r[[REG50]]) 448; CHECK: jumpr r31 449define <64 x i8> @test_50(<64 x i8> %v0, <64 x i8> %v1) #0 { 450 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 451 ret <64 x i8> %t0 452} 453 454; CHECK-LABEL: test_51: 455; CHECK: r[[REG51:[0-9]+]] = #51 456; CHECK: v0 = valign(v1,v0,r[[REG51]]) 457; CHECK: jumpr r31 458define <64 x i8> @test_51(<64 x i8> %v0, <64 x i8> %v1) #0 { 459 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 460 ret <64 x i8> %t0 461} 462 463; CHECK-LABEL: test_52: 464; CHECK: r[[REG52:[0-9]+]] = #52 465; CHECK: v0 = valign(v1,v0,r[[REG52]]) 466; CHECK: jumpr r31 467define <64 x i8> @test_52(<64 x i8> %v0, <64 x i8> %v1) #0 { 468 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 469 ret <64 x i8> %t0 470} 471 472; CHECK-LABEL: test_53: 473; CHECK: r[[REG53:[0-9]+]] = #53 474; CHECK: v0 = valign(v1,v0,r[[REG53]]) 475; CHECK: jumpr r31 476define <64 x i8> @test_53(<64 x i8> %v0, <64 x i8> %v1) #0 { 477 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 478 ret <64 x i8> %t0 479} 480 481; CHECK-LABEL: test_54: 482; CHECK: r[[REG54:[0-9]+]] = #54 483; CHECK: v0 = valign(v1,v0,r[[REG54]]) 484; CHECK: jumpr r31 485define <64 x i8> @test_54(<64 x i8> %v0, <64 x i8> %v1) #0 { 486 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 487 ret <64 x i8> %t0 488} 489 490; CHECK-LABEL: test_55: 491; CHECK: r[[REG55:[0-9]+]] = #55 492; CHECK: v0 = valign(v1,v0,r[[REG55]]) 493; CHECK: jumpr r31 494define <64 x i8> @test_55(<64 x i8> %v0, <64 x i8> %v1) #0 { 495 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 496 ret <64 x i8> %t0 497} 498 499; CHECK-LABEL: test_56: 500; CHECK: r[[REG56:[0-9]+]] = #56 501; CHECK: v0 = valign(v1,v0,r[[REG56]]) 502; CHECK: jumpr r31 503define <64 x i8> @test_56(<64 x i8> %v0, <64 x i8> %v1) #0 { 504 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 505 ret <64 x i8> %t0 506} 507 508; CHECK-LABEL: test_57: 509; CHECK: v0 = vlalign(v1,v0,#7) 510; CHECK: jumpr r31 511define <64 x i8> @test_57(<64 x i8> %v0, <64 x i8> %v1) #0 { 512 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 513 ret <64 x i8> %t0 514} 515 516; CHECK-LABEL: test_58: 517; CHECK: v0 = vlalign(v1,v0,#6) 518; CHECK: jumpr r31 519define <64 x i8> @test_58(<64 x i8> %v0, <64 x i8> %v1) #0 { 520 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 58, i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 521 ret <64 x i8> %t0 522} 523 524; CHECK-LABEL: test_59: 525; CHECK: v0 = vlalign(v1,v0,#5) 526; CHECK: jumpr r31 527define <64 x i8> @test_59(<64 x i8> %v0, <64 x i8> %v1) #0 { 528 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 59, i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 529 ret <64 x i8> %t0 530} 531 532; CHECK-LABEL: test_60: 533; CHECK: v0 = vlalign(v1,v0,#4) 534; CHECK: jumpr r31 535define <64 x i8> @test_60(<64 x i8> %v0, <64 x i8> %v1) #0 { 536 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 60, i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 537 ret <64 x i8> %t0 538} 539 540; CHECK-LABEL: test_61: 541; CHECK: v0 = vlalign(v1,v0,#3) 542; CHECK: jumpr r31 543define <64 x i8> @test_61(<64 x i8> %v0, <64 x i8> %v1) #0 { 544 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 61, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 545 ret <64 x i8> %t0 546} 547 548; CHECK-LABEL: test_62: 549; CHECK: v0 = vlalign(v1,v0,#2) 550; CHECK: jumpr r31 551define <64 x i8> @test_62(<64 x i8> %v0, <64 x i8> %v1) #0 { 552 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 553 ret <64 x i8> %t0 554} 555 556; CHECK-LABEL: test_63: 557; CHECK: v0 = vlalign(v1,v0,#1) 558; CHECK: jumpr r31 559define <64 x i8> @test_63(<64 x i8> %v0, <64 x i8> %v1) #0 { 560 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 561 ret <64 x i8> %t0 562} 563 564; CHECK-LABEL: test_64: 565; CHECK: v0 = v1 566; CHECK: jumpr r31 567define <64 x i8> @test_64(<64 x i8> %v0, <64 x i8> %v1) #0 { 568 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 569 ret <64 x i8> %t0 570} 571 572; CHECK-LABEL: test_65: 573; CHECK: v0 = valign(v1,v1,#1) 574; CHECK: jumpr r31 575define <64 x i8> @test_65(<64 x i8> %v0, <64 x i8> %v1) #0 { 576 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 65, i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 577 ret <64 x i8> %t0 578} 579 580; CHECK-LABEL: test_66: 581; CHECK: v0 = valign(v1,v1,#2) 582; CHECK: jumpr r31 583define <64 x i8> @test_66(<64 x i8> %v0, <64 x i8> %v1) #0 { 584 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 66, i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 585 ret <64 x i8> %t0 586} 587 588; CHECK-LABEL: test_67: 589; CHECK: v0 = valign(v1,v1,#3) 590; CHECK: jumpr r31 591define <64 x i8> @test_67(<64 x i8> %v0, <64 x i8> %v1) #0 { 592 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 67, i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 593 ret <64 x i8> %t0 594} 595 596; CHECK-LABEL: test_68: 597; CHECK: v0 = valign(v1,v1,#4) 598; CHECK: jumpr r31 599define <64 x i8> @test_68(<64 x i8> %v0, <64 x i8> %v1) #0 { 600 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 68, i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 601 ret <64 x i8> %t0 602} 603 604; CHECK-LABEL: test_69: 605; CHECK: v0 = valign(v1,v1,#5) 606; CHECK: jumpr r31 607define <64 x i8> @test_69(<64 x i8> %v0, <64 x i8> %v1) #0 { 608 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 69, i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 609 ret <64 x i8> %t0 610} 611 612; CHECK-LABEL: test_70: 613; CHECK: v0 = valign(v1,v1,#6) 614; CHECK: jumpr r31 615define <64 x i8> @test_70(<64 x i8> %v0, <64 x i8> %v1) #0 { 616 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 70, i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 617 ret <64 x i8> %t0 618} 619 620; CHECK-LABEL: test_71: 621; CHECK: v0 = valign(v1,v1,#7) 622; CHECK: jumpr r31 623define <64 x i8> @test_71(<64 x i8> %v0, <64 x i8> %v1) #0 { 624 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 71, i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 625 ret <64 x i8> %t0 626} 627 628; CHECK-LABEL: test_72: 629; CHECK: r[[REG72:[0-9]+]] = #8 630; CHECK: v0 = valign(v1,v1,r[[REG72]]) 631; CHECK: jumpr r31 632define <64 x i8> @test_72(<64 x i8> %v0, <64 x i8> %v1) #0 { 633 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 72, i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 634 ret <64 x i8> %t0 635} 636 637; CHECK-LABEL: test_73: 638; CHECK: r[[REG73:[0-9]+]] = #9 639; CHECK: v0 = valign(v1,v1,r[[REG73]]) 640; CHECK: jumpr r31 641define <64 x i8> @test_73(<64 x i8> %v0, <64 x i8> %v1) #0 { 642 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 73, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 643 ret <64 x i8> %t0 644} 645 646; CHECK-LABEL: test_74: 647; CHECK: r[[REG74:[0-9]+]] = #10 648; CHECK: v0 = valign(v1,v1,r[[REG74]]) 649; CHECK: jumpr r31 650define <64 x i8> @test_74(<64 x i8> %v0, <64 x i8> %v1) #0 { 651 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 652 ret <64 x i8> %t0 653} 654 655; CHECK-LABEL: test_75: 656; CHECK: r[[REG75:[0-9]+]] = #11 657; CHECK: v0 = valign(v1,v1,r[[REG75]]) 658; CHECK: jumpr r31 659define <64 x i8> @test_75(<64 x i8> %v0, <64 x i8> %v1) #0 { 660 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 661 ret <64 x i8> %t0 662} 663 664; CHECK-LABEL: test_76: 665; CHECK: r[[REG76:[0-9]+]] = #12 666; CHECK: v0 = valign(v1,v1,r[[REG76]]) 667; CHECK: jumpr r31 668define <64 x i8> @test_76(<64 x i8> %v0, <64 x i8> %v1) #0 { 669 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 670 ret <64 x i8> %t0 671} 672 673; CHECK-LABEL: test_77: 674; CHECK: r[[REG77:[0-9]+]] = #13 675; CHECK: v0 = valign(v1,v1,r[[REG77]]) 676; CHECK: jumpr r31 677define <64 x i8> @test_77(<64 x i8> %v0, <64 x i8> %v1) #0 { 678 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 77, i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 679 ret <64 x i8> %t0 680} 681 682; CHECK-LABEL: test_78: 683; CHECK: r[[REG78:[0-9]+]] = #14 684; CHECK: v0 = valign(v1,v1,r[[REG78]]) 685; CHECK: jumpr r31 686define <64 x i8> @test_78(<64 x i8> %v0, <64 x i8> %v1) #0 { 687 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 78, i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 688 ret <64 x i8> %t0 689} 690 691; CHECK-LABEL: test_79: 692; CHECK: r[[REG79:[0-9]+]] = #15 693; CHECK: v0 = valign(v1,v1,r[[REG79]]) 694; CHECK: jumpr r31 695define <64 x i8> @test_79(<64 x i8> %v0, <64 x i8> %v1) #0 { 696 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 79, i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 697 ret <64 x i8> %t0 698} 699 700; CHECK-LABEL: test_80: 701; CHECK: r[[REG80:[0-9]+]] = #16 702; CHECK: v0 = valign(v1,v1,r[[REG80]]) 703; CHECK: jumpr r31 704define <64 x i8> @test_80(<64 x i8> %v0, <64 x i8> %v1) #0 { 705 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 80, i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 706 ret <64 x i8> %t0 707} 708 709; CHECK-LABEL: test_81: 710; CHECK: r[[REG81:[0-9]+]] = #17 711; CHECK: v0 = valign(v1,v1,r[[REG81]]) 712; CHECK: jumpr r31 713define <64 x i8> @test_81(<64 x i8> %v0, <64 x i8> %v1) #0 { 714 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 81, i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 715 ret <64 x i8> %t0 716} 717 718; CHECK-LABEL: test_82: 719; CHECK: r[[REG82:[0-9]+]] = #18 720; CHECK: v0 = valign(v1,v1,r[[REG82]]) 721; CHECK: jumpr r31 722define <64 x i8> @test_82(<64 x i8> %v0, <64 x i8> %v1) #0 { 723 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 82, i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 724 ret <64 x i8> %t0 725} 726 727; CHECK-LABEL: test_83: 728; CHECK: r[[REG83:[0-9]+]] = #19 729; CHECK: v0 = valign(v1,v1,r[[REG83]]) 730; CHECK: jumpr r31 731define <64 x i8> @test_83(<64 x i8> %v0, <64 x i8> %v1) #0 { 732 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 83, i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 733 ret <64 x i8> %t0 734} 735 736; CHECK-LABEL: test_84: 737; CHECK: r[[REG84:[0-9]+]] = #20 738; CHECK: v0 = valign(v1,v1,r[[REG84]]) 739; CHECK: jumpr r31 740define <64 x i8> @test_84(<64 x i8> %v0, <64 x i8> %v1) #0 { 741 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 84, i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 742 ret <64 x i8> %t0 743} 744 745; CHECK-LABEL: test_85: 746; CHECK: r[[REG85:[0-9]+]] = #21 747; CHECK: v0 = valign(v1,v1,r[[REG85]]) 748; CHECK: jumpr r31 749define <64 x i8> @test_85(<64 x i8> %v0, <64 x i8> %v1) #0 { 750 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 85, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 751 ret <64 x i8> %t0 752} 753 754; CHECK-LABEL: test_86: 755; CHECK: r[[REG86:[0-9]+]] = #22 756; CHECK: v0 = valign(v1,v1,r[[REG86]]) 757; CHECK: jumpr r31 758define <64 x i8> @test_86(<64 x i8> %v0, <64 x i8> %v1) #0 { 759 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 760 ret <64 x i8> %t0 761} 762 763; CHECK-LABEL: test_87: 764; CHECK: r[[REG87:[0-9]+]] = #23 765; CHECK: v0 = valign(v1,v1,r[[REG87]]) 766; CHECK: jumpr r31 767define <64 x i8> @test_87(<64 x i8> %v0, <64 x i8> %v1) #0 { 768 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 769 ret <64 x i8> %t0 770} 771 772; CHECK-LABEL: test_88: 773; CHECK: r[[REG88:[0-9]+]] = #24 774; CHECK: v0 = valign(v1,v1,r[[REG88]]) 775; CHECK: jumpr r31 776define <64 x i8> @test_88(<64 x i8> %v0, <64 x i8> %v1) #0 { 777 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 778 ret <64 x i8> %t0 779} 780 781; CHECK-LABEL: test_89: 782; CHECK: r[[REG89:[0-9]+]] = #25 783; CHECK: v0 = valign(v1,v1,r[[REG89]]) 784; CHECK: jumpr r31 785define <64 x i8> @test_89(<64 x i8> %v0, <64 x i8> %v1) #0 { 786 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 89, i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 787 ret <64 x i8> %t0 788} 789 790; CHECK-LABEL: test_90: 791; CHECK: r[[REG90:[0-9]+]] = #26 792; CHECK: v0 = valign(v1,v1,r[[REG90]]) 793; CHECK: jumpr r31 794define <64 x i8> @test_90(<64 x i8> %v0, <64 x i8> %v1) #0 { 795 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 90, i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 796 ret <64 x i8> %t0 797} 798 799; CHECK-LABEL: test_91: 800; CHECK: r[[REG91:[0-9]+]] = #27 801; CHECK: v0 = valign(v1,v1,r[[REG91]]) 802; CHECK: jumpr r31 803define <64 x i8> @test_91(<64 x i8> %v0, <64 x i8> %v1) #0 { 804 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 91, i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 805 ret <64 x i8> %t0 806} 807 808; CHECK-LABEL: test_92: 809; CHECK: r[[REG92:[0-9]+]] = #28 810; CHECK: v0 = valign(v1,v1,r[[REG92]]) 811; CHECK: jumpr r31 812define <64 x i8> @test_92(<64 x i8> %v0, <64 x i8> %v1) #0 { 813 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 92, i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 814 ret <64 x i8> %t0 815} 816 817; CHECK-LABEL: test_93: 818; CHECK: r[[REG93:[0-9]+]] = #29 819; CHECK: v0 = valign(v1,v1,r[[REG93]]) 820; CHECK: jumpr r31 821define <64 x i8> @test_93(<64 x i8> %v0, <64 x i8> %v1) #0 { 822 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 93, i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 823 ret <64 x i8> %t0 824} 825 826; CHECK-LABEL: test_94: 827; CHECK: r[[REG94:[0-9]+]] = #30 828; CHECK: v0 = valign(v1,v1,r[[REG94]]) 829; CHECK: jumpr r31 830define <64 x i8> @test_94(<64 x i8> %v0, <64 x i8> %v1) #0 { 831 %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32><i32 94, i32 95, i32 96, i32 97, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 106, i32 107, i32 108, i32 109, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117, i32 118, i32 119, i32 120, i32 121, i32 122, i32 123, i32 124, i32 125, i32 126, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> 832 ret <64 x i8> %t0 833} 834 835attributes #0 = { nounwind readnone "target-cpu"="hexagonv60" "target-features"="+hvx,+hvx-length64b" } 836