Home | History | Annotate | Download | only in ARM
      1 @ RUN: llvm-mc -mcpu=cortex-a8 -triple arm-unknown-unknown -show-encoding < %s | FileCheck %s
      2 
      3 	vext.8	d16, d17, d16, #3
      4 	vext.8	d16, d17, d16, #5
      5 	vext.8	q8, q9, q8, #3
      6 	vext.8	q8, q9, q8, #7
      7 	vext.16	d16, d17, d16, #3
      8 	vext.32	q8, q9, q8, #3
      9 	vext.64	q8, q9, q8, #1
     10 
     11 	vext.8	d17, d16, #3
     12 	vext.8	d7, d11, #5
     13 	vext.8	q3, q8, #3
     14 	vext.8	q9, q4, #7
     15 	vext.16	d1, d26, #3
     16 	vext.32	q5, q8, #3
     17 	vext.64	q5, q8, #1
     18 
     19 
     20 @ CHECK: vext.8	d16, d17, d16, #3       @ encoding: [0xa0,0x03,0xf1,0xf2]
     21 @ CHECK: vext.8	d16, d17, d16, #5       @ encoding: [0xa0,0x05,0xf1,0xf2]
     22 @ CHECK: vext.8	q8, q9, q8, #3          @ encoding: [0xe0,0x03,0xf2,0xf2]
     23 @ CHECK: vext.8	q8, q9, q8, #7          @ encoding: [0xe0,0x07,0xf2,0xf2]
     24 @ CHECK: vext.16 d16, d17, d16, #3      @ encoding: [0xa0,0x06,0xf1,0xf2]
     25 @ CHECK: vext.32 q8, q9, q8, #3         @ encoding: [0xe0,0x0c,0xf2,0xf2]
     26 @ CHECK: vext.64 q8, q9, q8, #1         @ encoding: [0xe0,0x08,0xf2,0xf2]
     27 
     28 @ CHECK: vext.8	d17, d17, d16, #3       @ encoding: [0xa0,0x13,0xf1,0xf2]
     29 @ CHECK: vext.8	d7, d7, d11, #5         @ encoding: [0x0b,0x75,0xb7,0xf2]
     30 @ CHECK: vext.8	q3, q3, q8, #3          @ encoding: [0x60,0x63,0xb6,0xf2]
     31 @ CHECK: vext.8	q9, q9, q4, #7          @ encoding: [0xc8,0x27,0xf2,0xf2]
     32 @ CHECK: vext.16 d1, d1, d26, #3        @ encoding: [0x2a,0x16,0xb1,0xf2]
     33 @ CHECK: vext.32 q5, q5, q8, #3         @ encoding: [0x60,0xac,0xba,0xf2]
     34 @ CHECK: vext.64 q5, q5, q8, #1         @ encoding: [0x60,0xa8,0xba,0xf2]
     35 
     36 
     37 	vtrn.8	d17, d16
     38 	vtrn.16	d17, d16
     39 	vtrn.32	d17, d16
     40 	vtrn.8	q9, q8
     41 	vtrn.16	q9, q8
     42 	vtrn.32	q9, q8
     43 
     44 @ CHECK: vtrn.8	d17, d16                @ encoding: [0xa0,0x10,0xf2,0xf3]
     45 @ CHECK: vtrn.16 d17, d16               @ encoding: [0xa0,0x10,0xf6,0xf3]
     46 @ CHECK: vtrn.32 d17, d16               @ encoding: [0xa0,0x10,0xfa,0xf3]
     47 @ CHECK: vtrn.8	q9, q8                  @ encoding: [0xe0,0x20,0xf2,0xf3]
     48 @ CHECK: vtrn.16 q9, q8                 @ encoding: [0xe0,0x20,0xf6,0xf3]
     49 @ CHECK: vtrn.32 q9, q8                 @ encoding: [0xe0,0x20,0xfa,0xf3]
     50 
     51 
     52 	vuzp.8	d17, d16
     53 	vuzp.16	d17, d16
     54 	vuzp.8	q9, q8
     55 	vuzp.16	q9, q8
     56 	vuzp.32	q9, q8
     57 	vzip.8	d17, d16
     58 	vzip.16	d17, d16
     59 	vzip.8	q9, q8
     60 	vzip.16	q9, q8
     61 	vzip.32	q9, q8
     62         vzip.32 d2, d3
     63         vuzp.32 d2, d3
     64 
     65 @ CHECK: vuzp.8	d17, d16                @ encoding: [0x20,0x11,0xf2,0xf3]
     66 @ CHECK: vuzp.16 d17, d16               @ encoding: [0x20,0x11,0xf6,0xf3]
     67 @ CHECK: vuzp.8	q9, q8                  @ encoding: [0x60,0x21,0xf2,0xf3]
     68 @ CHECK: vuzp.16 q9, q8                 @ encoding: [0x60,0x21,0xf6,0xf3]
     69 @ CHECK: vuzp.32 q9, q8                 @ encoding: [0x60,0x21,0xfa,0xf3]
     70 @ CHECK: vzip.8	d17, d16                @ encoding: [0xa0,0x11,0xf2,0xf3]
     71 @ CHECK: vzip.16 d17, d16               @ encoding: [0xa0,0x11,0xf6,0xf3]
     72 @ CHECK: vzip.8	q9, q8                  @ encoding: [0xe0,0x21,0xf2,0xf3]
     73 @ CHECK: vzip.16 q9, q8                 @ encoding: [0xe0,0x21,0xf6,0xf3]
     74 @ CHECK: vzip.32 q9, q8                 @ encoding: [0xe0,0x21,0xfa,0xf3]
     75 @ CHECK: vtrn.32 d2, d3                 @ encoding: [0x83,0x20,0xba,0xf3]
     76 @ CHECK: vtrn.32 d2, d3                 @ encoding: [0x83,0x20,0xba,0xf3]
     77 
     78 
     79 @ VTRN alternate size suffices
     80 
     81         vtrn.8 d3, d9
     82         vtrn.i8 d3, d9
     83         vtrn.u8 d3, d9
     84         vtrn.p8 d3, d9
     85         vtrn.16 d3, d9
     86         vtrn.i16 d3, d9
     87         vtrn.u16 d3, d9
     88         vtrn.p16 d3, d9
     89         vtrn.32 d3, d9
     90         vtrn.i32 d3, d9
     91         vtrn.u32 d3, d9
     92         vtrn.f32 d3, d9
     93         vtrn.f d3, d9
     94 
     95         vtrn.8 q14, q6
     96         vtrn.i8 q14, q6
     97         vtrn.u8 q14, q6
     98         vtrn.p8 q14, q6
     99         vtrn.16 q14, q6
    100         vtrn.i16 q14, q6
    101         vtrn.u16 q14, q6
    102         vtrn.p16 q14, q6
    103         vtrn.32 q14, q6
    104         vtrn.i32 q14, q6
    105         vtrn.u32 q14, q6
    106         vtrn.f32 q14, q6
    107         vtrn.f q14, q6
    108 
    109 @ CHECK: vtrn.8	d3, d9                  @ encoding: [0x89,0x30,0xb2,0xf3]
    110 @ CHECK: vtrn.8	d3, d9                  @ encoding: [0x89,0x30,0xb2,0xf3]
    111 @ CHECK: vtrn.8	d3, d9                  @ encoding: [0x89,0x30,0xb2,0xf3]
    112 @ CHECK: vtrn.8	d3, d9                  @ encoding: [0x89,0x30,0xb2,0xf3]
    113 @ CHECK: vtrn.16	d3, d9          @ encoding: [0x89,0x30,0xb6,0xf3]
    114 @ CHECK: vtrn.16	d3, d9          @ encoding: [0x89,0x30,0xb6,0xf3]
    115 @ CHECK: vtrn.16	d3, d9          @ encoding: [0x89,0x30,0xb6,0xf3]
    116 @ CHECK: vtrn.16	d3, d9          @ encoding: [0x89,0x30,0xb6,0xf3]
    117 @ CHECK: vtrn.32	d3, d9          @ encoding: [0x89,0x30,0xba,0xf3]
    118 @ CHECK: vtrn.32	d3, d9          @ encoding: [0x89,0x30,0xba,0xf3]
    119 @ CHECK: vtrn.32	d3, d9          @ encoding: [0x89,0x30,0xba,0xf3]
    120 @ CHECK: vtrn.32	d3, d9          @ encoding: [0x89,0x30,0xba,0xf3]
    121 @ CHECK: vtrn.32	d3, d9          @ encoding: [0x89,0x30,0xba,0xf3]
    122 
    123 @ CHECK: vtrn.8	q14, q6                 @ encoding: [0xcc,0xc0,0xf2,0xf3]
    124 @ CHECK: vtrn.8	q14, q6                 @ encoding: [0xcc,0xc0,0xf2,0xf3]
    125 @ CHECK: vtrn.8	q14, q6                 @ encoding: [0xcc,0xc0,0xf2,0xf3]
    126 @ CHECK: vtrn.8	q14, q6                 @ encoding: [0xcc,0xc0,0xf2,0xf3]
    127 @ CHECK: vtrn.16	q14, q6         @ encoding: [0xcc,0xc0,0xf6,0xf3]
    128 @ CHECK: vtrn.16	q14, q6         @ encoding: [0xcc,0xc0,0xf6,0xf3]
    129 @ CHECK: vtrn.16	q14, q6         @ encoding: [0xcc,0xc0,0xf6,0xf3]
    130 @ CHECK: vtrn.16	q14, q6         @ encoding: [0xcc,0xc0,0xf6,0xf3]
    131 @ CHECK: vtrn.32	q14, q6         @ encoding: [0xcc,0xc0,0xfa,0xf3]
    132 @ CHECK: vtrn.32	q14, q6         @ encoding: [0xcc,0xc0,0xfa,0xf3]
    133 @ CHECK: vtrn.32	q14, q6         @ encoding: [0xcc,0xc0,0xfa,0xf3]
    134 @ CHECK: vtrn.32	q14, q6         @ encoding: [0xcc,0xc0,0xfa,0xf3]
    135 @ CHECK: vtrn.32	q14, q6         @ encoding: [0xcc,0xc0,0xfa,0xf3]
    136 
    137