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: |
| 19 | FLAT_STORE_DWORDX4 %vgpr49_vgpr50, %vgpr26_vgpr27_vgpr28_vgpr29, 0, 0, 0, implicit %exec, implicit %flat_scr |
Puyan Lotfi | fe6c9cb | 2018-01-10 00:56:48 +0000 | [diff] [blame^] | 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 | |