brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.7 KiB · e3d31c7 Raw
113 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 22# RUN: llc -mtriple=amdgcn--amdhsa -mcpu=gfx1100 -o - -run-pass=legalizer %s -verify-machineinstrs | FileCheck -check-prefix=GFX1100 %s3# RUN: llc -mtriple=amdgcn--amdhsa -mcpu=gfx11-generic --amdhsa-code-object-version=6 -o - -run-pass=legalizer %s -verify-machineinstrs | FileCheck -check-prefix=GFX1100 %s4# RUN: llc -mtriple=amdgcn--amdhsa -mcpu=gfx1150 -o - -run-pass=legalizer %s -verify-machineinstrs | FileCheck -check-prefix=GFX1150 %s5 6---7name: test_trap8body: |9  bb.0:10    ; GFX1100-LABEL: name: test_trap11    ; GFX1100: successors: %bb.1(0x40000000), %bb.2(0x40000000)12    ; GFX1100-NEXT: {{  $}}13    ; GFX1100-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 014    ; GFX1100-NEXT: [[C1:%[0-9]+]]:_(p1) = G_CONSTANT i64 015    ; GFX1100-NEXT: G_STORE [[C]](s32), [[C1]](p1) :: (store (s8), addrspace 1)16    ; GFX1100-NEXT: S_CBRANCH_EXECNZ %bb.2, implicit $exec17    ; GFX1100-NEXT: {{  $}}18    ; GFX1100-NEXT: .1:19    ; GFX1100-NEXT: successors:20    ; GFX1100-NEXT: {{  $}}21    ; GFX1100-NEXT: G_STORE [[C]](s32), [[C1]](p1) :: (store (s8), addrspace 1)22    ; GFX1100-NEXT: {{  $}}23    ; GFX1100-NEXT: .2:24    ; GFX1100-NEXT: successors: %bb.3(0x80000000)25    ; GFX1100-NEXT: {{  $}}26    ; GFX1100-NEXT: S_TRAP 227    ; GFX1100-NEXT: [[S_SENDMSG_RTN_B32_:%[0-9]+]]:sreg_32 = S_SENDMSG_RTN_B32 12828    ; GFX1100-NEXT: $ttmp2 = S_MOV_B32 $m029    ; GFX1100-NEXT: [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 [[S_SENDMSG_RTN_B32_]], 1023, implicit-def $scc30    ; GFX1100-NEXT: [[S_OR_B32_:%[0-9]+]]:sreg_32 = S_OR_B32 [[S_AND_B32_]], 1024, implicit-def $scc31    ; GFX1100-NEXT: $m0 = S_MOV_B32 [[S_OR_B32_]]32    ; GFX1100-NEXT: S_SENDMSG 1, implicit $exec, implicit $m033    ; GFX1100-NEXT: $m0 = S_MOV_B32 $ttmp234    ; GFX1100-NEXT: S_BRANCH %bb.335    ; GFX1100-NEXT: {{  $}}36    ; GFX1100-NEXT: .3:37    ; GFX1100-NEXT: successors: %bb.3(0x80000000)38    ; GFX1100-NEXT: {{  $}}39    ; GFX1100-NEXT: S_SETHALT 540    ; GFX1100-NEXT: S_BRANCH %bb.341    ;42    ; GFX1150-LABEL: name: test_trap43    ; GFX1150: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 044    ; GFX1150-NEXT: [[C1:%[0-9]+]]:_(p1) = G_CONSTANT i64 045    ; GFX1150-NEXT: G_STORE [[C]](s32), [[C1]](p1) :: (store (s8), addrspace 1)46    ; GFX1150-NEXT: S_TRAP 247    ; GFX1150-NEXT: G_STORE [[C]](s32), [[C1]](p1) :: (store (s8), addrspace 1)48    %0:_(s8) = G_CONSTANT i8 049    %1:_(p1) = G_CONSTANT i64 050    G_STORE %0, %1 :: (store 1, addrspace 1)51    G_TRAP52    G_STORE %0, %1 :: (store 1, addrspace 1)53...54 55---56name: test_fallthrough_trap57body: |58  ; GFX1100-LABEL: name: test_fallthrough_trap59  ; GFX1100: bb.0:60  ; GFX1100-NEXT:   successors: %bb.1(0x80000000), %bb.2(0x00000000)61  ; GFX1100-NEXT: {{  $}}62  ; GFX1100-NEXT:   [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 063  ; GFX1100-NEXT:   [[C1:%[0-9]+]]:_(p1) = G_CONSTANT i64 064  ; GFX1100-NEXT:   G_STORE [[C]](s32), [[C1]](p1) :: (store (s8), addrspace 1)65  ; GFX1100-NEXT:   S_CBRANCH_EXECNZ %bb.2, implicit $exec66  ; GFX1100-NEXT: {{  $}}67  ; GFX1100-NEXT: bb.1:68  ; GFX1100-NEXT:   successors:69  ; GFX1100-NEXT: {{  $}}70  ; GFX1100-NEXT:   G_STORE [[C]](s32), [[C1]](p1) :: (store (s8), addrspace 1)71  ; GFX1100-NEXT: {{  $}}72  ; GFX1100-NEXT: bb.2:73  ; GFX1100-NEXT:   successors: %bb.3(0x80000000)74  ; GFX1100-NEXT: {{  $}}75  ; GFX1100-NEXT:   S_TRAP 276  ; GFX1100-NEXT:   [[S_SENDMSG_RTN_B32_:%[0-9]+]]:sreg_32 = S_SENDMSG_RTN_B32 12877  ; GFX1100-NEXT:   $ttmp2 = S_MOV_B32 $m078  ; GFX1100-NEXT:   [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 [[S_SENDMSG_RTN_B32_]], 1023, implicit-def $scc79  ; GFX1100-NEXT:   [[S_OR_B32_:%[0-9]+]]:sreg_32 = S_OR_B32 [[S_AND_B32_]], 1024, implicit-def $scc80  ; GFX1100-NEXT:   $m0 = S_MOV_B32 [[S_OR_B32_]]81  ; GFX1100-NEXT:   S_SENDMSG 1, implicit $exec, implicit $m082  ; GFX1100-NEXT:   $m0 = S_MOV_B32 $ttmp283  ; GFX1100-NEXT:   S_BRANCH %bb.384  ; GFX1100-NEXT: {{  $}}85  ; GFX1100-NEXT: bb.3:86  ; GFX1100-NEXT:   successors: %bb.3(0x80000000)87  ; GFX1100-NEXT: {{  $}}88  ; GFX1100-NEXT:   S_SETHALT 589  ; GFX1100-NEXT:   S_BRANCH %bb.390  ;91  ; GFX1150-LABEL: name: test_fallthrough_trap92  ; GFX1150: bb.0:93  ; GFX1150-NEXT:   successors: %bb.1(0x80000000)94  ; GFX1150-NEXT: {{  $}}95  ; GFX1150-NEXT:   [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 096  ; GFX1150-NEXT:   [[C1:%[0-9]+]]:_(p1) = G_CONSTANT i64 097  ; GFX1150-NEXT:   G_STORE [[C]](s32), [[C1]](p1) :: (store (s8), addrspace 1)98  ; GFX1150-NEXT:   S_TRAP 299  ; GFX1150-NEXT: {{  $}}100  ; GFX1150-NEXT: bb.1:101  ; GFX1150-NEXT:   G_STORE [[C]](s32), [[C1]](p1) :: (store (s8), addrspace 1)102  bb.0:103    successors: %bb.1104 105    %0:_(s8) = G_CONSTANT i8 0106    %1:_(p1) = G_CONSTANT i64 0107    G_STORE %0, %1 :: (store 1, addrspace 1)108    G_TRAP109 110  bb.1:111    G_STORE %0, %1 :: (store 1, addrspace 1)112...113