Skip to content

Commit

Permalink
Thumb parsing and encoding for SVC.
Browse files Browse the repository at this point in the history
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138360 91177308-0d34-0410-b5e6-96231b3b80d8
  • Loading branch information
Jim Grosbach committed Aug 23, 2011
1 parent 414b023 commit ec8b866
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 1 deletion.
2 changes: 1 addition & 1 deletion lib/Target/ARM/ARMInstrThumb.td
Expand Up @@ -534,7 +534,7 @@ let isCall = 1, isTerminator = 1, isReturn = 1, isBarrier = 1 in {
}


// A8.6.218 Supervisor Call (Software Interrupt) -- for disassembly only
// A8.6.218 Supervisor Call (Software Interrupt)
// A8.6.16 B: Encoding T1
// If Inst{11-8} == 0b1111 then SEE SVC
let isCall = 1, Uses = [SP] in
Expand Down
10 changes: 10 additions & 0 deletions test/MC/ARM/basic-thumb-instructions.s
Expand Up @@ -533,3 +533,13 @@ _func:
subs r1, r2, r3

@ CHECK: subs r1, r2, r3 @ encoding: [0xd1,0x1a]


@------------------------------------------------------------------------------
@ SVC
@------------------------------------------------------------------------------
svc #0
svc #255

@ CHECK: svc #0 @ encoding: [0x00,0xdf]
@ CHECK: svc #255 @ encoding: [0xff,0xdf]
10 changes: 10 additions & 0 deletions test/MC/ARM/thumb-diagnostics.s
Expand Up @@ -108,3 +108,13 @@ error: invalid operand for instruction
@ CHECK-ERRORS: error: instruction requires a CPU feature not currently enabled
@ CHECK-ERRORS: str r3, [r7, #128]
@ CHECK-ERRORS: ^

@ Out of range immediate for SVC instruction.
svc #-1
svc #256
@ CHECK-ERRORS: error: invalid operand for instruction
@ CHECK-ERRORS: svc #-1
@ CHECK-ERRORS: ^
@ CHECK-ERRORS: error: instruction requires a CPU feature not currently enabled
@ CHECK-ERRORS: svc #256
@ CHECK-ERRORS: ^

0 comments on commit ec8b866

Please sign in to comment.