R600/SI: Add intrinsic for S_SENDMSG instruction

Reviewed-by: Tom Stellard <thomas.stellard@amd.com>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200195 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Michel Danzer
2014-01-27 07:20:44 +00:00
parent 650e286dcf
commit b3bfe7f18c
6 changed files with 75 additions and 2 deletions

View File

@ -0,0 +1,21 @@
;RUN: llc < %s -march=r600 -mcpu=verde -verify-machineinstrs | FileCheck %s
; CHECK-LABEL: @main
; CHECK: S_SENDMSG Gs(emit stream 0)
; CHECK: S_SENDMSG Gs(cut stream 1)
; CHECK: S_SENDMSG Gs(emit-cut stream 2)
; CHECK: S_SENDMSG Gs_done(nop)
define void @main() {
main_body:
call void @llvm.SI.sendmsg(i32 34, i32 0);
call void @llvm.SI.sendmsg(i32 274, i32 0);
call void @llvm.SI.sendmsg(i32 562, i32 0);
call void @llvm.SI.sendmsg(i32 3, i32 0);
ret void
}
; Function Attrs: nounwind
declare void @llvm.SI.sendmsg(i32, i32) #0
attributes #0 = { nounwind }