; RUN: llc -march=hexagon < %s | FileCheck %s ; CHECK-LABEL: test_00: ; CHECK-NOT: v0 = ; CHECK: jumpr r31 define <64 x i8> @test_00(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_01: ; CHECK: v0 = valign(v0,v0,#1) ; CHECK: jumpr r31 define <64 x i8> @test_01(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_02: ; CHECK: v0 = valign(v0,v0,#2) ; CHECK: jumpr r31 define <64 x i8> @test_02(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_03: ; CHECK: v0 = valign(v0,v0,#3) ; CHECK: jumpr r31 define <64 x i8> @test_03(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_04: ; CHECK: v0 = valign(v0,v0,#4) ; CHECK: jumpr r31 define <64 x i8> @test_04(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_05: ; CHECK: v0 = valign(v0,v0,#5) ; CHECK: jumpr r31 define <64 x i8> @test_05(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_06: ; CHECK: v0 = valign(v0,v0,#6) ; CHECK: jumpr r31 define <64 x i8> @test_06(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_07: ; CHECK: v0 = valign(v0,v0,#7) ; CHECK: jumpr r31 define <64 x i8> @test_07(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_08: ; CHECK: r[[REG08:[0-9]+]] = #8 ; CHECK: v0 = valign(v0,v0,r[[REG08]]) ; CHECK: jumpr r31 define <64 x i8> @test_08(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_09: ; CHECK: r[[REG09:[0-9]+]] = #9 ; CHECK: v0 = valign(v0,v0,r[[REG09]]) ; CHECK: jumpr r31 define <64 x i8> @test_09(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_10: ; CHECK: r[[REG10:[0-9]+]] = #10 ; CHECK: v0 = valign(v0,v0,r[[REG10]]) ; CHECK: jumpr r31 define <64 x i8> @test_10(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_11: ; CHECK: r[[REG11:[0-9]+]] = #11 ; CHECK: v0 = valign(v0,v0,r[[REG11]]) ; CHECK: jumpr r31 define <64 x i8> @test_11(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_12: ; CHECK: r[[REG12:[0-9]+]] = #12 ; CHECK: v0 = valign(v0,v0,r[[REG12]]) ; CHECK: jumpr r31 define <64 x i8> @test_12(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_13: ; CHECK: r[[REG13:[0-9]+]] = #13 ; CHECK: v0 = valign(v0,v0,r[[REG13]]) ; CHECK: jumpr r31 define <64 x i8> @test_13(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_14: ; CHECK: r[[REG14:[0-9]+]] = #14 ; CHECK: v0 = valign(v0,v0,r[[REG14]]) ; CHECK: jumpr r31 define <64 x i8> @test_14(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_15: ; CHECK: r[[REG15:[0-9]+]] = #15 ; CHECK: v0 = valign(v0,v0,r[[REG15]]) ; CHECK: jumpr r31 define <64 x i8> @test_15(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_16: ; CHECK: r[[REG16:[0-9]+]] = #16 ; CHECK: v0 = valign(v0,v0,r[[REG16]]) ; CHECK: jumpr r31 define <64 x i8> @test_16(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_17: ; CHECK: r[[REG17:[0-9]+]] = #17 ; CHECK: v0 = valign(v0,v0,r[[REG17]]) ; CHECK: jumpr r31 define <64 x i8> @test_17(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_18: ; CHECK: r[[REG18:[0-9]+]] = #18 ; CHECK: v0 = valign(v0,v0,r[[REG18]]) ; CHECK: jumpr r31 define <64 x i8> @test_18(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_19: ; CHECK: r[[REG19:[0-9]+]] = #19 ; CHECK: v0 = valign(v0,v0,r[[REG19]]) ; CHECK: jumpr r31 define <64 x i8> @test_19(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_20: ; CHECK: r[[REG20:[0-9]+]] = #20 ; CHECK: v0 = valign(v0,v0,r[[REG20]]) ; CHECK: jumpr r31 define <64 x i8> @test_20(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_21: ; CHECK: r[[REG21:[0-9]+]] = #21 ; CHECK: v0 = valign(v0,v0,r[[REG21]]) ; CHECK: jumpr r31 define <64 x i8> @test_21(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_22: ; CHECK: r[[REG22:[0-9]+]] = #22 ; CHECK: v0 = valign(v0,v0,r[[REG22]]) ; CHECK: jumpr r31 define <64 x i8> @test_22(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_23: ; CHECK: r[[REG23:[0-9]+]] = #23 ; CHECK: v0 = valign(v0,v0,r[[REG23]]) ; CHECK: jumpr r31 define <64 x i8> @test_23(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_24: ; CHECK: r[[REG24:[0-9]+]] = #24 ; CHECK: v0 = valign(v0,v0,r[[REG24]]) ; CHECK: jumpr r31 define <64 x i8> @test_24(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_25: ; CHECK: r[[REG25:[0-9]+]] = #25 ; CHECK: v0 = valign(v0,v0,r[[REG25]]) ; CHECK: jumpr r31 define <64 x i8> @test_25(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_26: ; CHECK: r[[REG26:[0-9]+]] = #26 ; CHECK: v0 = valign(v0,v0,r[[REG26]]) ; CHECK: jumpr r31 define <64 x i8> @test_26(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_27: ; CHECK: r[[REG27:[0-9]+]] = #27 ; CHECK: v0 = valign(v0,v0,r[[REG27]]) ; CHECK: jumpr r31 define <64 x i8> @test_27(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_28: ; CHECK: r[[REG28:[0-9]+]] = #28 ; CHECK: v0 = valign(v0,v0,r[[REG28]]) ; CHECK: jumpr r31 define <64 x i8> @test_28(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_29: ; CHECK: r[[REG29:[0-9]+]] = #29 ; CHECK: v0 = valign(v0,v0,r[[REG29]]) ; CHECK: jumpr r31 define <64 x i8> @test_29(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_30: ; CHECK: r[[REG30:[0-9]+]] = #30 ; CHECK: v0 = valign(v0,v0,r[[REG30]]) ; CHECK: jumpr r31 define <64 x i8> @test_30(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_31: ; CHECK: r[[REG31:[0-9]+]] = #31 ; CHECK: v0 = valign(v0,v0,r[[REG31]]) ; CHECK: jumpr r31 define <64 x i8> @test_31(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_32: ; CHECK: r[[REG32:[0-9]+]] = #32 ; CHECK: v0 = valign(v1,v0,r[[REG32]]) ; CHECK: jumpr r31 define <64 x i8> @test_32(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_33: ; CHECK: r[[REG33:[0-9]+]] = #33 ; CHECK: v0 = valign(v1,v0,r[[REG33]]) ; CHECK: jumpr r31 define <64 x i8> @test_33(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_34: ; CHECK: r[[REG34:[0-9]+]] = #34 ; CHECK: v0 = valign(v1,v0,r[[REG34]]) ; CHECK: jumpr r31 define <64 x i8> @test_34(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_35: ; CHECK: r[[REG35:[0-9]+]] = #35 ; CHECK: v0 = valign(v1,v0,r[[REG35]]) ; CHECK: jumpr r31 define <64 x i8> @test_35(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_36: ; CHECK: r[[REG36:[0-9]+]] = #36 ; CHECK: v0 = valign(v1,v0,r[[REG36]]) ; CHECK: jumpr r31 define <64 x i8> @test_36(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_37: ; CHECK: r[[REG37:[0-9]+]] = #37 ; CHECK: v0 = valign(v1,v0,r[[REG37]]) ; CHECK: jumpr r31 define <64 x i8> @test_37(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_38: ; CHECK: r[[REG38:[0-9]+]] = #38 ; CHECK: v0 = valign(v1,v0,r[[REG38]]) ; CHECK: jumpr r31 define <64 x i8> @test_38(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_39: ; CHECK: r[[REG39:[0-9]+]] = #39 ; CHECK: v0 = valign(v1,v0,r[[REG39]]) ; CHECK: jumpr r31 define <64 x i8> @test_39(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_40: ; CHECK: r[[REG40:[0-9]+]] = #40 ; CHECK: v0 = valign(v1,v0,r[[REG40]]) ; CHECK: jumpr r31 define <64 x i8> @test_40(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_41: ; CHECK: r[[REG41:[0-9]+]] = #41 ; CHECK: v0 = valign(v1,v0,r[[REG41]]) ; CHECK: jumpr r31 define <64 x i8> @test_41(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_42: ; CHECK: r[[REG42:[0-9]+]] = #42 ; CHECK: v0 = valign(v1,v0,r[[REG42]]) ; CHECK: jumpr r31 define <64 x i8> @test_42(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_43: ; CHECK: r[[REG43:[0-9]+]] = #43 ; CHECK: v0 = valign(v1,v0,r[[REG43]]) ; CHECK: jumpr r31 define <64 x i8> @test_43(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_44: ; CHECK: r[[REG44:[0-9]+]] = #44 ; CHECK: v0 = valign(v1,v0,r[[REG44]]) ; CHECK: jumpr r31 define <64 x i8> @test_44(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_45: ; CHECK: r[[REG45:[0-9]+]] = #45 ; CHECK: v0 = valign(v1,v0,r[[REG45]]) ; CHECK: jumpr r31 define <64 x i8> @test_45(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_46: ; CHECK: r[[REG46:[0-9]+]] = #46 ; CHECK: v0 = valign(v1,v0,r[[REG46]]) ; CHECK: jumpr r31 define <64 x i8> @test_46(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_47: ; CHECK: r[[REG47:[0-9]+]] = #47 ; CHECK: v0 = valign(v1,v0,r[[REG47]]) ; CHECK: jumpr r31 define <64 x i8> @test_47(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_48: ; CHECK: r[[REG48:[0-9]+]] = #48 ; CHECK: v0 = valign(v1,v0,r[[REG48]]) ; CHECK: jumpr r31 define <64 x i8> @test_48(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_49: ; CHECK: r[[REG49:[0-9]+]] = #49 ; CHECK: v0 = valign(v1,v0,r[[REG49]]) ; CHECK: jumpr r31 define <64 x i8> @test_49(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_50: ; CHECK: r[[REG50:[0-9]+]] = #50 ; CHECK: v0 = valign(v1,v0,r[[REG50]]) ; CHECK: jumpr r31 define <64 x i8> @test_50(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_51: ; CHECK: r[[REG51:[0-9]+]] = #51 ; CHECK: v0 = valign(v1,v0,r[[REG51]]) ; CHECK: jumpr r31 define <64 x i8> @test_51(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_52: ; CHECK: r[[REG52:[0-9]+]] = #52 ; CHECK: v0 = valign(v1,v0,r[[REG52]]) ; CHECK: jumpr r31 define <64 x i8> @test_52(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_53: ; CHECK: r[[REG53:[0-9]+]] = #53 ; CHECK: v0 = valign(v1,v0,r[[REG53]]) ; CHECK: jumpr r31 define <64 x i8> @test_53(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_54: ; CHECK: r[[REG54:[0-9]+]] = #54 ; CHECK: v0 = valign(v1,v0,r[[REG54]]) ; CHECK: jumpr r31 define <64 x i8> @test_54(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_55: ; CHECK: r[[REG55:[0-9]+]] = #55 ; CHECK: v0 = valign(v1,v0,r[[REG55]]) ; CHECK: jumpr r31 define <64 x i8> @test_55(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_56: ; CHECK: r[[REG56:[0-9]+]] = #56 ; CHECK: v0 = valign(v1,v0,r[[REG56]]) ; CHECK: jumpr r31 define <64 x i8> @test_56(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_57: ; CHECK: v0 = vlalign(v1,v0,#7) ; CHECK: jumpr r31 define <64 x i8> @test_57(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_58: ; CHECK: v0 = vlalign(v1,v0,#6) ; CHECK: jumpr r31 define <64 x i8> @test_58(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_59: ; CHECK: v0 = vlalign(v1,v0,#5) ; CHECK: jumpr r31 define <64 x i8> @test_59(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_60: ; CHECK: v0 = vlalign(v1,v0,#4) ; CHECK: jumpr r31 define <64 x i8> @test_60(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_61: ; CHECK: v0 = vlalign(v1,v0,#3) ; CHECK: jumpr r31 define <64 x i8> @test_61(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_62: ; CHECK: v0 = vlalign(v1,v0,#2) ; CHECK: jumpr r31 define <64 x i8> @test_62(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_63: ; CHECK: v0 = vlalign(v1,v0,#1) ; CHECK: jumpr r31 define <64 x i8> @test_63(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_64: ; CHECK: v0 = v1 ; CHECK: jumpr r31 define <64 x i8> @test_64(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_65: ; CHECK: v0 = valign(v1,v1,#1) ; CHECK: jumpr r31 define <64 x i8> @test_65(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_66: ; CHECK: v0 = valign(v1,v1,#2) ; CHECK: jumpr r31 define <64 x i8> @test_66(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_67: ; CHECK: v0 = valign(v1,v1,#3) ; CHECK: jumpr r31 define <64 x i8> @test_67(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_68: ; CHECK: v0 = valign(v1,v1,#4) ; CHECK: jumpr r31 define <64 x i8> @test_68(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_69: ; CHECK: v0 = valign(v1,v1,#5) ; CHECK: jumpr r31 define <64 x i8> @test_69(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_70: ; CHECK: v0 = valign(v1,v1,#6) ; CHECK: jumpr r31 define <64 x i8> @test_70(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_71: ; CHECK: v0 = valign(v1,v1,#7) ; CHECK: jumpr r31 define <64 x i8> @test_71(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_72: ; CHECK: r[[REG72:[0-9]+]] = #8 ; CHECK: v0 = valign(v1,v1,r[[REG72]]) ; CHECK: jumpr r31 define <64 x i8> @test_72(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_73: ; CHECK: r[[REG73:[0-9]+]] = #9 ; CHECK: v0 = valign(v1,v1,r[[REG73]]) ; CHECK: jumpr r31 define <64 x i8> @test_73(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_74: ; CHECK: r[[REG74:[0-9]+]] = #10 ; CHECK: v0 = valign(v1,v1,r[[REG74]]) ; CHECK: jumpr r31 define <64 x i8> @test_74(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_75: ; CHECK: r[[REG75:[0-9]+]] = #11 ; CHECK: v0 = valign(v1,v1,r[[REG75]]) ; CHECK: jumpr r31 define <64 x i8> @test_75(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_76: ; CHECK: r[[REG76:[0-9]+]] = #12 ; CHECK: v0 = valign(v1,v1,r[[REG76]]) ; CHECK: jumpr r31 define <64 x i8> @test_76(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_77: ; CHECK: r[[REG77:[0-9]+]] = #13 ; CHECK: v0 = valign(v1,v1,r[[REG77]]) ; CHECK: jumpr r31 define <64 x i8> @test_77(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_78: ; CHECK: r[[REG78:[0-9]+]] = #14 ; CHECK: v0 = valign(v1,v1,r[[REG78]]) ; CHECK: jumpr r31 define <64 x i8> @test_78(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_79: ; CHECK: r[[REG79:[0-9]+]] = #15 ; CHECK: v0 = valign(v1,v1,r[[REG79]]) ; CHECK: jumpr r31 define <64 x i8> @test_79(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_80: ; CHECK: r[[REG80:[0-9]+]] = #16 ; CHECK: v0 = valign(v1,v1,r[[REG80]]) ; CHECK: jumpr r31 define <64 x i8> @test_80(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_81: ; CHECK: r[[REG81:[0-9]+]] = #17 ; CHECK: v0 = valign(v1,v1,r[[REG81]]) ; CHECK: jumpr r31 define <64 x i8> @test_81(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_82: ; CHECK: r[[REG82:[0-9]+]] = #18 ; CHECK: v0 = valign(v1,v1,r[[REG82]]) ; CHECK: jumpr r31 define <64 x i8> @test_82(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_83: ; CHECK: r[[REG83:[0-9]+]] = #19 ; CHECK: v0 = valign(v1,v1,r[[REG83]]) ; CHECK: jumpr r31 define <64 x i8> @test_83(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_84: ; CHECK: r[[REG84:[0-9]+]] = #20 ; CHECK: v0 = valign(v1,v1,r[[REG84]]) ; CHECK: jumpr r31 define <64 x i8> @test_84(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_85: ; CHECK: r[[REG85:[0-9]+]] = #21 ; CHECK: v0 = valign(v1,v1,r[[REG85]]) ; CHECK: jumpr r31 define <64 x i8> @test_85(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_86: ; CHECK: r[[REG86:[0-9]+]] = #22 ; CHECK: v0 = valign(v1,v1,r[[REG86]]) ; CHECK: jumpr r31 define <64 x i8> @test_86(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_87: ; CHECK: r[[REG87:[0-9]+]] = #23 ; CHECK: v0 = valign(v1,v1,r[[REG87]]) ; CHECK: jumpr r31 define <64 x i8> @test_87(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_88: ; CHECK: r[[REG88:[0-9]+]] = #24 ; CHECK: v0 = valign(v1,v1,r[[REG88]]) ; CHECK: jumpr r31 define <64 x i8> @test_88(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_89: ; CHECK: r[[REG89:[0-9]+]] = #25 ; CHECK: v0 = valign(v1,v1,r[[REG89]]) ; CHECK: jumpr r31 define <64 x i8> @test_89(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_90: ; CHECK: r[[REG90:[0-9]+]] = #26 ; CHECK: v0 = valign(v1,v1,r[[REG90]]) ; CHECK: jumpr r31 define <64 x i8> @test_90(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_91: ; CHECK: r[[REG91:[0-9]+]] = #27 ; CHECK: v0 = valign(v1,v1,r[[REG91]]) ; CHECK: jumpr r31 define <64 x i8> @test_91(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_92: ; CHECK: r[[REG92:[0-9]+]] = #28 ; CHECK: v0 = valign(v1,v1,r[[REG92]]) ; CHECK: jumpr r31 define <64 x i8> @test_92(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_93: ; CHECK: r[[REG93:[0-9]+]] = #29 ; CHECK: v0 = valign(v1,v1,r[[REG93]]) ; CHECK: jumpr r31 define <64 x i8> @test_93(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } ; CHECK-LABEL: test_94: ; CHECK: r[[REG94:[0-9]+]] = #30 ; CHECK: v0 = valign(v1,v1,r[[REG94]]) ; CHECK: jumpr r31 define <64 x i8> @test_94(<64 x i8> %v0, <64 x i8> %v1) #0 { %t0 = shufflevector <64 x i8> %v0, <64 x i8> %v1, <64 x i32> ret <64 x i8> %t0 } attributes #0 = { nounwind readnone "target-cpu"="hexagonv60" "target-features"="+hvx,+hvx-length64b" }