Mark Searles | d29f24a | 2017-12-07 20:34:25 +0000 | [diff] [blame] | 1 | # RUN: llc -mcpu=gfx900 -march=amdgcn -verify-machineinstrs -run-pass post-RA-hazard-rec %s -o - | FileCheck %s |
| 2 | |
| 3 | # If an INLINEASM statement is preceded by a vmem store of more than 8 bytes *and* |
| 4 | # the INLINEASM defs the vregs holding the data-to-be-stored by that preceding store, |
| 5 | # then the hazard recognizer should insert a s_nop in between them. |
| 6 | |
| 7 | ... |
| 8 | |
| 9 | # GCN-LABEL: name: hazard-inlineasm |
| 10 | # CHECK: FLAT_STORE_DWORDX4 |
| 11 | # CHECK-NEXT: S_NOP 0 |
| 12 | # CHECK-NEXT: INLINEASM |
| 13 | |
| 14 | --- |
| 15 | name: hazard-inlineasm |
| 16 | |
| 17 | body: | |
| 18 | bb.0: |
Puyan Lotfi | 43e94b1 | 2018-01-31 22:04:26 +0000 | [diff] [blame] | 19 | FLAT_STORE_DWORDX4 $vgpr49_vgpr50, $vgpr26_vgpr27_vgpr28_vgpr29, 0, 0, 0, implicit $exec, implicit $flat_scr |
| 20 | INLINEASM &"v_mad_u64_u32 $0, $1, $2, $3, $4", 0, 2621450, def $vgpr26_vgpr27, 2818058, def dead $sgpr14_sgpr15, 589833, $sgpr12, 327689, killed $vgpr51, 2621449, $vgpr46_vgpr47 |
Mark Searles | d29f24a | 2017-12-07 20:34:25 +0000 | [diff] [blame] | 21 | S_ENDPGM |
| 22 | ... |
| 23 | |
| 24 | |