summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorRyan Taylor <rtayl@amd.com>2018-07-05 12:02:07 +0000
committerRyan Taylor <rtayl@amd.com>2018-07-05 12:02:07 +0000
commit5f04458a61e716e8f22126f4886e0b2a67bc7a30 (patch)
tree34be06544f1f663979f87816268881ab33822e62 /llvm/test
parent046fa610e0106212b87a9d53c48b696cb1767da6 (diff)
downloadbcm5719-llvm-5f04458a61e716e8f22126f4886e0b2a67bc7a30.tar.gz
bcm5719-llvm-5f04458a61e716e8f22126f4886e0b2a67bc7a30.zip
[AMDGPU] Add VALU to V_INTERP Instructions
Wait states are not properly being inserted after buffer_store for v_interp instructions. Add VALU to V_INTERP instructions so that the GCNHazardRecognizer can check and insert the appropriate wait states when needed. Differential Revision: https://reviews.llvm.org/D48772 Change-Id: Id540c9b074fc69b5c1de6b182276aa089c74aa64 llvm-svn: 336339
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/CodeGen/AMDGPU/hazard-buffer-store-v-interp.mir19
1 files changed, 19 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/AMDGPU/hazard-buffer-store-v-interp.mir b/llvm/test/CodeGen/AMDGPU/hazard-buffer-store-v-interp.mir
new file mode 100644
index 00000000000..64436b7e30e
--- /dev/null
+++ b/llvm/test/CodeGen/AMDGPU/hazard-buffer-store-v-interp.mir
@@ -0,0 +1,19 @@
+# RUN: llc -march=amdgcn -mcpu=tonga -verify-machineinstrs -run-pass post-RA-hazard-rec %s -o - | FileCheck -check-prefix=GCN -check-prefix=VI %s
+# RUN: llc -march=amdgcn -mcpu=gfx900 -verify-machineinstrs -run-pass post-RA-hazard-rec %s -o - | FileCheck -check-prefix=GCN -check-prefix=GFX9 %s
+
+# GCN-LABEL: name: hazard_buffer_store_v_interp
+# GCN: bb.0.entry:
+# GCN-NEXT: BUFFER_STORE_DWORDX4_OFFSET_exact
+# GCN-NEXT: S_NOP
+# GCN-NEXT: V_INTERP_P1_F32
+
+name: hazard_buffer_store_v_interp
+body: |
+ bb.0.entry:
+ liveins: $sgpr0, $sgpr1, $sgpr2, $sgpr3, $vgpr0, $vgpr1, $vgpr7, $vgpr8, $vgpr9, $vgpr10
+
+ BUFFER_STORE_DWORDX4_OFFSET_exact killed $vgpr7_vgpr8_vgpr9_vgpr10, $sgpr4_sgpr5_sgpr6_sgpr7, 0, 96, 0, 0, 0, implicit $exec
+ $vgpr7 = V_INTERP_P1_F32 $vgpr0, 0, 0, implicit $m0, implicit $exec
+ S_ENDPGM
+
+...
OpenPOWER on IntegriCloud