1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
;=========================== begin_copyright_notice ============================
;
; Copyright (C) 2021 Intel Corporation
;
; SPDX-License-Identifier: MIT
;
;============================ end_copyright_notice =============================
; RUN: igc_opt -S --inpuths --platformdg2 --igc-merge-urb-writes %s | FileCheck %s
; RUN: igc_opt -S --inpuths --platformskl --igc-merge-urb-writes %s | FileCheck %s
;
; CHECK: call void @llvm.genx.GenISA.URBWrite
; CHECK-SAME: (i32 0, i32 17, float 0x3FD5555560000000, float undef, float undef, float undef, float 0x3FD5555560000000, float undef, float undef, float undef)
; CHECK: call void @llvm.genx.GenISA.URBWrite
; CHECK-SAME: (i32 0, i32 34, float undef, float %1, float undef, float undef, float undef, float %2, float undef, float undef)
; CHECK-NOT: call void @llvm.genx.GenISA.URBWrite({{.*}})
define void @entry() #0 {
Label-1:
call void @llvm.genx.GenISA.URBWrite(i32 0, i32 1, float 0x3FD5555560000000, float undef, float undef, float undef, float undef, float undef, float undef, float undef)
call void @llvm.genx.GenISA.URBWrite(i32 1, i32 1, float 0x3FD5555560000000, float undef, float undef, float undef, float undef, float undef, float undef, float undef)
%0 = call <8 x float> @llvm.genx.GenISA.URBReadOutput(i32 0)
%1 = extractelement <8 x float> %0, i32 0
%2 = extractelement <8 x float> %0, i32 4
call void @llvm.genx.GenISA.URBWrite(i32 0, i32 2, float undef, float %1, float undef, float undef, float undef, float undef, float undef, float undef)
call void @llvm.genx.GenISA.URBWrite(i32 1, i32 2, float undef, float %2, float undef, float undef, float undef, float undef, float undef, float undef)
ret void
}
; Function Attrs: nounwind
declare void @llvm.genx.GenISA.URBWrite(i32, i32, float, float, float, float, float, float, float, float) #1
; Function Attrs: nounwind readnone
declare <8 x float> @llvm.genx.GenISA.URBReadOutput(i32) #2
attributes #0 = { "null-pointer-is-valid"="true" }
attributes #1 = { nounwind }
attributes #2 = { nounwind readnone }
|