mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-15 04:30:12 +00:00
Use correct part of complex operand to encode VST1 alignment.
Patch by Chris Lidbury. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163318 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
029032693f
commit
64eacd9136
@ -1980,7 +1980,7 @@ def VST1LNd8 : VST1LN<0b0000, {?,?,?,0}, "8", v8i8, truncstorei8,
|
|||||||
def VST1LNd16 : VST1LN<0b0100, {?,?,0,?}, "16", v4i16, truncstorei16,
|
def VST1LNd16 : VST1LN<0b0100, {?,?,0,?}, "16", v4i16, truncstorei16,
|
||||||
NEONvgetlaneu, addrmode6> {
|
NEONvgetlaneu, addrmode6> {
|
||||||
let Inst{7-6} = lane{1-0};
|
let Inst{7-6} = lane{1-0};
|
||||||
let Inst{4} = Rn{5};
|
let Inst{4} = Rn{4};
|
||||||
}
|
}
|
||||||
|
|
||||||
def VST1LNd32 : VST1LN<0b1000, {?,0,?,?}, "32", v2i32, store, extractelt,
|
def VST1LNd32 : VST1LN<0b1000, {?,0,?,?}, "32", v2i32, store, extractelt,
|
||||||
@ -2023,7 +2023,7 @@ def VST1LNd8_UPD : VST1LNWB<0b0000, {?,?,?,0}, "8", v8i8, post_truncsti8,
|
|||||||
def VST1LNd16_UPD : VST1LNWB<0b0100, {?,?,0,?}, "16", v4i16, post_truncsti16,
|
def VST1LNd16_UPD : VST1LNWB<0b0100, {?,?,0,?}, "16", v4i16, post_truncsti16,
|
||||||
NEONvgetlaneu, addrmode6> {
|
NEONvgetlaneu, addrmode6> {
|
||||||
let Inst{7-6} = lane{1-0};
|
let Inst{7-6} = lane{1-0};
|
||||||
let Inst{4} = Rn{5};
|
let Inst{4} = Rn{4};
|
||||||
}
|
}
|
||||||
def VST1LNd32_UPD : VST1LNWB<0b1000, {?,0,?,?}, "32", v2i32, post_store,
|
def VST1LNd32_UPD : VST1LNWB<0b1000, {?,0,?,?}, "32", v2i32, post_store,
|
||||||
extractelt, addrmode6oneL32> {
|
extractelt, addrmode6oneL32> {
|
||||||
|
77
test/MC/Disassembler/ARM/neont-VST-reencoding.txt
Normal file
77
test/MC/Disassembler/ARM/neont-VST-reencoding.txt
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
# RUN: llvm-mc -triple thumbv7 -show-encoding -disassemble < %s | FileCheck %s
|
||||||
|
|
||||||
|
0x80 0xf9 0x00 0x00
|
||||||
|
0x81 0xf9 0x21 0x10
|
||||||
|
0x81 0xf9 0x42 0x10
|
||||||
|
0x81 0xf9 0x61 0x20
|
||||||
|
0x82 0xf9 0x82 0x20
|
||||||
|
0x82 0xf9 0xa1 0x10
|
||||||
|
0x82 0xf9 0xc2 0x20
|
||||||
|
0x83 0xf9 0xe3 0x30
|
||||||
|
|
||||||
|
# CHECK: vst1.8 {d0[0]}, [r0], r0 @ encoding: [0x80,0xf9,0x00,0x00]
|
||||||
|
# CHECK: vst1.8 {d1[1]}, [r1], r1 @ encoding: [0x81,0xf9,0x21,0x10]
|
||||||
|
# CHECK: vst1.8 {d1[2]}, [r1], r2 @ encoding: [0x81,0xf9,0x42,0x10]
|
||||||
|
# CHECK: vst1.8 {d2[3]}, [r1], r1 @ encoding: [0x81,0xf9,0x61,0x20]
|
||||||
|
# CHECK: vst1.8 {d2[4]}, [r2], r2 @ encoding: [0x82,0xf9,0x82,0x20]
|
||||||
|
# CHECK: vst1.8 {d1[5]}, [r2], r1 @ encoding: [0x82,0xf9,0xa1,0x10]
|
||||||
|
# CHECK: vst1.8 {d2[6]}, [r2], r2 @ encoding: [0x82,0xf9,0xc2,0x20]
|
||||||
|
# CHECK: vst1.8 {d3[7]}, [r3], r3 @ encoding: [0x83,0xf9,0xe3,0x30]
|
||||||
|
|
||||||
|
0x80 0xf9 0x00 0x04
|
||||||
|
0xc3 0xf9 0x13 0x04
|
||||||
|
0xc4 0xf9 0x43 0x04
|
||||||
|
0xc5 0xf9 0x55 0x04
|
||||||
|
0xc6 0xf9 0x85 0x04
|
||||||
|
0xc7 0xf9 0x95 0x74
|
||||||
|
0xc8 0xf9 0xc7 0x84
|
||||||
|
0xc9 0xf9 0xd9 0x94
|
||||||
|
|
||||||
|
# CHECK: vst1.16 {d0[0]}, [r0], r0 @ encoding: [0x80,0xf9,0x00,0x04]
|
||||||
|
# CHECK: vst1.16 {d16[0]}, [r3, :16], r3 @ encoding: [0xc3,0xf9,0x13,0x04]
|
||||||
|
# CHECK: vst1.16 {d16[1]}, [r4], r3 @ encoding: [0xc4,0xf9,0x43,0x04]
|
||||||
|
# CHECK: vst1.16 {d16[1]}, [r5, :16], r5 @ encoding: [0xc5,0xf9,0x55,0x04]
|
||||||
|
# CHECK: vst1.16 {d16[2]}, [r6], r5 @ encoding: [0xc6,0xf9,0x85,0x04]
|
||||||
|
# CHECK: vst1.16 {d23[2]}, [r7, :16], r5 @ encoding: [0xc7,0xf9,0x95,0x74]
|
||||||
|
# CHECK: vst1.16 {d24[3]}, [r8], r7 @ encoding: [0xc8,0xf9,0xc7,0x84]
|
||||||
|
# CHECK: vst1.16 {d25[3]}, [r9, :16], r9 @ encoding: [0xc9,0xf9,0xd9,0x94]
|
||||||
|
|
||||||
|
0x8a 0xf9 0x01 0xa8
|
||||||
|
0xcb 0xf9 0x32 0x18
|
||||||
|
0x8c 0xf9 0x83 0xb8
|
||||||
|
0xcd 0xf9 0xb4 0x28
|
||||||
|
|
||||||
|
# CHECK: vst1.32 {d10[0]}, [r10], r1 @ encoding: [0x8a,0xf9,0x01,0xa8]
|
||||||
|
# CHECK: vst1.32 {d17[0]}, [r11, :32], r2 @ encoding: [0xcb,0xf9,0x32,0x18]
|
||||||
|
# CHECK: vst1.32 {d11[1]}, [r12], r3 @ encoding: [0x8c,0xf9,0x83,0xb8]
|
||||||
|
# CHECK: vst1.32 {d18[1]}, [sp, :32], r4 @ encoding: [0xcd,0xf9,0xb4,0x28]
|
||||||
|
|
||||||
|
0x81 0xf9 0x1f 0x44
|
||||||
|
0x82 0xf9 0x8f 0x30
|
||||||
|
|
||||||
|
# CHECK: vst1.16 {d4[0]}, [r1, :16] @ encoding: [0x81,0xf9,0x1f,0x44]
|
||||||
|
# CHECK: vst1.8 {d3[4]}, [r2] @ encoding: [0x82,0xf9,0x8f,0x30]
|
||||||
|
|
||||||
|
0x83 0xf9 0x1d 0x24
|
||||||
|
0x84 0xf9 0x8d 0x10
|
||||||
|
|
||||||
|
# CHECK: vst1.16 {d2[0]}, [r3, :16]! @ encoding: [0x83,0xf9,0x1d,0x24]
|
||||||
|
# CHECK: vst1.8 {d1[4]}, [r4]! @ encoding: [0x84,0xf9,0x8d,0x10]
|
||||||
|
|
||||||
|
0x85 0xf9 0x10 0x04
|
||||||
|
0x85 0xf9 0x1a 0x74
|
||||||
|
0x8e 0xf9 0x1a 0x84
|
||||||
|
0x85 0xf9 0x1a 0x94
|
||||||
|
|
||||||
|
# CHECK: vst1.16 {d0[0]}, [r5, :16], r0 @ encoding: [0x85,0xf9,0x10,0x04]
|
||||||
|
# CHECK: vst1.16 {d7[0]}, [r5, :16], r10 @ encoding: [0x85,0xf9,0x1a,0x74]
|
||||||
|
# CHECK: vst1.16 {d8[0]}, [lr, :16], r10 @ encoding: [0x8e,0xf9,0x1a,0x84]
|
||||||
|
# CHECK: vst1.16 {d9[0]}, [r5, :16], r10 @ encoding: [0x85,0xf9,0x1a,0x94]
|
||||||
|
|
||||||
|
0x81 0xf9 0x24 0x0b
|
||||||
|
0x82 0xf9 0x25 0x07
|
||||||
|
0x83 0xf9 0x26 0x03
|
||||||
|
|
||||||
|
# CHECK: vst4.32 {d0[0], d1[0], d2[0], d3[0]}, [r1, :128], r4 @ encoding: [0x81,0xf9,0x24,0x0b]
|
||||||
|
# CHECK: vst4.16 {d0[0], d2[0], d4[0], d6[0]}, [r2], r5 @ encoding: [0x82,0xf9,0x25,0x07]
|
||||||
|
# CHECK: vst4.8 {d0[1], d1[1], d2[1], d3[1]}, [r3], r6 @ encoding: [0x83,0xf9,0x26,0x03]
|
Loading…
Reference in New Issue
Block a user