ARM: Prevent ARMAsmParser::shouldOmitCCOutOperand() from misidentifying certain Thumb...
[oota-llvm.git] / test / MC / ARM / neon-mov-encoding.s
index 709e5155d1a3c82f8aade389ad2a0e5eee106c30..ba66d7e14be1dfbf1c21d2e1caa6552767739c5b 100644 (file)
@@ -9,7 +9,7 @@
        vmov.i32        d16, #0x20000000
        vmov.i32        d16, #0x20FF
        vmov.i32        d16, #0x20FFFF
-@      vmov.i64        d16, #0xFF0000FF0000FFFF
+       vmov.i64        d16, #0xFF0000FF0000FFFF
 
 @ CHECK: vmov.i8       d16, #0x8       @ encoding: [0x18,0x0e,0xc0,0xf2]
 @ CHECK: vmov.i16      d16, #0x10      @ encoding: [0x10,0x08,0xc1,0xf2]
@@ -18,9 +18,9 @@
 @ CHECK: vmov.i32      d16, #0x2000    @ encoding: [0x10,0x02,0xc2,0xf2]
 @ CHECK: vmov.i32      d16, #0x200000  @ encoding: [0x10,0x04,0xc2,0xf2]
 @ CHECK: vmov.i32      d16, #0x20000000 @ encoding: [0x10,0x06,0xc2,0xf2]
-@ CHECK: vmov.i32      d16, #0x20FF    @ encoding: [0x10,0x0c,0xc2,0xf2]
-@ CHECK: vmov.i32      d16, #0x20FFFF  @ encoding: [0x10,0x0d,0xc2,0xf2]
-@ FIXME: vmov.i64 d16, #0xFF0000FF0000FFFF @ encoding: [0x33,0x0e,0xc1,0xf3]
+@ CHECK: vmov.i32      d16, #0x20ff    @ encoding: [0x10,0x0c,0xc2,0xf2]
+@ CHECK: vmov.i32      d16, #0x20ffff  @ encoding: [0x10,0x0d,0xc2,0xf2]
+@ CHECK: vmov.i64 d16, #0xff0000ff0000ffff @ encoding: [0x33,0x0e,0xc1,0xf3]
 
 
 
@@ -33,7 +33,7 @@
        vmov.i32        q8, #0x20000000
        vmov.i32        q8, #0x20FF
        vmov.i32        q8, #0x20FFFF
-@      vmov.i64        q8, #0xFF0000FF0000FFFF
+       vmov.i64        q8, #0xFF0000FF0000FFFF
 
 @ CHECK: vmov.i8 q8, #0x8               @ encoding: [0x58,0x0e,0xc0,0xf2]
 @ CHECK: vmov.i16      q8, #0x10       @ encoding: [0x50,0x08,0xc1,0xf2]
@@ -42,9 +42,9 @@
 @ CHECK: vmov.i32      q8, #0x2000     @ encoding: [0x50,0x02,0xc2,0xf2]
 @ CHECK: vmov.i32      q8, #0x200000   @ encoding: [0x50,0x04,0xc2,0xf2]
 @ CHECK: vmov.i32      q8, #0x20000000 @ encoding: [0x50,0x06,0xc2,0xf2]
-@ CHECK: vmov.i32      q8, #0x20FF     @ encoding: [0x50,0x0c,0xc2,0xf2]
-@ CHECK: vmov.i32      q8, #0x20FFFF   @ encoding: [0x50,0x0d,0xc2,0xf2]
-@ FIXME: vmov.i64 q8, #0xFF0000FF0000FFFF @ encoding: [0x73,0x0e,0xc1,0xf3]
+@ CHECK: vmov.i32      q8, #0x20ff     @ encoding: [0x50,0x0c,0xc2,0xf2]
+@ CHECK: vmov.i32      q8, #0x20ffff   @ encoding: [0x50,0x0d,0xc2,0xf2]
+@ CHECK: vmov.i64 q8, #0xff0000ff0000ffff @ encoding: [0x73,0x0e,0xc1,0xf3]
 
        vmvn.i16        d16, #0x10
        vmvn.i16        d16, #0x1000
@@ -61,8 +61,8 @@
 @ CHECK: vmvn.i32      d16, #0x2000    @ encoding: [0x30,0x02,0xc2,0xf2]
 @ CHECK: vmvn.i32      d16, #0x200000  @ encoding: [0x30,0x04,0xc2,0xf2]
 @ CHECK: vmvn.i32      d16, #0x20000000 @ encoding: [0x30,0x06,0xc2,0xf2]
-@ CHECK: vmvn.i32      d16, #0x20FF    @ encoding: [0x30,0x0c,0xc2,0xf2]
-@ CHECK: vmvn.i32      d16, #0x20FFFF  @ encoding: [0x30,0x0d,0xc2,0xf2]
+@ CHECK: vmvn.i32      d16, #0x20ff    @ encoding: [0x30,0x0c,0xc2,0xf2]
+@ CHECK: vmvn.i32      d16, #0x20ffff  @ encoding: [0x30,0x0d,0xc2,0xf2]
 
        vmovl.s8        q8, d16
        vmovl.s16       q8, d16
 @ CHECK: vqmovun.s32   d16, q8         @ encoding: [0x60,0x02,0xf6,0xf3]
 @ CHECK: vqmovun.s64   d16, q8         @ encoding: [0x60,0x02,0xfa,0xf3]
 
-@      vmov.s8         r0, d16[1]
-@      vmov.s16        r0, d16[1]
-@      vmov.u8         r0, d16[1]
-@      vmov.u16        r0, d16[1]
-@      vmov.32         r0, d16[1]
-@      vmov.8  d16[1], r1
-@      vmov.16 d16[1], r1
-@      vmov.32 d16[1], r1
-@      vmov.8  d18[1], r1
-@      vmov.16 d18[1], r1
-@      vmov.32 d18[1], r1
-
-@ FIXME: vmov.s8       r0, d16[1]      @ encoding: [0xb0,0x0b,0x50,0xee]
-@ FIXME: vmov.s16      r0, d16[1]      @ encoding: [0xf0,0x0b,0x10,0xee]
-@ FIXME: vmov.u8       r0, d16[1]      @ encoding: [0xb0,0x0b,0xd0,0xee]
-@ FIXME: vmov.u16      r0, d16[1]      @ encoding: [0xf0,0x0b,0x90,0xee]
-@ FIXME: vmov.32       r0, d16[1]      @ encoding: [0x90,0x0b,0x30,0xee]
-@ FIXME: vmov.8        d16[1], r1              @ encoding: [0xb0,0x1b,0x40,0xee]
-@ FIXME: vmov.16       d16[1], r1      @ encoding: [0xf0,0x1b,0x00,0xee]
-@ FIXME: vmov.32       d16[1], r1      @ encoding: [0x90,0x1b,0x20,0xee]
-@ FIXME: vmov.8        d18[1], r1              @ encoding: [0xb0,0x1b,0x42,0xee]
-@ FIXME: vmov.16       d18[1], r1      @ encoding: [0xf0,0x1b,0x02,0xee]
-@ FIXME: vmov.32       d18[1], r1      @ encoding: [0x90,0x1b,0x22,0xee]
+       vmov.s8         r0, d16[1]
+       vmov.s16        r0, d16[1]
+       vmov.u8         r0, d16[1]
+       vmov.u16        r0, d16[1]
+       vmov.32         r0, d16[1]
+       vmov.8  d16[1], r1
+       vmov.16 d16[1], r1
+       vmov.32 d16[1], r1
+       vmov.8  d18[1], r1
+       vmov.16 d18[1], r1
+       vmov.32 d18[1], r1
+
+@ CHECK: vmov.s8       r0, d16[1]      @ encoding: [0xb0,0x0b,0x50,0xee]
+@ CHECK: vmov.s16      r0, d16[1]      @ encoding: [0xf0,0x0b,0x10,0xee]
+@ CHECK: vmov.u8       r0, d16[1]      @ encoding: [0xb0,0x0b,0xd0,0xee]
+@ CHECK: vmov.u16      r0, d16[1]      @ encoding: [0xf0,0x0b,0x90,0xee]
+@ CHECK: vmov.32       r0, d16[1]      @ encoding: [0x90,0x0b,0x30,0xee]
+@ CHECK: vmov.8        d16[1], r1              @ encoding: [0xb0,0x1b,0x40,0xee]
+@ CHECK: vmov.16       d16[1], r1      @ encoding: [0xf0,0x1b,0x00,0xee]
+@ CHECK: vmov.32       d16[1], r1      @ encoding: [0x90,0x1b,0x20,0xee]
+@ CHECK: vmov.8        d18[1], r1              @ encoding: [0xb0,0x1b,0x42,0xee]
+@ CHECK: vmov.16       d18[1], r1      @ encoding: [0xf0,0x1b,0x02,0xee]
+@ CHECK: vmov.32       d18[1], r1      @ encoding: [0x90,0x1b,0x22,0xee]
+
+
+        vmvn.8 d1, d2
+        vmvn.16 d1, d2
+        vmvn.32 d1, d2
+        vmvn.64 d1, d2
+        vmvn.i8 d1, d2
+        vmvn.i16 d1, d2
+        vmvn.i32 d1, d2
+        vmvn.i64 d1, d2
+        vmvn.s8 d1, d2
+        vmvn.s16 d1, d2
+        vmvn.s32 d1, d2
+        vmvn.s64 d1, d2
+        vmvn.u8 d1, d2
+        vmvn.u16 d1, d2
+        vmvn.u32 d1, d2
+        vmvn.u64 d1, d2
+        vmvn.f32 d1, d2
+        vmvn.f64 d1, d2
+
+@ CHECK: vmvn  d1, d2                  @ encoding: [0x82,0x15,0xb0,0xf3]
+@ CHECK: vmvn  d1, d2                  @ encoding: [0x82,0x15,0xb0,0xf3]
+@ CHECK: vmvn  d1, d2                  @ encoding: [0x82,0x15,0xb0,0xf3]
+@ CHECK: vmvn  d1, d2                  @ encoding: [0x82,0x15,0xb0,0xf3]
+@ CHECK: vmvn  d1, d2                  @ encoding: [0x82,0x15,0xb0,0xf3]
+@ CHECK: vmvn  d1, d2                  @ encoding: [0x82,0x15,0xb0,0xf3]
+@ CHECK: vmvn  d1, d2                  @ encoding: [0x82,0x15,0xb0,0xf3]
+@ CHECK: vmvn  d1, d2                  @ encoding: [0x82,0x15,0xb0,0xf3]
+@ CHECK: vmvn  d1, d2                  @ encoding: [0x82,0x15,0xb0,0xf3]
+@ CHECK: vmvn  d1, d2                  @ encoding: [0x82,0x15,0xb0,0xf3]
+@ CHECK: vmvn  d1, d2                  @ encoding: [0x82,0x15,0xb0,0xf3]
+@ CHECK: vmvn  d1, d2                  @ encoding: [0x82,0x15,0xb0,0xf3]
+@ CHECK: vmvn  d1, d2                  @ encoding: [0x82,0x15,0xb0,0xf3]
+@ CHECK: vmvn  d1, d2                  @ encoding: [0x82,0x15,0xb0,0xf3]
+@ CHECK: vmvn  d1, d2                  @ encoding: [0x82,0x15,0xb0,0xf3]
+@ CHECK: vmvn  d1, d2                  @ encoding: [0x82,0x15,0xb0,0xf3]
+@ CHECK: vmvn  d1, d2                  @ encoding: [0x82,0x15,0xb0,0xf3]
+@ CHECK: vmvn  d1, d2                  @ encoding: [0x82,0x15,0xb0,0xf3]