[PowerPC] Also add "msync" alias
[oota-llvm.git] / test / MC / ARM / neont2-mov-encoding.s
index 4f6b687210ec4792bb990e7ac3403e72d3e931ce..43df3498cb5b475dbc7c13550178ec02f793b338 100644 (file)
-@ RUN: llvm-mc -mcpu=cortex-a8 -triple thumb-unknown-unkown -show-encoding < %s | FileCheck %s
-@ XFAIL: *
+@ RUN: llvm-mc -mcpu=cortex-a8 -triple thumb-unknown-unknown -show-encoding < %s | FileCheck %s
 
 .code 16
 
-@ CHECK: vmov.i8       d16, #0x8               @ encoding: [0x18,0x0e,0xc0,0xef]
        vmov.i8 d16, #0x8
-@ CHECK: vmov.i16      d16, #0x10      @ encoding: [0x10,0x08,0xc1,0xef]
        vmov.i16        d16, #0x10
-@ CHECK: vmov.i16      d16, #0x1000    @ encoding: [0x10,0x0a,0xc1,0xef]
        vmov.i16        d16, #0x1000
-@ CHECK: vmov.i32      d16, #0x20      @ encoding: [0x10,0x00,0xc2,0xef]
        vmov.i32        d16, #0x20
-@ CHECK: vmov.i32      d16, #0x2000    @ encoding: [0x10,0x02,0xc2,0xef]
        vmov.i32        d16, #0x2000
-@ CHECK: vmov.i32      d16, #0x200000  @ encoding: [0x10,0x04,0xc2,0xef]
        vmov.i32        d16, #0x200000
-@ CHECK: vmov.i32      d16, #0x20000000 @ encoding: [0x10,0x06,0xc2,0xef]
        vmov.i32        d16, #0x20000000
-@ CHECK: vmov.i32      d16, #0x20FF    @ encoding: [0x10,0x0c,0xc2,0xef]
        vmov.i32        d16, #0x20FF
-@ CHECK: vmov.i32      d16, #0x20FFFF  @ encoding: [0x10,0x0d,0xc2,0xef]
        vmov.i32        d16, #0x20FFFF
-@ CHECK: vmov.i64      d16, #0xFF0000FF0000FFFF @ encoding: [0x33,0x0e,0xc1,0xff]
        vmov.i64        d16, #0xFF0000FF0000FFFF
-@ CHECK: vmov.i8       q8, #0x8                @ encoding: [0x58,0x0e,0xc0,0xef]
+
+@ CHECK: vmov.i8       d16, #0x8       @ encoding: [0xc0,0xef,0x18,0x0e]
+@ CHECK: vmov.i16      d16, #0x10      @ encoding: [0xc1,0xef,0x10,0x08]
+@ CHECK: vmov.i16      d16, #0x1000    @ encoding: [0xc1,0xef,0x10,0x0a]
+@ CHECK: vmov.i32      d16, #0x20      @ encoding: [0xc2,0xef,0x10,0x00]
+@ CHECK: vmov.i32      d16, #0x2000    @ encoding: [0xc2,0xef,0x10,0x02]
+@ CHECK: vmov.i32      d16, #0x200000  @ encoding: [0xc2,0xef,0x10,0x04]
+@ CHECK: vmov.i32      d16, #0x20000000 @ encoding: [0xc2,0xef,0x10,0x06]
+@ CHECK: vmov.i32      d16, #0x20ff    @ encoding: [0xc2,0xef,0x10,0x0c]
+@ CHECK: vmov.i32      d16, #0x20ffff  @ encoding: [0xc2,0xef,0x10,0x0d]
+@ CHECK: vmov.i64 d16, #0xff0000ff0000ffff @ encoding: [0xc1,0xff,0x33,0x0e]
+
+
        vmov.i8 q8, #0x8
-@ CHECK: vmov.i16      q8, #0x10       @ encoding: [0x50,0x08,0xc1,0xef]
        vmov.i16        q8, #0x10
-@ CHECK: vmov.i16      q8, #0x1000     @ encoding: [0x50,0x0a,0xc1,0xef]
        vmov.i16        q8, #0x1000
-@ CHECK: vmov.i32      q8, #0x20       @ encoding: [0x50,0x00,0xc2,0xef]
        vmov.i32        q8, #0x20
-@ CHECK: vmov.i32      q8, #0x2000     @ encoding: [0x50,0x02,0xc2,0xef]
        vmov.i32        q8, #0x2000
-@ CHECK: vmov.i32      q8, #0x200000   @ encoding: [0x50,0x04,0xc2,0xef]
        vmov.i32        q8, #0x200000
-@ CHECK: vmov.i32      q8, #0x20000000 @ encoding: [0x50,0x06,0xc2,0xef]
        vmov.i32        q8, #0x20000000
-@ CHECK: vmov.i32      q8, #0x20FF     @ encoding: [0x50,0x0c,0xc2,0xef]
        vmov.i32        q8, #0x20FF
-@ CHECK: vmov.i32      q8, #0x20FFFF   @ encoding: [0x50,0x0d,0xc2,0xef]
        vmov.i32        q8, #0x20FFFF
-@ CHECK: vmov.i64      q8, #0xFF0000FF0000FFFF @ encoding: [0x73,0x0e,0xc1,0xff]
        vmov.i64        q8, #0xFF0000FF0000FFFF
-@ CHECK: vmvn.i16      d16, #0x10      @ encoding: [0x30,0x08,0xc1,0xef]
+
+@ CHECK: vmov.i8       q8, #0x8        @ encoding: [0xc0,0xef,0x58,0x0e]
+@ CHECK: vmov.i16      q8, #0x10       @ encoding: [0xc1,0xef,0x50,0x08]
+@ CHECK: vmov.i16      q8, #0x1000     @ encoding: [0xc1,0xef,0x50,0x0a]
+@ CHECK: vmov.i32      q8, #0x20       @ encoding: [0xc2,0xef,0x50,0x00]
+@ CHECK: vmov.i32      q8, #0x2000     @ encoding: [0xc2,0xef,0x50,0x02]
+@ CHECK: vmov.i32      q8, #0x200000   @ encoding: [0xc2,0xef,0x50,0x04]
+@ CHECK: vmov.i32      q8, #0x20000000 @ encoding: [0xc2,0xef,0x50,0x06]
+@ CHECK: vmov.i32      q8, #0x20ff     @ encoding: [0xc2,0xef,0x50,0x0c]
+@ CHECK: vmov.i32      q8, #0x20ffff   @ encoding: [0xc2,0xef,0x50,0x0d]
+@ CHECK: vmov.i64 q8, #0xff0000ff0000ffff @ encoding: [0xc1,0xff,0x73,0x0e]
+
+
        vmvn.i16        d16, #0x10
-@ CHECK: vmvn.i16      d16, #0x1000    @ encoding: [0x30,0x0a,0xc1,0xef]
        vmvn.i16        d16, #0x1000
-@ CHECK: vmvn.i32      d16, #0x20      @ encoding: [0x30,0x00,0xc2,0xef]
        vmvn.i32        d16, #0x20
-@ CHECK: vmvn.i32      d16, #0x2000    @ encoding: [0x30,0x02,0xc2,0xef]
        vmvn.i32        d16, #0x2000
-@ CHECK: vmvn.i32      d16, #0x200000  @ encoding: [0x30,0x04,0xc2,0xef]
        vmvn.i32        d16, #0x200000
-@ CHECK: vmvn.i32      d16, #0x20000000 @ encoding: [0x30,0x06,0xc2,0xef]
        vmvn.i32        d16, #0x20000000
-@ CHECK: vmvn.i32      d16, #0x20FF    @ encoding: [0x30,0x0c,0xc2,0xef]
        vmvn.i32        d16, #0x20FF
-@ CHECK: vmvn.i32      d16, #0x20FFFF  @ encoding: [0x30,0x0d,0xc2,0xef]
        vmvn.i32        d16, #0x20FFFF
-@ CHECK: vmovl.s8      q8, d16         @ encoding: [0x30,0x0a,0xc8,0xef]
+
+@ CHECK: vmvn.i16      d16, #0x10      @ encoding: [0xc1,0xef,0x30,0x08]
+@ CHECK: vmvn.i16      d16, #0x1000    @ encoding: [0xc1,0xef,0x30,0x0a]
+@ CHECK: vmvn.i32      d16, #0x20      @ encoding: [0xc2,0xef,0x30,0x00]
+@ CHECK: vmvn.i32      d16, #0x2000    @ encoding: [0xc2,0xef,0x30,0x02]
+@ CHECK: vmvn.i32      d16, #0x200000  @ encoding: [0xc2,0xef,0x30,0x04]
+@ CHECK: vmvn.i32      d16, #0x20000000 @ encoding: [0xc2,0xef,0x30,0x06]
+@ CHECK: vmvn.i32      d16, #0x20ff    @ encoding: [0xc2,0xef,0x30,0x0c]
+@ CHECK: vmvn.i32      d16, #0x20ffff  @ encoding: [0xc2,0xef,0x30,0x0d]
+
+
        vmovl.s8        q8, d16
-@ CHECK: vmovl.s16     q8, d16         @ encoding: [0x30,0x0a,0xd0,0xef]
        vmovl.s16       q8, d16
-@ CHECK: vmovl.s32     q8, d16         @ encoding: [0x30,0x0a,0xe0,0xef]
        vmovl.s32       q8, d16
-@ CHECK: vmovl.u8      q8, d16         @ encoding: [0x30,0x0a,0xc8,0xff]
        vmovl.u8        q8, d16
-@ CHECK: vmovl.u16     q8, d16         @ encoding: [0x30,0x0a,0xd0,0xff]
        vmovl.u16       q8, d16
-@ CHECK: vmovl.u32     q8, d16         @ encoding: [0x30,0x0a,0xe0,0xff]
        vmovl.u32       q8, d16
-@ CHECK: vmovn.i16     d16, q8         @ encoding: [0x20,0x02,0xf2,0xff]
        vmovn.i16       d16, q8
-@ CHECK: vmovn.i32     d16, q8         @ encoding: [0x20,0x02,0xf6,0xff]
        vmovn.i32       d16, q8
-@ CHECK: vmovn.i64     d16, q8         @ encoding: [0x20,0x02,0xfa,0xff]
        vmovn.i64       d16, q8
-@ CHECK: vqmovn.s16    d16, q8         @ encoding: [0xa0,0x02,0xf2,0xff]
        vqmovn.s16      d16, q8
-@ CHECK: vqmovn.s32    d16, q8         @ encoding: [0xa0,0x02,0xf6,0xff]
        vqmovn.s32      d16, q8
-@ CHECK: vqmovn.s64    d16, q8         @ encoding: [0xa0,0x02,0xfa,0xff]
        vqmovn.s64      d16, q8
-@ CHECK: vqmovn.u16    d16, q8         @ encoding: [0xe0,0x02,0xf2,0xff]
        vqmovn.u16      d16, q8
-@ CHECK: vqmovn.u32    d16, q8         @ encoding: [0xe0,0x02,0xf6,0xff]
        vqmovn.u32      d16, q8
-@ CHECK: vqmovn.u64    d16, q8         @ encoding: [0xe0,0x02,0xfa,0xff]
        vqmovn.u64      d16, q8
-@ CHECK: vqmovun.s16   d16, q8         @ encoding: [0x60,0x02,0xf2,0xff]
        vqmovun.s16     d16, q8
-@ CHECK: vqmovun.s32   d16, q8         @ encoding: [0x60,0x02,0xf6,0xff]
        vqmovun.s32     d16, q8
-@ CHECK: vqmovun.s64   d16, q8         @ encoding: [0x60,0x02,0xfa,0xff]
        vqmovun.s64     d16, q8
-@ CHECK: vmov.s8       r0, d16[1]              @ encoding: [0xb0,0x0b,0x50,0xee]
+
+@ CHECK: vmovl.s8      q8, d16         @ encoding: [0xc8,0xef,0x30,0x0a]
+@ CHECK: vmovl.s16     q8, d16         @ encoding: [0xd0,0xef,0x30,0x0a]
+@ CHECK: vmovl.s32     q8, d16         @ encoding: [0xe0,0xef,0x30,0x0a]
+@ CHECK: vmovl.u8      q8, d16         @ encoding: [0xc8,0xff,0x30,0x0a]
+@ CHECK: vmovl.u16     q8, d16         @ encoding: [0xd0,0xff,0x30,0x0a]
+@ CHECK: vmovl.u32     q8, d16         @ encoding: [0xe0,0xff,0x30,0x0a]
+@ CHECK: vmovn.i16     d16, q8         @ encoding: [0xf2,0xff,0x20,0x02]
+@ CHECK: vmovn.i32     d16, q8         @ encoding: [0xf6,0xff,0x20,0x02]
+@ CHECK: vmovn.i64     d16, q8         @ encoding: [0xfa,0xff,0x20,0x02]
+@ CHECK: vqmovn.s16    d16, q8         @ encoding: [0xf2,0xff,0xa0,0x02]
+@ CHECK: vqmovn.s32    d16, q8         @ encoding: [0xf6,0xff,0xa0,0x02]
+@ CHECK: vqmovn.s64    d16, q8         @ encoding: [0xfa,0xff,0xa0,0x02]
+@ CHECK: vqmovn.u16    d16, q8         @ encoding: [0xf2,0xff,0xe0,0x02]
+@ CHECK: vqmovn.u32    d16, q8         @ encoding: [0xf6,0xff,0xe0,0x02]
+@ CHECK: vqmovn.u64    d16, q8         @ encoding: [0xfa,0xff,0xe0,0x02]
+@ CHECK: vqmovun.s16   d16, q8         @ encoding: [0xf2,0xff,0x60,0x02]
+@ CHECK: vqmovun.s32   d16, q8         @ encoding: [0xf6,0xff,0x60,0x02]
+@ CHECK: vqmovun.s64   d16, q8         @ encoding: [0xfa,0xff,0x60,0x02]
+
+
        vmov.s8 r0, d16[1]
-@ CHECK: vmov.s16      r0, d16[1]      @ encoding: [0xf0,0x0b,0x10,0xee]
        vmov.s16        r0, d16[1]
-@ CHECK: vmov.u8       r0, d16[1]              @ encoding: [0xb0,0x0b,0xd0,0xee]
        vmov.u8 r0, d16[1]
-@ CHECK: vmov.u16      r0, d16[1]      @ encoding: [0xf0,0x0b,0x90,0xee]
        vmov.u16        r0, d16[1]
-@ CHECK: vmov.32       r0, d16[1]              @ encoding: [0x90,0x0b,0x30,0xee]
        vmov.32 r0, d16[1]
-@ CHECK: vmov.8        d16[1], r1              @ encoding: [0xb0,0x1b,0x40,0xee]
        vmov.8  d16[1], r1
-@ CHECK: vmov.16       d16[1], r1              @ encoding: [0xf0,0x1b,0x00,0xee]
        vmov.16 d16[1], r1
-@ CHECK: vmov.32       d16[1], r1              @ encoding: [0x90,0x1b,0x20,0xee]
        vmov.32 d16[1], r1
-@ CHECK: vmov.8        d18[1], r1              @ encoding: [0xb0,0x1b,0x42,0xee]
        vmov.8  d18[1], r1
-@ CHECK: vmov.16       d18[1], r1              @ encoding: [0xf0,0x1b,0x02,0xee]
        vmov.16 d18[1], r1
-@ CHECK: vmov.32       d18[1], r1              @ encoding: [0x90,0x1b,0x22,0xee]
        vmov.32 d18[1], r1
+
+@ CHECK: vmov.s8       r0, d16[1]      @ encoding: [0x50,0xee,0xb0,0x0b]
+@ CHECK: vmov.s16      r0, d16[1]      @ encoding: [0x10,0xee,0xf0,0x0b]
+@ CHECK: vmov.u8       r0, d16[1]      @ encoding: [0xd0,0xee,0xb0,0x0b]
+@ CHECK: vmov.u16      r0, d16[1]      @ encoding: [0x90,0xee,0xf0,0x0b]
+@ CHECK: vmov.32       r0, d16[1]      @ encoding: [0x30,0xee,0x90,0x0b]
+@ CHECK: vmov.8        d16[1], r1              @ encoding: [0x40,0xee,0xb0,0x1b]
+@ CHECK: vmov.16       d16[1], r1      @ encoding: [0x00,0xee,0xf0,0x1b]
+@ CHECK: vmov.32       d16[1], r1      @ encoding: [0x20,0xee,0x90,0x1b]
+@ CHECK: vmov.8        d18[1], r1              @ encoding: [0x42,0xee,0xb0,0x1b]
+@ CHECK: vmov.16       d18[1], r1      @ encoding: [0x02,0xee,0xf0,0x1b]
+@ CHECK: vmov.32       d18[1], r1      @ encoding: [0x22,0xee,0x90,0x1b]