From: Jim Grosbach Date: Thu, 21 Jul 2011 19:02:03 +0000 (+0000) Subject: Add tests for ARM PKH assembly parsing. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=61b1b21e9ad2b8af163a352766eeb159979f4ff2;p=oota-llvm.git Add tests for ARM PKH assembly parsing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135696 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/MC/ARM/basic-arm-instructions.s b/test/MC/ARM/basic-arm-instructions.s index 192a0760c67..968e3f84c0f 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 aaea336dd8a..abefca60afd 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: ^