mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-24 20:29:53 +00:00
ARM: bkpt has an implicit immediate constant 0
The bkpt mnemonic has an implicit immediate constant of 0 unless otherwise specified. Add an instruction alias for the unvalued breakpoint mnemonic to treat it as a 0. This improves compatibility with GNU AS. Signed-off-by: Saleem Abdulrasool <compnerd@compnerd.org> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@197913 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
166acc9489
commit
8f57233536
@ -1725,6 +1725,8 @@ def BKPT : AInoP<(outs), (ins imm0_65535:$val), MiscFrm, NoItinerary,
|
||||
let Inst{31-28} = 0xe; // AL
|
||||
let Inst{7-4} = 0b0111;
|
||||
}
|
||||
// default immediate for breakpoint mnemonic
|
||||
def : InstAlias<"bkpt", (BKPT 0)>, Requires<[IsARM]>;
|
||||
|
||||
def HLT : AInoP<(outs), (ins imm0_65535:$val), MiscFrm, NoItinerary,
|
||||
"hlt", "\t$val", []>, Requires<[IsARM, HasV8]> {
|
||||
|
@ -300,6 +300,8 @@ def tBKPT : T1I<(outs), (ins imm0_255:$val), NoItinerary, "bkpt\t$val",
|
||||
bits<8> val;
|
||||
let Inst{7-0} = val;
|
||||
}
|
||||
// default immediate for breakpoint mnemonic
|
||||
def : InstAlias<"bkpt", (tBKPT 0)>, Requires<[IsThumb]>;
|
||||
|
||||
def tHLT : T1I<(outs), (ins imm0_63:$val), NoItinerary, "hlt\t$val",
|
||||
[]>, T1Encoding<0b101110>, Requires<[IsThumb, HasV8]> {
|
||||
|
32
test/MC/ARM/bkpt.s
Normal file
32
test/MC/ARM/bkpt.s
Normal file
@ -0,0 +1,32 @@
|
||||
@ RUN: llvm-mc -triple armv7-unknown-unknown -filetype asm -o - %s | FileCheck %s
|
||||
|
||||
.syntax unified
|
||||
.thumb
|
||||
|
||||
.global thumb_default_bkpt
|
||||
.type thumb_default_bkpt, %function
|
||||
.thumb_func
|
||||
thumb_default_bkpt:
|
||||
bkpt
|
||||
|
||||
@ CHECK-LABEL: thumb_default_bkpt
|
||||
@ CHECK: bkpt #0
|
||||
|
||||
.global normal_bkpt
|
||||
.type normal_bkpt, %function
|
||||
normal_bkpt:
|
||||
bkpt #42
|
||||
|
||||
@ CHECK-LABEL: normal_bkpt
|
||||
@ CHECK: bkpt #42
|
||||
|
||||
.arm
|
||||
|
||||
.global arm_default_bkpt
|
||||
.type arm_default_bkpt, %function
|
||||
arm_default_bkpt:
|
||||
bkpt
|
||||
|
||||
@ CEHCK-LABEL: arm_default_bkpt
|
||||
@ CHECK: bkpt #0
|
||||
|
Loading…
Reference in New Issue
Block a user