1ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines# RUN: llvm-mc -triple thumbv7 -mattr=virtualization -show-encoding %s | FileCheck %s --check-prefix=CHECK-THUMB 2ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 3ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines hvc #1 4ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines hvc #7 5ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines hvc #257 6ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines hvc #65535 7ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines# CHECK-THUMB: [0xe0,0xf7,0x01,0x80] 8ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines# CHECK-THUMB: [0xe0,0xf7,0x07,0x80] 9ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines# CHECK-THUMB: [0xe0,0xf7,0x01,0x81] 10ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines# CHECK-THUMB: [0xef,0xf7,0xff,0x8f] 11ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 12ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines hvc.w #1 13ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines hvc.w #7 14ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines hvc.w #257 15ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines hvc.w #65535 16ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines# CHECK-THUMB: [0xe0,0xf7,0x01,0x80] 17ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines# CHECK-THUMB: [0xe0,0xf7,0x07,0x80] 18ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines# CHECK-THUMB: [0xe0,0xf7,0x01,0x81] 19ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines# CHECK-THUMB: [0xef,0xf7,0xff,0x8f] 20ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 21ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines eret 22ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines it eq; ereteq 23ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines it ne; eretne 24ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines it hs; ereths 25ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines it lo; eretlo 26ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines it mi; eretmi 27ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines it pl; eretpl 28ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines it vs; eretvs 29ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines it vc; eretvc 30ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines it hi; erethi 31ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines it ls; eretls 32ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines it ge; eretge 33ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines it lt; eretlt 34ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines it gt; eretgt 35ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines it le; eretle 36ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines# CHECK-THUMB: [0xde,0xf3,0x00,0x8f] 37ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines# CHECK-THUMB: [0xde,0xf3,0x00,0x8f] 38ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines# CHECK-THUMB: [0xde,0xf3,0x00,0x8f] 39ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines# CHECK-THUMB: [0xde,0xf3,0x00,0x8f] 40ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines# CHECK-THUMB: [0xde,0xf3,0x00,0x8f] 41ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines# CHECK-THUMB: [0xde,0xf3,0x00,0x8f] 42ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines# CHECK-THUMB: [0xde,0xf3,0x00,0x8f] 43ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines# CHECK-THUMB: [0xde,0xf3,0x00,0x8f] 44ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines# CHECK-THUMB: [0xde,0xf3,0x00,0x8f] 45ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines# CHECK-THUMB: [0xde,0xf3,0x00,0x8f] 46ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines# CHECK-THUMB: [0xde,0xf3,0x00,0x8f] 47ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines# CHECK-THUMB: [0xde,0xf3,0x00,0x8f] 48ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines# CHECK-THUMB: [0xde,0xf3,0x00,0x8f] 49ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines# CHECK-THUMB: [0xde,0xf3,0x00,0x8f] 50ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines# CHECK-THUMB: [0xde,0xf3,0x00,0x8f] 51ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 52ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines# SUBS PC, LR, #0 should have the same encoding as ERET. 53ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines# The conditional forms can't be tested becuse the ARM assembler parser doesn't 54ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines# accept SUBS<cond> PC, LR, #<imm>, only the unconditonal form is allowed. This 55ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines# is due to the way that the custom parser handles optional operands; see the 56ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines# FIXME in ARM/AsmParser/ARMAsmParser.cpp. 57ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines 58ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines subs pc, lr, #0 59ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines# CHECK-THUMB: [0xde,0xf3,0x00,0x8f] 60