; RUN: llc -march=hexagon < %s | FileCheck %s ; CHECK-LABEL: test_0000 ; CHECK-NOT: valign define <256 x i8> @test_0000(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0001 ; CHECK: valign(v1,v0,#1) define <256 x i8> @test_0001(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0002 ; CHECK: valign(v1,v0,#2) define <256 x i8> @test_0002(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0003 ; CHECK: valign(v1,v0,#3) define <256 x i8> @test_0003(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0004 ; CHECK: valign(v1,v0,#4) define <256 x i8> @test_0004(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0005 ; CHECK: valign(v1,v0,#5) define <256 x i8> @test_0005(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0006 ; CHECK: valign(v1,v0,#6) define <256 x i8> @test_0006(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0007 ; CHECK: valign(v1,v0,#7) define <256 x i8> @test_0007(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0008 ; CHECK: [[R0008:r[0-9]+]] = #8 ; CHECK: valign(v1,v0,[[R0008]]) define <256 x i8> @test_0008(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0009 ; CHECK: [[R0009:r[0-9]+]] = #9 ; CHECK: valign(v1,v0,[[R0009]]) define <256 x i8> @test_0009(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_000a ; CHECK: [[R000a:r[0-9]+]] = #10 ; CHECK: valign(v1,v0,[[R000a]]) define <256 x i8> @test_000a(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_000b ; CHECK: [[R000b:r[0-9]+]] = #11 ; CHECK: valign(v1,v0,[[R000b]]) define <256 x i8> @test_000b(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_000c ; CHECK: [[R000c:r[0-9]+]] = #12 ; CHECK: valign(v1,v0,[[R000c]]) define <256 x i8> @test_000c(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_000d ; CHECK: [[R000d:r[0-9]+]] = #13 ; CHECK: valign(v1,v0,[[R000d]]) define <256 x i8> @test_000d(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_000e ; CHECK: [[R000e:r[0-9]+]] = #14 ; CHECK: valign(v1,v0,[[R000e]]) define <256 x i8> @test_000e(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_000f ; CHECK: [[R000f:r[0-9]+]] = #15 ; CHECK: valign(v1,v0,[[R000f]]) define <256 x i8> @test_000f(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0010 ; CHECK: [[R0010:r[0-9]+]] = #16 ; CHECK: valign(v1,v0,[[R0010]]) define <256 x i8> @test_0010(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0011 ; CHECK: [[R0011:r[0-9]+]] = #17 ; CHECK: valign(v1,v0,[[R0011]]) define <256 x i8> @test_0011(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0012 ; CHECK: [[R0012:r[0-9]+]] = #18 ; CHECK: valign(v1,v0,[[R0012]]) define <256 x i8> @test_0012(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0013 ; CHECK: [[R0013:r[0-9]+]] = #19 ; CHECK: valign(v1,v0,[[R0013]]) define <256 x i8> @test_0013(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0014 ; CHECK: [[R0014:r[0-9]+]] = #20 ; CHECK: valign(v1,v0,[[R0014]]) define <256 x i8> @test_0014(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0015 ; CHECK: [[R0015:r[0-9]+]] = #21 ; CHECK: valign(v1,v0,[[R0015]]) define <256 x i8> @test_0015(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0016 ; CHECK: [[R0016:r[0-9]+]] = #22 ; CHECK: valign(v1,v0,[[R0016]]) define <256 x i8> @test_0016(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0017 ; CHECK: [[R0017:r[0-9]+]] = #23 ; CHECK: valign(v1,v0,[[R0017]]) define <256 x i8> @test_0017(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0018 ; CHECK: [[R0018:r[0-9]+]] = #24 ; CHECK: valign(v1,v0,[[R0018]]) define <256 x i8> @test_0018(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0019 ; CHECK: [[R0019:r[0-9]+]] = #25 ; CHECK: valign(v1,v0,[[R0019]]) define <256 x i8> @test_0019(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_001a ; CHECK: [[R001a:r[0-9]+]] = #26 ; CHECK: valign(v1,v0,[[R001a]]) define <256 x i8> @test_001a(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_001b ; CHECK: [[R001b:r[0-9]+]] = #27 ; CHECK: valign(v1,v0,[[R001b]]) define <256 x i8> @test_001b(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_001c ; CHECK: [[R001c:r[0-9]+]] = #28 ; CHECK: valign(v1,v0,[[R001c]]) define <256 x i8> @test_001c(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_001d ; CHECK: [[R001d:r[0-9]+]] = #29 ; CHECK: valign(v1,v0,[[R001d]]) define <256 x i8> @test_001d(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_001e ; CHECK: [[R001e:r[0-9]+]] = #30 ; CHECK: valign(v1,v0,[[R001e]]) define <256 x i8> @test_001e(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_001f ; CHECK: [[R001f:r[0-9]+]] = #31 ; CHECK: valign(v1,v0,[[R001f]]) define <256 x i8> @test_001f(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0020 ; CHECK: [[R0020:r[0-9]+]] = #32 ; CHECK: valign(v1,v0,[[R0020]]) define <256 x i8> @test_0020(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0021 ; CHECK: [[R0021:r[0-9]+]] = #33 ; CHECK: valign(v1,v0,[[R0021]]) define <256 x i8> @test_0021(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0022 ; CHECK: [[R0022:r[0-9]+]] = #34 ; CHECK: valign(v1,v0,[[R0022]]) define <256 x i8> @test_0022(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0023 ; CHECK: [[R0023:r[0-9]+]] = #35 ; CHECK: valign(v1,v0,[[R0023]]) define <256 x i8> @test_0023(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0024 ; CHECK: [[R0024:r[0-9]+]] = #36 ; CHECK: valign(v1,v0,[[R0024]]) define <256 x i8> @test_0024(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0025 ; CHECK: [[R0025:r[0-9]+]] = #37 ; CHECK: valign(v1,v0,[[R0025]]) define <256 x i8> @test_0025(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0026 ; CHECK: [[R0026:r[0-9]+]] = #38 ; CHECK: valign(v1,v0,[[R0026]]) define <256 x i8> @test_0026(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0027 ; CHECK: [[R0027:r[0-9]+]] = #39 ; CHECK: valign(v1,v0,[[R0027]]) define <256 x i8> @test_0027(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0028 ; CHECK: [[R0028:r[0-9]+]] = #40 ; CHECK: valign(v1,v0,[[R0028]]) define <256 x i8> @test_0028(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0029 ; CHECK: [[R0029:r[0-9]+]] = #41 ; CHECK: valign(v1,v0,[[R0029]]) define <256 x i8> @test_0029(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_002a ; CHECK: [[R002a:r[0-9]+]] = #42 ; CHECK: valign(v1,v0,[[R002a]]) define <256 x i8> @test_002a(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_002b ; CHECK: [[R002b:r[0-9]+]] = #43 ; CHECK: valign(v1,v0,[[R002b]]) define <256 x i8> @test_002b(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_002c ; CHECK: [[R002c:r[0-9]+]] = #44 ; CHECK: valign(v1,v0,[[R002c]]) define <256 x i8> @test_002c(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_002d ; CHECK: [[R002d:r[0-9]+]] = #45 ; CHECK: valign(v1,v0,[[R002d]]) define <256 x i8> @test_002d(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_002e ; CHECK: [[R002e:r[0-9]+]] = #46 ; CHECK: valign(v1,v0,[[R002e]]) define <256 x i8> @test_002e(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_002f ; CHECK: [[R002f:r[0-9]+]] = #47 ; CHECK: valign(v1,v0,[[R002f]]) define <256 x i8> @test_002f(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0030 ; CHECK: [[R0030:r[0-9]+]] = #48 ; CHECK: valign(v1,v0,[[R0030]]) define <256 x i8> @test_0030(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0031 ; CHECK: [[R0031:r[0-9]+]] = #49 ; CHECK: valign(v1,v0,[[R0031]]) define <256 x i8> @test_0031(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0032 ; CHECK: [[R0032:r[0-9]+]] = #50 ; CHECK: valign(v1,v0,[[R0032]]) define <256 x i8> @test_0032(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0033 ; CHECK: [[R0033:r[0-9]+]] = #51 ; CHECK: valign(v1,v0,[[R0033]]) define <256 x i8> @test_0033(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0034 ; CHECK: [[R0034:r[0-9]+]] = #52 ; CHECK: valign(v1,v0,[[R0034]]) define <256 x i8> @test_0034(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0035 ; CHECK: [[R0035:r[0-9]+]] = #53 ; CHECK: valign(v1,v0,[[R0035]]) define <256 x i8> @test_0035(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0036 ; CHECK: [[R0036:r[0-9]+]] = #54 ; CHECK: valign(v1,v0,[[R0036]]) define <256 x i8> @test_0036(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0037 ; CHECK: [[R0037:r[0-9]+]] = #55 ; CHECK: valign(v1,v0,[[R0037]]) define <256 x i8> @test_0037(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0038 ; CHECK: [[R0038:r[0-9]+]] = #56 ; CHECK: valign(v1,v0,[[R0038]]) define <256 x i8> @test_0038(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0039 ; CHECK: [[R0039:r[0-9]+]] = #57 ; CHECK: valign(v1,v0,[[R0039]]) define <256 x i8> @test_0039(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_003a ; CHECK: [[R003a:r[0-9]+]] = #58 ; CHECK: valign(v1,v0,[[R003a]]) define <256 x i8> @test_003a(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_003b ; CHECK: [[R003b:r[0-9]+]] = #59 ; CHECK: valign(v1,v0,[[R003b]]) define <256 x i8> @test_003b(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_003c ; CHECK: [[R003c:r[0-9]+]] = #60 ; CHECK: valign(v1,v0,[[R003c]]) define <256 x i8> @test_003c(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_003d ; CHECK: [[R003d:r[0-9]+]] = #61 ; CHECK: valign(v1,v0,[[R003d]]) define <256 x i8> @test_003d(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_003e ; CHECK: [[R003e:r[0-9]+]] = #62 ; CHECK: valign(v1,v0,[[R003e]]) define <256 x i8> @test_003e(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_003f ; CHECK: [[R003f:r[0-9]+]] = #63 ; CHECK: valign(v1,v0,[[R003f]]) define <256 x i8> @test_003f(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0040 ; CHECK: [[R0040:r[0-9]+]] = #64 ; CHECK: valign(v1,v0,[[R0040]]) define <256 x i8> @test_0040(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0041 ; CHECK: [[R0041:r[0-9]+]] = #65 ; CHECK: valign(v1,v0,[[R0041]]) define <256 x i8> @test_0041(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0042 ; CHECK: [[R0042:r[0-9]+]] = #66 ; CHECK: valign(v1,v0,[[R0042]]) define <256 x i8> @test_0042(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0043 ; CHECK: [[R0043:r[0-9]+]] = #67 ; CHECK: valign(v1,v0,[[R0043]]) define <256 x i8> @test_0043(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0044 ; CHECK: [[R0044:r[0-9]+]] = #68 ; CHECK: valign(v1,v0,[[R0044]]) define <256 x i8> @test_0044(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0045 ; CHECK: [[R0045:r[0-9]+]] = #69 ; CHECK: valign(v1,v0,[[R0045]]) define <256 x i8> @test_0045(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0046 ; CHECK: [[R0046:r[0-9]+]] = #70 ; CHECK: valign(v1,v0,[[R0046]]) define <256 x i8> @test_0046(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0047 ; CHECK: [[R0047:r[0-9]+]] = #71 ; CHECK: valign(v1,v0,[[R0047]]) define <256 x i8> @test_0047(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0048 ; CHECK: [[R0048:r[0-9]+]] = #72 ; CHECK: valign(v1,v0,[[R0048]]) define <256 x i8> @test_0048(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0049 ; CHECK: [[R0049:r[0-9]+]] = #73 ; CHECK: valign(v1,v0,[[R0049]]) define <256 x i8> @test_0049(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_004a ; CHECK: [[R004a:r[0-9]+]] = #74 ; CHECK: valign(v1,v0,[[R004a]]) define <256 x i8> @test_004a(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_004b ; CHECK: [[R004b:r[0-9]+]] = #75 ; CHECK: valign(v1,v0,[[R004b]]) define <256 x i8> @test_004b(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_004c ; CHECK: [[R004c:r[0-9]+]] = #76 ; CHECK: valign(v1,v0,[[R004c]]) define <256 x i8> @test_004c(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_004d ; CHECK: [[R004d:r[0-9]+]] = #77 ; CHECK: valign(v1,v0,[[R004d]]) define <256 x i8> @test_004d(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_004e ; CHECK: [[R004e:r[0-9]+]] = #78 ; CHECK: valign(v1,v0,[[R004e]]) define <256 x i8> @test_004e(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_004f ; CHECK: [[R004f:r[0-9]+]] = #79 ; CHECK: valign(v1,v0,[[R004f]]) define <256 x i8> @test_004f(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0050 ; CHECK: [[R0050:r[0-9]+]] = #80 ; CHECK: valign(v1,v0,[[R0050]]) define <256 x i8> @test_0050(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0051 ; CHECK: [[R0051:r[0-9]+]] = #81 ; CHECK: valign(v1,v0,[[R0051]]) define <256 x i8> @test_0051(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0052 ; CHECK: [[R0052:r[0-9]+]] = #82 ; CHECK: valign(v1,v0,[[R0052]]) define <256 x i8> @test_0052(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0053 ; CHECK: [[R0053:r[0-9]+]] = #83 ; CHECK: valign(v1,v0,[[R0053]]) define <256 x i8> @test_0053(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0054 ; CHECK: [[R0054:r[0-9]+]] = #84 ; CHECK: valign(v1,v0,[[R0054]]) define <256 x i8> @test_0054(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0055 ; CHECK: [[R0055:r[0-9]+]] = #85 ; CHECK: valign(v1,v0,[[R0055]]) define <256 x i8> @test_0055(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0056 ; CHECK: [[R0056:r[0-9]+]] = #86 ; CHECK: valign(v1,v0,[[R0056]]) define <256 x i8> @test_0056(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0057 ; CHECK: [[R0057:r[0-9]+]] = #87 ; CHECK: valign(v1,v0,[[R0057]]) define <256 x i8> @test_0057(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0058 ; CHECK: [[R0058:r[0-9]+]] = #88 ; CHECK: valign(v1,v0,[[R0058]]) define <256 x i8> @test_0058(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0059 ; CHECK: [[R0059:r[0-9]+]] = #89 ; CHECK: valign(v1,v0,[[R0059]]) define <256 x i8> @test_0059(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_005a ; CHECK: [[R005a:r[0-9]+]] = #90 ; CHECK: valign(v1,v0,[[R005a]]) define <256 x i8> @test_005a(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_005b ; CHECK: [[R005b:r[0-9]+]] = #91 ; CHECK: valign(v1,v0,[[R005b]]) define <256 x i8> @test_005b(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_005c ; CHECK: [[R005c:r[0-9]+]] = #92 ; CHECK: valign(v1,v0,[[R005c]]) define <256 x i8> @test_005c(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_005d ; CHECK: [[R005d:r[0-9]+]] = #93 ; CHECK: valign(v1,v0,[[R005d]]) define <256 x i8> @test_005d(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_005e ; CHECK: [[R005e:r[0-9]+]] = #94 ; CHECK: valign(v1,v0,[[R005e]]) define <256 x i8> @test_005e(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_005f ; CHECK: [[R005f:r[0-9]+]] = #95 ; CHECK: valign(v1,v0,[[R005f]]) define <256 x i8> @test_005f(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0060 ; CHECK: [[R0060:r[0-9]+]] = #96 ; CHECK: valign(v1,v0,[[R0060]]) define <256 x i8> @test_0060(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0061 ; CHECK: [[R0061:r[0-9]+]] = #97 ; CHECK: valign(v1,v0,[[R0061]]) define <256 x i8> @test_0061(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0062 ; CHECK: [[R0062:r[0-9]+]] = #98 ; CHECK: valign(v1,v0,[[R0062]]) define <256 x i8> @test_0062(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0063 ; CHECK: [[R0063:r[0-9]+]] = #99 ; CHECK: valign(v1,v0,[[R0063]]) define <256 x i8> @test_0063(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0064 ; CHECK: [[R0064:r[0-9]+]] = #100 ; CHECK: valign(v1,v0,[[R0064]]) define <256 x i8> @test_0064(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0065 ; CHECK: [[R0065:r[0-9]+]] = #101 ; CHECK: valign(v1,v0,[[R0065]]) define <256 x i8> @test_0065(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0066 ; CHECK: [[R0066:r[0-9]+]] = #102 ; CHECK: valign(v1,v0,[[R0066]]) define <256 x i8> @test_0066(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0067 ; CHECK: [[R0067:r[0-9]+]] = #103 ; CHECK: valign(v1,v0,[[R0067]]) define <256 x i8> @test_0067(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0068 ; CHECK: [[R0068:r[0-9]+]] = #104 ; CHECK: valign(v1,v0,[[R0068]]) define <256 x i8> @test_0068(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0069 ; CHECK: [[R0069:r[0-9]+]] = #105 ; CHECK: valign(v1,v0,[[R0069]]) define <256 x i8> @test_0069(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_006a ; CHECK: [[R006a:r[0-9]+]] = #106 ; CHECK: valign(v1,v0,[[R006a]]) define <256 x i8> @test_006a(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_006b ; CHECK: [[R006b:r[0-9]+]] = #107 ; CHECK: valign(v1,v0,[[R006b]]) define <256 x i8> @test_006b(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_006c ; CHECK: [[R006c:r[0-9]+]] = #108 ; CHECK: valign(v1,v0,[[R006c]]) define <256 x i8> @test_006c(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_006d ; CHECK: [[R006d:r[0-9]+]] = #109 ; CHECK: valign(v1,v0,[[R006d]]) define <256 x i8> @test_006d(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_006e ; CHECK: [[R006e:r[0-9]+]] = #110 ; CHECK: valign(v1,v0,[[R006e]]) define <256 x i8> @test_006e(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_006f ; CHECK: [[R006f:r[0-9]+]] = #111 ; CHECK: valign(v1,v0,[[R006f]]) define <256 x i8> @test_006f(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0070 ; CHECK: [[R0070:r[0-9]+]] = #112 ; CHECK: valign(v1,v0,[[R0070]]) define <256 x i8> @test_0070(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0071 ; CHECK: [[R0071:r[0-9]+]] = #113 ; CHECK: valign(v1,v0,[[R0071]]) define <256 x i8> @test_0071(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0072 ; CHECK: [[R0072:r[0-9]+]] = #114 ; CHECK: valign(v1,v0,[[R0072]]) define <256 x i8> @test_0072(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0073 ; CHECK: [[R0073:r[0-9]+]] = #115 ; CHECK: valign(v1,v0,[[R0073]]) define <256 x i8> @test_0073(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0074 ; CHECK: [[R0074:r[0-9]+]] = #116 ; CHECK: valign(v1,v0,[[R0074]]) define <256 x i8> @test_0074(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0075 ; CHECK: [[R0075:r[0-9]+]] = #117 ; CHECK: valign(v1,v0,[[R0075]]) define <256 x i8> @test_0075(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0076 ; CHECK: [[R0076:r[0-9]+]] = #118 ; CHECK: valign(v1,v0,[[R0076]]) define <256 x i8> @test_0076(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0077 ; CHECK: [[R0077:r[0-9]+]] = #119 ; CHECK: valign(v1,v0,[[R0077]]) define <256 x i8> @test_0077(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0078 ; CHECK: [[R0078:r[0-9]+]] = #120 ; CHECK: valign(v1,v0,[[R0078]]) define <256 x i8> @test_0078(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0079 ; CHECK: vlalign(v1,v0,#7) define <256 x i8> @test_0079(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_007a ; CHECK: vlalign(v1,v0,#6) define <256 x i8> @test_007a(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_007b ; CHECK: vlalign(v1,v0,#5) define <256 x i8> @test_007b(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_007c ; CHECK: vlalign(v1,v0,#4) define <256 x i8> @test_007c(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_007d ; CHECK: vlalign(v1,v0,#3) define <256 x i8> @test_007d(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_007e ; CHECK: vlalign(v1,v0,#2) define <256 x i8> @test_007e(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_007f ; CHECK: vlalign(v1,v0,#1) define <256 x i8> @test_007f(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } attributes #0 = { nounwind readnone "target-cpu"="hexagonv60" "target-features"="+hvx,+hvx-length128b" }