• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: opt  -mtriple amdgcn--- -analyze -divergence %s | FileCheck %s
2
3; CHECK-LABEL: 'fs_interp'
4; CHECK: DIVERGENT: %v = call float @llvm.SI.fs.interp(
5define amdgpu_ps void @fs_interp(i32 inreg %prim_mask, <2 x i32> %interp_param) #1 {
6  %v = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %prim_mask, <2 x i32> %interp_param)
7  store volatile float %v, float addrspace(1)* undef
8  ret void
9}
10
11; CHECK-LABEL: 'fs_constant'
12; CHECK: DIVERGENT: %v = call float @llvm.SI.fs.constant(
13define amdgpu_ps void @fs_constant(i32 inreg %prim_mask, <2 x i32> %interp_param) #1 {
14  %v = call float @llvm.SI.fs.constant(i32 0, i32 0, i32 %prim_mask)
15  store volatile float %v, float addrspace(1)* undef
16  ret void
17}
18
19declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #0
20declare float @llvm.SI.fs.constant(i32, i32, i32) #0
21
22attributes #0 = { nounwind readnone }
23