1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 02:52:53 +02:00

[mips] Restore the availablity of trap for microMIPS

Reviewers: smaksimovic, atanasyan, abeserminji

Differential Revision: https://reviews.llvm.org/D47584

llvm-svn: 333895
This commit is contained in:
Simon Dardis 2018-06-04 12:50:32 +00:00
parent 75a3de70a1
commit ee9ea882e4
2 changed files with 35 additions and 0 deletions

View File

@ -1024,6 +1024,7 @@ let DecoderNamespace = "MicroMips" in {
ISA_MICROMIPS;
def DI_MM : MMRel, DEI_FT<"di", GPR32Opnd, II_DI>, EI_FM_MM<0x11d>,
ISA_MICROMIPS;
def TRAP_MM : TrapBase<BREAK_MM>, ISA_MICROMIPS;
/// Trap Instructions
def TEQ_MM : MMRel, TEQ_FT<"teq", GPR32Opnd, uimm4, II_TEQ>, TEQ_FM_MM<0x0>,

View File

@ -0,0 +1,34 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc -mtriple=mips-mti-linux-gnu < %s --show-mc-encoding | FileCheck %s --check-prefix=MTI
; RUN: llc -mtriple=mips-mti-linux-gnu -mattr=+micromips < %s --show-mc-encoding | FileCheck %s --check-prefix=MM
; RUN: llc -mtriple=mips-img-linux-gnu < %s --show-mc-encoding | FileCheck %s --check-prefix=IMG
; RUN: llc -mtriple=mips-img-linux-gnu -mattr=+micromips < %s --show-mc-encoding | FileCheck %s --check-prefix=MMR6
define void @test() noreturn nounwind {
; MTI-LABEL: test:
; MTI: # %bb.0: # %entry
; MTI-NEXT: break # encoding: [0x00,0x00,0x00,0x0d]
; MTI-NEXT: jr $ra # encoding: [0x03,0xe0,0x00,0x08]
; MTI-NEXT: nop # encoding: [0x00,0x00,0x00,0x00]
;
; MM-LABEL: test:
; MM: # %bb.0: # %entry
; MM-NEXT: break # encoding: [0x00,0x00,0x00,0x07]
; MM-NEXT: jrc $ra # encoding: [0x45,0xbf]
;
; IMG-LABEL: test:
; IMG: # %bb.0: # %entry
; IMG-NEXT: break # encoding: [0x00,0x00,0x00,0x0d]
; IMG-NEXT: jr $ra # encoding: [0x03,0xe0,0x00,0x08]
; IMG-NEXT: nop # encoding: [0x00,0x00,0x00,0x00]
;
; MMR6-LABEL: test:
; MMR6: # %bb.0: # %entry
; MMR6-NEXT: break # encoding: [0x00,0x00,0x00,0x07]
; MMR6-NEXT: jrc $ra # encoding: [0x45,0xbf]
entry:
tail call void @llvm.trap( )
ret void
}
declare void @llvm.trap() nounwind