1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5 2; RUN: llc < %s -mtriple nvptx | FileCheck %s -check-prefixes=CHECK-32 3; RUN: llc < %s -mtriple nvptx64 | FileCheck %s -check-prefixes=CHECK-64 4 5declare dso_local void @main() 6 7define dso_local void @naked() naked "frame-pointer"="all" { 8; CHECK-32-LABEL: naked( 9; CHECK-32: { 10; CHECK-32-EMPTY: 11; CHECK-32-EMPTY: 12; CHECK-32-NEXT: // %bb.0: 13; CHECK-32-NEXT: { // callseq 0, 0 14; CHECK-32-NEXT: call.uni 15; CHECK-32-NEXT: main, 16; CHECK-32-NEXT: ( 17; CHECK-32-NEXT: ); 18; CHECK-32-NEXT: } // callseq 0 19; CHECK-32-NEXT: // begin inline asm 20; CHECK-32-NEXT: exit; 21; CHECK-32-NEXT: // end inline asm 22; 23; CHECK-64-LABEL: naked( 24; CHECK-64: { 25; CHECK-64-EMPTY: 26; CHECK-64-EMPTY: 27; CHECK-64-NEXT: // %bb.0: 28; CHECK-64-NEXT: { // callseq 0, 0 29; CHECK-64-NEXT: call.uni 30; CHECK-64-NEXT: main, 31; CHECK-64-NEXT: ( 32; CHECK-64-NEXT: ); 33; CHECK-64-NEXT: } // callseq 0 34; CHECK-64-NEXT: // begin inline asm 35; CHECK-64-NEXT: exit; 36; CHECK-64-NEXT: // end inline asm 37 call void @main() 38 unreachable 39} 40 41define dso_local void @normal() "frame-pointer"="all" { 42; CHECK-32-LABEL: normal( 43; CHECK-32: { 44; CHECK-32-EMPTY: 45; CHECK-32-EMPTY: 46; CHECK-32-NEXT: // %bb.0: 47; CHECK-32-NEXT: { // callseq 1, 0 48; CHECK-32-NEXT: call.uni 49; CHECK-32-NEXT: main, 50; CHECK-32-NEXT: ( 51; CHECK-32-NEXT: ); 52; CHECK-32-NEXT: } // callseq 1 53; CHECK-32-NEXT: // begin inline asm 54; CHECK-32-NEXT: exit; 55; CHECK-32-NEXT: // end inline asm 56; 57; CHECK-64-LABEL: normal( 58; CHECK-64: { 59; CHECK-64-EMPTY: 60; CHECK-64-EMPTY: 61; CHECK-64-NEXT: // %bb.0: 62; CHECK-64-NEXT: { // callseq 1, 0 63; CHECK-64-NEXT: call.uni 64; CHECK-64-NEXT: main, 65; CHECK-64-NEXT: ( 66; CHECK-64-NEXT: ); 67; CHECK-64-NEXT: } // callseq 1 68; CHECK-64-NEXT: // begin inline asm 69; CHECK-64-NEXT: exit; 70; CHECK-64-NEXT: // end inline asm 71 call void @main() 72 unreachable 73} 74