[mips] [IAS] Add support for the BNEZL and BEQZL pseudo-instructions.
Summary: They are of the form "bnezl/beqzl $rs, offset" and expand to "bnel/beql $rs, $zero, offset". These instructions are used in Linux inline assembly. Reviewers: dsanders Reviewed By: dsanders Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D8540 llvm-svn: 234401
This commit is contained in:
parent
7230f80e3b
commit
91fc0b3c10
|
|
@ -1594,8 +1594,12 @@ def : MipsInstAlias<"b $offset", (BEQ ZERO, ZERO, brtarget:$offset), 0>;
|
|||
}
|
||||
def : MipsInstAlias<"bnez $rs,$offset",
|
||||
(BNE GPR32Opnd:$rs, ZERO, brtarget:$offset), 0>;
|
||||
def : MipsInstAlias<"bnezl $rs,$offset",
|
||||
(BNEL GPR32Opnd:$rs, ZERO, brtarget:$offset), 0>;
|
||||
def : MipsInstAlias<"beqz $rs,$offset",
|
||||
(BEQ GPR32Opnd:$rs, ZERO, brtarget:$offset), 0>;
|
||||
def : MipsInstAlias<"beqzl $rs,$offset",
|
||||
(BEQL GPR32Opnd:$rs, ZERO, brtarget:$offset), 0>;
|
||||
def : MipsInstAlias<"syscall", (SYSCALL 0), 1>;
|
||||
|
||||
def : MipsInstAlias<"break", (BREAK 0, 0), 1>;
|
||||
|
|
|
|||
|
|
@ -68,9 +68,15 @@
|
|||
# CHECK: beql $9, $6, 1332
|
||||
# CHECK-NOT: nop
|
||||
beql $9,$6,1332
|
||||
# CHECK: beql $9, $zero, 1332
|
||||
# CHECK-NOT: nop
|
||||
beqzl $9,1332
|
||||
# CHECK: bnel $9, $6, 1332
|
||||
# CHECK-NOT: nop
|
||||
bnel $9,$6,1332
|
||||
# CHECK: bnel $9, $zero, 1332
|
||||
# CHECK-NOT: nop
|
||||
bnezl $9,1332
|
||||
# CHECK: bgezl $6, 1332
|
||||
# CHECK-NOT: nop
|
||||
bgezl $6,1332
|
||||
|
|
|
|||
Loading…
Reference in New Issue