diff options
| author | Jim Grosbach <grosbach@apple.com> | 2011-10-20 14:48:50 +0000 |
|---|---|---|
| committer | Jim Grosbach <grosbach@apple.com> | 2011-10-20 14:48:50 +0000 |
| commit | 8db25984a9961447a1e05f89b6444f00facd162a (patch) | |
| tree | 8c02adbd1bc25aa65540eea0e4fe145f14160bec | |
| parent | fe3969293d0f6a113fd4518af578dce51fc06e8c (diff) | |
| download | bcm5719-llvm-8db25984a9961447a1e05f89b6444f00facd162a.tar.gz bcm5719-llvm-8db25984a9961447a1e05f89b6444f00facd162a.zip | |
ARM VTBX (one register) assembly parsing and encoding.
llvm-svn: 142581
| -rw-r--r-- | llvm/lib/Target/ARM/ARMInstrNEON.td | 6 | ||||
| -rw-r--r-- | llvm/test/MC/ARM/neon-table-encoding.s | 25 |
2 files changed, 15 insertions, 16 deletions
diff --git a/llvm/lib/Target/ARM/ARMInstrNEON.td b/llvm/lib/Target/ARM/ARMInstrNEON.td index 412b3ca5f93..7187ab0bd3b 100644 --- a/llvm/lib/Target/ARM/ARMInstrNEON.td +++ b/llvm/lib/Target/ARM/ARMInstrNEON.td @@ -4906,10 +4906,10 @@ def VTBL4Pseudo // VTBX : Vector Table Extension def VTBX1 : N3V<1,1,0b11,0b1000,1,0, (outs DPR:$Vd), - (ins DPR:$orig, DPR:$Vn, DPR:$Vm), NVTBLFrm, IIC_VTBX1, - "vtbx", "8", "$Vd, \\{$Vn\\}, $Vm", "$orig = $Vd", + (ins DPR:$orig, VecListOneD:$Vn, DPR:$Vm), NVTBLFrm, IIC_VTBX1, + "vtbx", "8", "$Vd, $Vn, $Vm", "$orig = $Vd", [(set DPR:$Vd, (v8i8 (int_arm_neon_vtbx1 - DPR:$orig, DPR:$Vn, DPR:$Vm)))]>; + DPR:$orig, VecListOneD:$Vn, DPR:$Vm)))]>; let hasExtraSrcRegAllocReq = 1 in { def VTBX2 : N3V<1,1,0b11,0b1001,1,0, (outs DPR:$Vd), diff --git a/llvm/test/MC/ARM/neon-table-encoding.s b/llvm/test/MC/ARM/neon-table-encoding.s index 31454c13a46..0b3fe40e480 100644 --- a/llvm/test/MC/ARM/neon-table-encoding.s +++ b/llvm/test/MC/ARM/neon-table-encoding.s @@ -1,23 +1,22 @@ @ RUN: llvm-mc -mcpu=cortex-a8 -triple arm-unknown-unknown -show-encoding < %s | FileCheck %s -@ XFAIL: * vtbl.8 d16, {d17}, d16 - vtbl.8 d16, {d16, d17}, d18 - vtbl.8 d16, {d16, d17, d18}, d20 - vtbl.8 d16, {d16, d17, d18, d19}, d20 +@ vtbl.8 d16, {d16, d17}, d18 +@ vtbl.8 d16, {d16, d17, d18}, d20 +@ vtbl.8 d16, {d16, d17, d18, d19}, d20 -@ CHECK: vtbl.8 d16, {d16, d17}, d18 @ encoding: [0xa2,0x09,0xf0,0xf3] @ CHECK: vtbl.8 d16, {d17}, d16 @ encoding: [0xa0,0x08,0xf1,0xf3] -@ CHECK: vtbl.8 d16, {d16, d17, d18}, d20 @ encoding: [0xa4,0x0a,0xf0,0xf3] -@ CHECK: vtbl.8 d16, {d16, d17, d18, d19}, d20 @ encoding: [0xa4,0x0b,0xf0,0xf3] +@ FIXME: vtbl.8 d16, {d16, d17}, d18 @ encoding: [0xa2,0x09,0xf0,0xf3] +@ FIXME: vtbl.8 d16, {d16, d17, d18}, d20 @ encoding: [0xa4,0x0a,0xf0,0xf3] +@ FIXME: vtbl.8 d16, {d16, d17, d18, d19}, d20 @ encoding: [0xa4,0x0b,0xf0,0xf3] vtbx.8 d18, {d16}, d17 - vtbx.8 d19, {d16, d17}, d18 - vtbx.8 d20, {d16, d17, d18}, d21 - vtbx.8 d20, {d16, d17, d18, d19}, d21 +@ vtbx.8 d19, {d16, d17}, d18 +@ vtbx.8 d20, {d16, d17, d18}, d21 +@ vtbx.8 d20, {d16, d17, d18, d19}, d21 @ CHECK: vtbx.8 d18, {d16}, d17 @ encoding: [0xe1,0x28,0xf0,0xf3] -@ CHECK: vtbx.8 d19, {d16, d17}, d18 @ encoding: [0xe2,0x39,0xf0,0xf3] -@ CHECK: vtbx.8 d20, {d16, d17, d18}, d21 @ encoding: [0xe5,0x4a,0xf0,0xf3] -@ CHECK: vtbx.8 d20, {d16, d17, d18, d19}, d21 @ encoding: [0xe5,0x4b,0xf0,0xf3] +@ FIXME: vtbx.8 d19, {d16, d17}, d18 @ encoding: [0xe2,0x39,0xf0,0xf3] +@ FIXME: vtbx.8 d20, {d16, d17, d18}, d21 @ encoding: [0xe5,0x4a,0xf0,0xf3] +@ FIXME: vtbx.8 d20, {d16, d17, d18, d19}, d21 @ encoding: [0xe5,0x4b,0xf0,0xf3] |

