| ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5 |
| ; RUN: llc < %s -mtriple nvptx | FileCheck %s -check-prefixes=CHECK-32 |
| ; RUN: llc < %s -mtriple nvptx64 | FileCheck %s -check-prefixes=CHECK-64 |
| |
| declare dso_local void @main() |
| |
| define dso_local void @naked() naked "frame-pointer"="all" { |
| ; CHECK-32-LABEL: naked( |
| ; CHECK-32: { |
| ; CHECK-32-EMPTY: |
| ; CHECK-32-EMPTY: |
| ; CHECK-32-NEXT: // %bb.0: |
| ; CHECK-32-NEXT: { // callseq 0, 0 |
| ; CHECK-32-NEXT: call.uni |
| ; CHECK-32-NEXT: main, |
| ; CHECK-32-NEXT: ( |
| ; CHECK-32-NEXT: ); |
| ; CHECK-32-NEXT: } // callseq 0 |
| ; CHECK-32-NEXT: // begin inline asm |
| ; CHECK-32-NEXT: exit; |
| ; CHECK-32-NEXT: // end inline asm |
| ; |
| ; CHECK-64-LABEL: naked( |
| ; CHECK-64: { |
| ; CHECK-64-EMPTY: |
| ; CHECK-64-EMPTY: |
| ; CHECK-64-NEXT: // %bb.0: |
| ; CHECK-64-NEXT: { // callseq 0, 0 |
| ; CHECK-64-NEXT: call.uni |
| ; CHECK-64-NEXT: main, |
| ; CHECK-64-NEXT: ( |
| ; CHECK-64-NEXT: ); |
| ; CHECK-64-NEXT: } // callseq 0 |
| ; CHECK-64-NEXT: // begin inline asm |
| ; CHECK-64-NEXT: exit; |
| ; CHECK-64-NEXT: // end inline asm |
| call void @main() |
| unreachable |
| } |
| |
| define dso_local void @normal() "frame-pointer"="all" { |
| ; CHECK-32-LABEL: normal( |
| ; CHECK-32: { |
| ; CHECK-32-EMPTY: |
| ; CHECK-32-EMPTY: |
| ; CHECK-32-NEXT: // %bb.0: |
| ; CHECK-32-NEXT: { // callseq 1, 0 |
| ; CHECK-32-NEXT: call.uni |
| ; CHECK-32-NEXT: main, |
| ; CHECK-32-NEXT: ( |
| ; CHECK-32-NEXT: ); |
| ; CHECK-32-NEXT: } // callseq 1 |
| ; CHECK-32-NEXT: // begin inline asm |
| ; CHECK-32-NEXT: exit; |
| ; CHECK-32-NEXT: // end inline asm |
| ; |
| ; CHECK-64-LABEL: normal( |
| ; CHECK-64: { |
| ; CHECK-64-EMPTY: |
| ; CHECK-64-EMPTY: |
| ; CHECK-64-NEXT: // %bb.0: |
| ; CHECK-64-NEXT: { // callseq 1, 0 |
| ; CHECK-64-NEXT: call.uni |
| ; CHECK-64-NEXT: main, |
| ; CHECK-64-NEXT: ( |
| ; CHECK-64-NEXT: ); |
| ; CHECK-64-NEXT: } // callseq 1 |
| ; CHECK-64-NEXT: // begin inline asm |
| ; CHECK-64-NEXT: exit; |
| ; CHECK-64-NEXT: // end inline asm |
| call void @main() |
| unreachable |
| } |