Home | History | Annotate | Download | only in autohvx
      1 ; RUN: llc -march=hexagon < %s | FileCheck %s
      2 
      3 ; CHECK-LABEL: test_00:
      4 ; CHECK-NOT: v0 =
      5 ; CHECK: jumpr r31
      6 define <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
     14 define <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
     22 define <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
     30 define <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
     38 define <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
     46 define <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
     54 define <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
     62 define <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
     71 define <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
     80 define <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
     89 define <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
     98 define <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
    107 define <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
    116 define <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
    125 define <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
    134 define <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
    143 define <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
    152 define <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
    161 define <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
    170 define <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
    179 define <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
    188 define <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
    197 define <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
    206 define <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
    215 define <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
    224 define <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
    233 define <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
    242 define <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
    251 define <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
    260 define <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
    269 define <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
    278 define <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
    287 define <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
    296 define <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
    305 define <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
    314 define <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
    323 define <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
    332 define <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
    341 define <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
    350 define <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
    359 define <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
    368 define <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
    377 define <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
    386 define <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
    395 define <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
    404 define <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
    413 define <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
    422 define <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
    431 define <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
    440 define <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
    449 define <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
    458 define <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
    467 define <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
    476 define <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
    485 define <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
    494 define <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
    503 define <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
    511 define <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
    519 define <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
    527 define <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
    535 define <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
    543 define <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
    551 define <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
    559 define <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
    567 define <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
    575 define <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
    583 define <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
    591 define <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
    599 define <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
    607 define <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
    615 define <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
    623 define <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
    632 define <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
    641 define <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
    650 define <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
    659 define <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
    668 define <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
    677 define <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
    686 define <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
    695 define <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
    704 define <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
    713 define <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
    722 define <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
    731 define <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
    740 define <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
    749 define <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
    758 define <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
    767 define <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
    776 define <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
    785 define <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
    794 define <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
    803 define <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
    812 define <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
    821 define <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
    830 define <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 
    835 attributes #0 = { nounwind readnone "target-cpu"="hexagonv60" "target-features"="+hvx,+hvx-length64b" }
    836