1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 2; RUN: llc -mtriple=riscv32 -verify-machineinstrs < %s \ 3; RUN: | FileCheck -check-prefix=RV32I %s 4; RUN: llc -mtriple=riscv64 -verify-machineinstrs < %s \ 5; RUN: | FileCheck -check-prefix=RV64I %s 6 7; Verify that we lower @llvm.trap() and @llvm.debugtrap() correctly. 8 9declare void @llvm.trap() 10declare void @llvm.debugtrap() 11 12define void @test_trap() nounwind { 13; RV32I-LABEL: test_trap: 14; RV32I: # %bb.0: 15; RV32I-NEXT: unimp 16; RV32I-NEXT: ret 17; 18; RV64I-LABEL: test_trap: 19; RV64I: # %bb.0: 20; RV64I-NEXT: unimp 21; RV64I-NEXT: ret 22 tail call void @llvm.trap() 23 ret void 24} 25 26define void @test_debugtrap() nounwind { 27; RV32I-LABEL: test_debugtrap: 28; RV32I: # %bb.0: 29; RV32I-NEXT: ebreak 30; RV32I-NEXT: ret 31; 32; RV64I-LABEL: test_debugtrap: 33; RV64I: # %bb.0: 34; RV64I-NEXT: ebreak 35; RV64I-NEXT: ret 36 tail call void @llvm.debugtrap() 37 ret void 38} 39