| Index: test/MC/Disassembler/ARM/neont2.txt |
| =================================================================== |
| --- test/MC/Disassembler/ARM/neont2.txt (revision 152265) |
| +++ test/MC/Disassembler/ARM/neont2.txt (working copy) |
| @@ -1595,3 +1595,186 @@ |
| # CHECK vld2.8 {d17[], d19[]}, [r7, :16]! |
| 0xe7 0xf9 0x3f 0x1d |
| # CHECK vld2.8 {d17[], d19[]}, [r7, :16] |
| + |
| +# rdar://11034702 |
| +0x04 0xf9 0x0d 0x87 |
| +# CHECK: vst1.8 {d8}, [r4]! |
| +0x04 0xf9 0x4d 0x87 |
| +# CHECK: vst1.16 {d8}, [r4]! |
| +0x04 0xf9 0x8d 0x87 |
| +# CHECK: vst1.32 {d8}, [r4]! |
| +0x04 0xf9 0xcd 0x87 |
| +# CHECK: vst1.64 {d8}, [r4]! |
| +0x04 0xf9 0x06 0x87 |
| +# CHECK: vst1.8 {d8}, [r4], r6 |
| +0x04 0xf9 0x46 0x87 |
| +# CHECK: vst1.16 {d8}, [r4], r6 |
| +0x04 0xf9 0x86 0x87 |
| +# CHECK: vst1.32 {d8}, [r4], r6 |
| +0x04 0xf9 0xc6 0x87 |
| +# CHECK: vst1.64 {d8}, [r4], r6 |
| + |
| +0x04 0xf9 0x0d 0x8a |
| +# CHECK: vst1.8 {d8, d9}, [r4]! |
| +0x04 0xf9 0x4d 0x8a |
| +# CHECK: vst1.16 {d8, d9}, [r4]! |
| +0x04 0xf9 0x8d 0x8a |
| +# CHECK: vst1.32 {d8, d9}, [r4]! |
| +0x04 0xf9 0xcd 0x8a |
| +# CHECK: vst1.64 {d8, d9}, [r4]! |
| +0x04 0xf9 0x06 0x8a |
| +# CHECK: vst1.8 {d8, d9}, [r4], r6 |
| +0x04 0xf9 0x46 0x8a |
| +# CHECK: vst1.16 {d8, d9}, [r4], r6 |
| +0x04 0xf9 0x86 0x8a |
| +# CHECK: vst1.32 {d8, d9}, [r4], r6 |
| +0x04 0xf9 0xc6 0x8a |
| +# CHECK: vst1.64 {d8, d9}, [r4], r6 |
| + |
| +0x04 0xf9 0x0d 0x86 |
| +# CHECK: vst1.8 {d8, d9, d10}, [r4]! |
| +0x04 0xf9 0x4d 0x86 |
| +# CHECK: vst1.16 {d8, d9, d10}, [r4]! |
| +0x04 0xf9 0x8d 0x86 |
| +# CHECK: vst1.32 {d8, d9, d10}, [r4]! |
| +0x04 0xf9 0xcd 0x86 |
| +# CHECK: vst1.64 {d8, d9, d10}, [r4]! |
| +0x04 0xf9 0x06 0x86 |
| +# CHECK: vst1.8 {d8, d9, d10}, [r4], r6 |
| +0x04 0xf9 0x46 0x86 |
| +# CHECK: vst1.16 {d8, d9, d10}, [r4], r6 |
| +0x04 0xf9 0x86 0x86 |
| +# CHECK: vst1.32 {d8, d9, d10}, [r4], r6 |
| +0x04 0xf9 0xc6 0x86 |
| +# CHECK: vst1.64 {d8, d9, d10}, [r4], r6 |
| + |
| +0x04 0xf9 0x0d 0x82 |
| +# CHECK: vst1.8 {d8, d9, d10, d11}, [r4]! |
| +0x04 0xf9 0x4d 0x82 |
| +# CHECK: vst1.16 {d8, d9, d10, d11}, [r4]! |
| +0x04 0xf9 0x8d 0x82 |
| +# CHECK: vst1.32 {d8, d9, d10, d11}, [r4]! |
| +0x04 0xf9 0xcd 0x82 |
| +# CHECK: vst1.64 {d8, d9, d10, d11}, [r4]! |
| +0x04 0xf9 0x06 0x82 |
| +# CHECK: vst1.8 {d8, d9, d10, d11}, [r4], r6 |
| +0x04 0xf9 0x46 0x82 |
| +# CHECK: vst1.16 {d8, d9, d10, d11}, [r4], r6 |
| +0x04 0xf9 0x86 0x82 |
| +# CHECK: vst1.32 {d8, d9, d10, d11}, [r4], r6 |
| +0x04 0xf9 0xc6 0x82 |
| +# CHECK: vst1.64 {d8, d9, d10, d11}, [r4], r6 |
| + |
| +0x04 0xf9 0x0d 0x88 |
| +# CHECK: vst2.8 {d8, d9}, [r4]! |
| +0x04 0xf9 0x4d 0x88 |
| +# CHECK: vst2.16 {d8, d9}, [r4]! |
| +0x04 0xf9 0x8d 0x88 |
| +# CHECK: vst2.32 {d8, d9}, [r4]! |
| +0x04 0xf9 0x06 0x88 |
| +# CHECK: vst2.8 {d8, d9}, [r4], r6 |
| +0x04 0xf9 0x46 0x88 |
| +# CHECK: vst2.16 {d8, d9}, [r4], r6 |
| +0x04 0xf9 0x86 0x88 |
| +# CHECK: vst2.32 {d8, d9}, [r4], r6 |
| + |
| +0x04 0xf9 0x0d 0x89 |
| +# CHECK: vst2.8 {d8, d10}, [r4]! |
| +0x04 0xf9 0x4d 0x89 |
| +# CHECK: vst2.16 {d8, d10}, [r4]! |
| +0x04 0xf9 0x8d 0x89 |
| +# CHECK: vst2.32 {d8, d10}, [r4]! |
| +0x04 0xf9 0x06 0x89 |
| +# CHECK: vst2.8 {d8, d10}, [r4], r6 |
| +0x04 0xf9 0x46 0x89 |
| +# CHECK: vst2.16 {d8, d10}, [r4], r6 |
| +0x04 0xf9 0x86 0x89 |
| +# CHECK: vst2.32 {d8, d10}, [r4], r6 |
| + |
| +0x04 0xf9 0x0d 0x84 |
| +# CHECK: vst3.8 {d8, d9, d10}, [r4]! |
| +0x04 0xf9 0x4d 0x84 |
| +# CHECK: vst3.16 {d8, d9, d10}, [r4]! |
| +0x04 0xf9 0x8d 0x84 |
| +# CHECK: vst3.32 {d8, d9, d10}, [r4]! |
| +0x04 0xf9 0x06 0x85 |
| +# CHECK: vst3.8 {d8, d10, d12}, [r4], r6 |
| +0x04 0xf9 0x46 0x85 |
| +# CHECK: vst3.16 {d8, d10, d12}, [r4], r6 |
| +0x04 0xf9 0x86 0x85 |
| +# CHECK: vst3.32 {d8, d10, d12}, [r4], r6 |
| + |
| +0x04 0xf9 0x0d 0x80 |
| +# CHECK: vst4.8 {d8, d9, d10, d11}, [r4]! |
| +0x04 0xf9 0x4d 0x80 |
| +# CHECK: vst4.16 {d8, d9, d10, d11}, [r4]! |
| +0x04 0xf9 0x8d 0x80 |
| +# CHECK: vst4.32 {d8, d9, d10, d11}, [r4]! |
| +0x04 0xf9 0x06 0x81 |
| +# CHECK: vst4.8 {d8, d10, d12, d14}, [r4], r6 |
| +0x04 0xf9 0x46 0x81 |
| +# CHECK: vst4.16 {d8, d10, d12, d14}, [r4], r6 |
| +0x04 0xf9 0x86 0x81 |
| +# CHECK: vst4.32 {d8, d10, d12, d14}, [r4], r6 |
| + |
| +0x04 0xf9 0x4f 0x8a |
| +# CHECK: vst1.16 {d8, d9}, [r4] |
| +0x04 0xf9 0x8f 0x8a |
| +# CHECK: vst1.32 {d8, d9}, [r4] |
| +0x04 0xf9 0xcf 0x8a |
| +# CHECK: vst1.64 {d8, d9}, [r4] |
| +0x04 0xf9 0x0f 0x8a |
| +# CHECK: vst1.8 {d8, d9}, [r4] |
| +0x04 0xf9 0x4f 0x88 |
| +# CHECK: vst2.16 {d8, d9}, [r4] |
| +0x04 0xf9 0x8f 0x88 |
| +# CHECK: vst2.32 {d8, d9}, [r4] |
| +0x04 0xf9 0x0f 0x88 |
| +# CHECK: vst2.8 {d8, d9}, [r4] |
| +0x04 0xf9 0x4d 0x88 |
| +# CHECK: vst2.16 {d8, d9}, [r4]! |
| +0x04 0xf9 0x46 0x88 |
| +# CHECK: vst2.16 {d8, d9}, [r4], r6 |
| +0x04 0xf9 0x8d 0x88 |
| +# CHECK: vst2.32 {d8, d9}, [r4]! |
| +0x04 0xf9 0x86 0x88 |
| +# CHECK: vst2.32 {d8, d9}, [r4], r6 |
| +0x04 0xf9 0x0d 0x88 |
| +# CHECK: vst2.8 {d8, d9}, [r4]! |
| +0x04 0xf9 0x06 0x88 |
| +# CHECK: vst2.8 {d8, d9}, [r4], r6 |
| + |
| +0x04 0xf9 0x4f 0x89 |
| +# CHECK: vst2.16 {d8, d10}, [r4] |
| +0x04 0xf9 0x8f 0x89 |
| +# CHECK: vst2.32 {d8, d10}, [r4] |
| +0x04 0xf9 0x0f 0x89 |
| +# CHECK: vst2.8 {d8, d10}, [r4] |
| + |
| +0x04 0xf9 0x0f 0x84 |
| +# CHECK: vst3.8 {d8, d9, d10}, [r4] |
| +0x04 0xf9 0x4f 0x84 |
| +# CHECK: vst3.16 {d8, d9, d10}, [r4] |
| +0x04 0xf9 0x8f 0x84 |
| +# CHECK: vst3.32 {d8, d9, d10}, [r4] |
| + |
| +0x04 0xf9 0x0f 0x80 |
| +# CHECK: vst4.8 {d8, d9, d10, d11}, [r4] |
| +0x04 0xf9 0x4f 0x80 |
| +# CHECK: vst4.16 {d8, d9, d10, d11}, [r4] |
| +0x04 0xf9 0x8f 0x80 |
| +# CHECK: vst4.32 {d8, d9, d10, d11}, [r4] |
| + |
| +0x04 0xf9 0x0f 0x85 |
| +# CHECK: vst3.8 {d8, d10, d12}, [r4] |
| +0x04 0xf9 0x4f 0x85 |
| +# CHECK: vst3.16 {d8, d10, d12}, [r4] |
| +0x04 0xf9 0x8f 0x85 |
| +# CHECK: vst3.32 {d8, d10, d12}, [r4] |
| + |
| +0x04 0xf9 0x0f 0x81 |
| +# CHECK: vst4.8 {d8, d10, d12, d14}, [r4] |
| +0x04 0xf9 0x4f 0x81 |
| +# CHECK: vst4.16 {d8, d10, d12, d14}, [r4] |
| +0x04 0xf9 0x8f 0x81 |
| +# CHECK: vst4.32 {d8, d10, d12, d14}, [r4] |
| Index: test/MC/Disassembler/ARM/neon.txt |
| =================================================================== |
| --- test/MC/Disassembler/ARM/neon.txt (revision 152265) |
| +++ test/MC/Disassembler/ARM/neon.txt (working copy) |
| @@ -1876,3 +1876,188 @@ |
| # CHECK vld2.8 {d17[], d19[]}, [r7, :16]! |
| 0xe7 0xf9 0x3f 0x1d |
| # CHECK vld2.8 {d17[], d19[]}, [r7, :16] |
| + |
| +# rdar://11034702 |
| +0x0d 0x87 0x04 0xf4 |
| +# CHECK: vst1.8 {d8}, [r4]! |
| +0x4d 0x87 0x04 0xf4 |
| +# CHECK: vst1.16 {d8}, [r4]! |
| +0x8d 0x87 0x04 0xf4 |
| +# CHECK: vst1.32 {d8}, [r4]! |
| +0xcd 0x87 0x04 0xf4 |
| +# CHECK: vst1.64 {d8}, [r4]! |
| +0x06 0x87 0x04 0xf4 |
| +# CHECK: vst1.8 {d8}, [r4], r6 |
| +0x46 0x87 0x04 0xf4 |
| +# CHECK: vst1.16 {d8}, [r4], r6 |
| +0x86 0x87 0x04 0xf4 |
| +# CHECK: vst1.32 {d8}, [r4], r6 |
| +0xc6 0x87 0x04 0xf4 |
| +# CHECK: vst1.64 {d8}, [r4], r6 |
| + |
| +0x0d 0x8a 0x04 0xf4 |
| +# CHECK: vst1.8 {d8, d9}, [r4]! |
| +0x4d 0x8a 0x04 0xf4 |
| +# CHECK: vst1.16 {d8, d9}, [r4]! |
| +0x8d 0x8a 0x04 0xf4 |
| +# CHECK: vst1.32 {d8, d9}, [r4]! |
| +0xcd 0x8a 0x04 0xf4 |
| +# CHECK: vst1.64 {d8, d9}, [r4]! |
| +0x06 0x8a 0x04 0xf4 |
| +# CHECK: vst1.8 {d8, d9}, [r4], r6 |
| +0x46 0x8a 0x04 0xf4 |
| +# CHECK: vst1.16 {d8, d9}, [r4], r6 |
| +0x86 0x8a 0x04 0xf4 |
| +# CHECK: vst1.32 {d8, d9}, [r4], r6 |
| +0xc6 0x8a 0x04 0xf4 |
| +# CHECK: vst1.64 {d8, d9}, [r4], r6 |
| + |
| +0x0d 0x86 0x04 0xf4 |
| +# CHECK: vst1.8 {d8, d9, d10}, [r4]! |
| +0x4d 0x86 0x04 0xf4 |
| +# CHECK: vst1.16 {d8, d9, d10}, [r4]! |
| +0x8d 0x86 0x04 0xf4 |
| +# CHECK: vst1.32 {d8, d9, d10}, [r4]! |
| +0xcd 0x86 0x04 0xf4 |
| +# CHECK: vst1.64 {d8, d9, d10}, [r4]! |
| +0x06 0x86 0x04 0xf4 |
| +# CHECK: vst1.8 {d8, d9, d10}, [r4], r6 |
| +0x46 0x86 0x04 0xf4 |
| +# CHECK: vst1.16 {d8, d9, d10}, [r4], r6 |
| +0x86 0x86 0x04 0xf4 |
| +# CHECK: vst1.32 {d8, d9, d10}, [r4], r6 |
| +0xc6 0x86 0x04 0xf4 |
| +# CHECK: vst1.64 {d8, d9, d10}, [r4], r6 |
| + |
| +0x0d 0x82 0x04 0xf4 |
| +# CHECK: vst1.8 {d8, d9, d10, d11}, [r4]! |
| +0x4d 0x82 0x04 0xf4 |
| +# CHECK: vst1.16 {d8, d9, d10, d11}, [r4]! |
| +0x8d 0x82 0x04 0xf4 |
| +# CHECK: vst1.32 {d8, d9, d10, d11}, [r4]! |
| +0xcd 0x82 0x04 0xf4 |
| +# CHECK: vst1.64 {d8, d9, d10, d11}, [r4]! |
| +0x06 0x82 0x04 0xf4 |
| +# CHECK: vst1.8 {d8, d9, d10, d11}, [r4], r6 |
| +0x46 0x82 0x04 0xf4 |
| +# CHECK: vst1.16 {d8, d9, d10, d11}, [r4], r6 |
| +0x86 0x82 0x04 0xf4 |
| +# CHECK: vst1.32 {d8, d9, d10, d11}, [r4], r6 |
| +0xc6 0x82 0x04 0xf4 |
| +# CHECK: vst1.64 {d8, d9, d10, d11}, [r4], r6 |
| + |
| +0x0d 0x88 0x04 0xf4 |
| +# CHECK: vst2.8 {d8, d9}, [r4]! |
| +0x4d 0x88 0x04 0xf4 |
| +# CHECK: vst2.16 {d8, d9}, [r4]! |
| +0x8d 0x88 0x04 0xf4 |
| +# CHECK: vst2.32 {d8, d9}, [r4]! |
| +0x06 0x88 0x04 0xf4 |
| +# CHECK: vst2.8 {d8, d9}, [r4], r6 |
| +0x46 0x88 0x04 0xf4 |
| +# CHECK: vst2.16 {d8, d9}, [r4], r6 |
| +0x86 0x88 0x04 0xf4 |
| +# CHECK: vst2.32 {d8, d9}, [r4], r6 |
| + |
| +0x0d 0x89 0x04 0xf4 |
| +# CHECK: vst2.8 {d8, d10}, [r4]! |
| +0x4d 0x89 0x04 0xf4 |
| +# CHECK: vst2.16 {d8, d10}, [r4]! |
| +0x8d 0x89 0x04 0xf4 |
| +# CHECK: vst2.32 {d8, d10}, [r4]! |
| +0x06 0x89 0x04 0xf4 |
| +# CHECK: vst2.8 {d8, d10}, [r4], r6 |
| +0x46 0x89 0x04 0xf4 |
| +# CHECK: vst2.16 {d8, d10}, [r4], r6 |
| +0x86 0x89 0x04 0xf4 |
| +# CHECK: vst2.32 {d8, d10}, [r4], r6 |
| + |
| +0x0d 0x84 0x04 0xf4 |
| +# CHECK: vst3.8 {d8, d9, d10}, [r4]! |
| +0x4d 0x84 0x04 0xf4 |
| +# CHECK: vst3.16 {d8, d9, d10}, [r4]! |
| +0x8d 0x84 0x04 0xf4 |
| +# CHECK: vst3.32 {d8, d9, d10}, [r4]! |
| +0x06 0x85 0x04 0xf4 |
| +# CHECK: vst3.8 {d8, d10, d12}, [r4], r6 |
| +0x46 0x85 0x04 0xf4 |
| +# CHECK: vst3.16 {d8, d10, d12}, [r4], r6 |
| +0x86 0x85 0x04 0xf4 |
| +# CHECK: vst3.32 {d8, d10, d12}, [r4], r6 |
| + |
| +0x0d 0x80 0x04 0xf4 |
| +# CHECK: vst4.8 {d8, d9, d10, d11}, [r4]! |
| +0x4d 0x80 0x04 0xf4 |
| +# CHECK: vst4.16 {d8, d9, d10, d11}, [r4]! |
| +0x8d 0x80 0x04 0xf4 |
| +# CHECK: vst4.32 {d8, d9, d10, d11}, [r4]! |
| +0x06 0x81 0x04 0xf4 |
| +# CHECK: vst4.8 {d8, d10, d12, d14}, [r4], r6 |
| +0x46 0x81 0x04 0xf4 |
| +# CHECK: vst4.16 {d8, d10, d12, d14}, [r4], r6 |
| +0x86 0x81 0x04 0xf4 |
| +# CHECK: vst4.32 {d8, d10, d12, d14}, [r4], r6 |
| + |
| +0x4f 0x8a 0x04 0xf4 |
| +# CHECK: vst1.16 {d8, d9}, [r4] |
| +0x8f 0x8a 0x04 0xf4 |
| +# CHECK: vst1.32 {d8, d9}, [r4] |
| +0xcf 0x8a 0x04 0xf4 |
| +# CHECK: vst1.64 {d8, d9}, [r4] |
| +0x0f 0x8a 0x04 0xf4 |
| +# CHECK: vst1.8 {d8, d9}, [r4] |
| + |
| +0x4f 0x88 0x04 0xf4 |
| +# CHECK: vst2.16 {d8, d9}, [r4] |
| +0x8f 0x88 0x04 0xf4 |
| +# CHECK: vst2.32 {d8, d9}, [r4] |
| +0x0f 0x88 0x04 0xf4 |
| +# CHECK: vst2.8 {d8, d9}, [r4] |
| + |
| +0x4d 0x88 0x04 0xf4 |
| +# CHECK: vst2.16 {d8, d9}, [r4]! |
| +0x46 0x88 0x04 0xf4 |
| +# CHECK: vst2.16 {d8, d9}, [r4], r6 |
| +0x8d 0x88 0x04 0xf4 |
| +# CHECK: vst2.32 {d8, d9}, [r4]! |
| +0x86 0x88 0x04 0xf4 |
| +# CHECK: vst2.32 {d8, d9}, [r4], r6 |
| +0x0d 0x88 0x04 0xf4 |
| +# CHECK: vst2.8 {d8, d9}, [r4]! |
| +0x06 0x88 0x04 0xf4 |
| +# CHECK: vst2.8 {d8, d9}, [r4], r6 |
| + |
| +0x4f 0x89 0x04 0xf4 |
| +# CHECK: vst2.16 {d8, d10}, [r4] |
| +0x8f 0x89 0x04 0xf4 |
| +# CHECK: vst2.32 {d8, d10}, [r4] |
| +0x0f 0x89 0x04 0xf4 |
| +# CHECK: vst2.8 {d8, d10}, [r4] |
| + |
| +0x0f 0x84 0x04 0xf4 |
| +# CHECK: vst3.8 {d8, d9, d10}, [r4] |
| +0x4f 0x84 0x04 0xf4 |
| +# CHECK: vst3.16 {d8, d9, d10}, [r4] |
| +0x8f 0x84 0x04 0xf4 |
| +# CHECK: vst3.32 {d8, d9, d10}, [r4] |
| + |
| +0x0f 0x80 0x04 0xf4 |
| +# CHECK: vst4.8 {d8, d9, d10, d11}, [r4] |
| +0x4f 0x80 0x04 0xf4 |
| +# CHECK: vst4.16 {d8, d9, d10, d11}, [r4] |
| +0x8f 0x80 0x04 0xf4 |
| +# CHECK: vst4.32 {d8, d9, d10, d11}, [r4] |
| + |
| +0x0f 0x85 0x04 0xf4 |
| +# CHECK: vst3.8 {d8, d10, d12}, [r4] |
| +0x4f 0x85 0x04 0xf4 |
| +# CHECK: vst3.16 {d8, d10, d12}, [r4] |
| +0x8f 0x85 0x04 0xf4 |
| +# CHECK: vst3.32 {d8, d10, d12}, [r4] |
| + |
| +0x0f 0x81 0x04 0xf4 |
| +# CHECK: vst4.8 {d8, d10, d12, d14}, [r4] |
| +0x4f 0x81 0x04 0xf4 |
| +# CHECK: vst4.16 {d8, d10, d12, d14}, [r4] |
| +0x8f 0x81 0x04 0xf4 |
| +# CHECK: vst4.32 {d8, d10, d12, d14}, [r4] |
| Index: lib/Target/ARM/Disassembler/ARMDisassembler.cpp |
| =================================================================== |
| --- lib/Target/ARM/Disassembler/ARMDisassembler.cpp (revision 152265) |
| +++ lib/Target/ARM/Disassembler/ARMDisassembler.cpp (working copy) |
| @@ -2313,6 +2313,8 @@ |
| case ARM::VST2b8wb_register: |
| case ARM::VST2b16wb_register: |
| case ARM::VST2b32wb_register: |
| + Inst.addOperand(MCOperand::CreateImm(0)); |
| + break; |
| case ARM::VST3d8_UPD: |
| case ARM::VST3d16_UPD: |
| case ARM::VST3d32_UPD: |
| @@ -2354,6 +2356,23 @@ |
| case ARM::VST1q16wb_fixed: |
| case ARM::VST1q32wb_fixed: |
| case ARM::VST1q64wb_fixed: |
| + case ARM::VST1d8Twb_fixed: |
| + case ARM::VST1d16Twb_fixed: |
| + case ARM::VST1d32Twb_fixed: |
| + case ARM::VST1d64Twb_fixed: |
| + case ARM::VST1d8Qwb_fixed: |
| + case ARM::VST1d16Qwb_fixed: |
| + case ARM::VST1d32Qwb_fixed: |
| + case ARM::VST1d64Qwb_fixed: |
| + case ARM::VST2d8wb_fixed: |
| + case ARM::VST2d16wb_fixed: |
| + case ARM::VST2d32wb_fixed: |
| + case ARM::VST2q8wb_fixed: |
| + case ARM::VST2q16wb_fixed: |
| + case ARM::VST2q32wb_fixed: |
| + case ARM::VST2b8wb_fixed: |
| + case ARM::VST2b16wb_fixed: |
| + case ARM::VST2b32wb_fixed: |
| break; |
| } |
| |