diff options
author | Jim Grosbach <grosbach@apple.com> | 2011-07-21 19:02:03 +0000 |
---|---|---|
committer | Jim Grosbach <grosbach@apple.com> | 2011-07-21 19:02:03 +0000 |
commit | 61b1b21e9ad2b8af163a352766eeb159979f4ff2 (patch) | |
tree | d911d07e9accbd21b6fb68844458dc35665387f4 /test | |
parent | 92a202213bb4c20301abf6ab64e46df3695e60bf (diff) | |
download | external_llvm-61b1b21e9ad2b8af163a352766eeb159979f4ff2.zip external_llvm-61b1b21e9ad2b8af163a352766eeb159979f4ff2.tar.gz external_llvm-61b1b21e9ad2b8af163a352766eeb159979f4ff2.tar.bz2 |
Add tests for ARM PKH assembly parsing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135696 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/MC/ARM/basic-arm-instructions.s | 21 | ||||
-rw-r--r-- | test/MC/ARM/diagnostics.s | 27 |
2 files changed, 48 insertions, 0 deletions
diff --git a/test/MC/ARM/basic-arm-instructions.s b/test/MC/ARM/basic-arm-instructions.s index 192a076..968e3f8 100644 --- a/test/MC/ARM/basic-arm-instructions.s +++ b/test/MC/ARM/basic-arm-instructions.s @@ -969,6 +969,27 @@ _func: @ CHECK: orrslt r6, r6, r7, ror r9 @ encoding: [0x77,0x69,0x96,0xb1] @ CHECK: orrsgt r4, r4, r5, rrx @ encoding: [0x65,0x40,0x94,0xc1] +@------------------------------------------------------------------------------ +@ PKH +@------------------------------------------------------------------------------ + pkhbt r2, r2, r3 + pkhbt r2, r2, r3, lsl #31 + pkhbt r2, r2, r3, lsl #0 + pkhbt r2, r2, r3, lsl #15 + + pkhtb r2, r2, r3 + pkhtb r2, r2, r3, asr #31 + pkhtb r2, r2, r3, asr #15 + +@ CHECK: pkhbt r2, r2, r3 @ encoding: [0x13,0x20,0x82,0xe6] +@ CHECK: pkhbt r2, r2, r3, lsl #31 @ encoding: [0x93,0x2f,0x82,0xe6] +@ CHECK: pkhbt r2, r2, r3 @ encoding: [0x13,0x20,0x82,0xe6] +@ CHECK: pkhbt r2, r2, r3, lsl #15 @ encoding: [0x93,0x27,0x82,0xe6] + +@ CHECK: pkhbt r2, r2, r3 @ encoding: [0x13,0x20,0x82,0xe6] +@ CHECK: pkhtb r2, r2, r3, asr #31 @ encoding: [0xd3,0x2f,0x82,0xe6] +@ CHECK: pkhtb r2, r2, r3, asr #15 @ encoding: [0xd3,0x27,0x82,0xe6] + @------------------------------------------------------------------------------ @ STM* diff --git a/test/MC/ARM/diagnostics.s b/test/MC/ARM/diagnostics.s index aaea336..abefca6 100644 --- a/test/MC/ARM/diagnostics.s +++ b/test/MC/ARM/diagnostics.s @@ -117,3 +117,30 @@ @ CHECK-ERRORS: error: invalid operand for instruction @ CHECK-ERRORS: error: invalid operand for instruction @ CHECK-ERRORS: error: invalid operand for instruction + + @ Shifter operand validation for PKH instructions. + pkhbt r2, r2, r3, lsl #-1 + pkhbt r2, r2, r3, lsl #32 + pkhtb r2, r2, r3, asr #0 + pkhtb r2, r2, r3, asr #33 + pkhbt r2, r2, r3, asr #3 + pkhtb r2, r2, r3, lsl #3 + +@ CHECK: error: immediate value out of range +@ CHECK: pkhbt r2, r2, r3, lsl #-1 +@ CHECK: ^ +@ CHECK: error: immediate value out of range +@ CHECK: pkhbt r2, r2, r3, lsl #32 +@ CHECK: ^ +@ CHECK: error: immediate value out of range +@ CHECK: pkhtb r2, r2, r3, asr #0 +@ CHECK: ^ +@ CHECK: error: immediate value out of range +@ CHECK: pkhtb r2, r2, r3, asr #33 +@ CHECK: ^ +@ CHECK: error: lsl operand expected. +@ CHECK: pkhbt r2, r2, r3, asr #3 +@ CHECK: ^ +@ CHECK: error: asr operand expected. +@ CHECK: pkhtb r2, r2, r3, lsl #3 +@ CHECK: ^ |