• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: llc -mtriple=amdgcn--amdhsa -verify-machineinstrs < %s | FileCheck -check-prefix=GCN %s
2
3; GCN-LABEL: {{^}}test_default_ci:
4; GCN: compute_pgm_rsrc1_float_mode = 192
5; GCN: compute_pgm_rsrc1_dx10_clamp = 1
6; GCN: compute_pgm_rsrc1_ieee_mode = 0
7define void @test_default_ci(float addrspace(1)* %out0, double addrspace(1)* %out1) #0 {
8  store float 0.0, float addrspace(1)* %out0
9  store double 0.0, double addrspace(1)* %out1
10  ret void
11}
12
13; GCN-LABEL: {{^}}test_default_vi:
14; GCN: compute_pgm_rsrc1_float_mode = 192
15; GCN: compute_pgm_rsrc1_dx10_clamp = 1
16; GCN: compute_pgm_rsrc1_ieee_mode = 0
17define void @test_default_vi(float addrspace(1)* %out0, double addrspace(1)* %out1) #1 {
18  store float 0.0, float addrspace(1)* %out0
19  store double 0.0, double addrspace(1)* %out1
20  ret void
21}
22
23; GCN-LABEL: {{^}}test_f64_denormals:
24; GCN: compute_pgm_rsrc1_float_mode = 192
25; GCN: compute_pgm_rsrc1_dx10_clamp = 1
26; GCN: compute_pgm_rsrc1_ieee_mode = 0
27define void @test_f64_denormals(float addrspace(1)* %out0, double addrspace(1)* %out1) #2 {
28  store float 0.0, float addrspace(1)* %out0
29  store double 0.0, double addrspace(1)* %out1
30  ret void
31}
32
33; GCN-LABEL: {{^}}test_f32_denormals:
34; GCN: compute_pgm_rsrc1_float_mode = 48
35; GCN: compute_pgm_rsrc1_dx10_clamp = 1
36; GCN: compute_pgm_rsrc1_ieee_mode = 0
37define void @test_f32_denormals(float addrspace(1)* %out0, double addrspace(1)* %out1) #3 {
38  store float 0.0, float addrspace(1)* %out0
39  store double 0.0, double addrspace(1)* %out1
40  ret void
41}
42
43; GCN-LABEL: {{^}}test_f32_f64_denormals:
44; GCN: compute_pgm_rsrc1_float_mode = 240
45; GCN: compute_pgm_rsrc1_dx10_clamp = 1
46; GCN: compute_pgm_rsrc1_ieee_mode = 0
47define void @test_f32_f64_denormals(float addrspace(1)* %out0, double addrspace(1)* %out1) #4 {
48  store float 0.0, float addrspace(1)* %out0
49  store double 0.0, double addrspace(1)* %out1
50  ret void
51}
52
53; GCN-LABEL: {{^}}test_no_denormals:
54; GCN: compute_pgm_rsrc1_float_mode = 0
55; GCN: compute_pgm_rsrc1_dx10_clamp = 1
56; GCN: compute_pgm_rsrc1_ieee_mode = 0
57define void @test_no_denormals(float addrspace(1)* %out0, double addrspace(1)* %out1) #5 {
58  store float 0.0, float addrspace(1)* %out0
59  store double 0.0, double addrspace(1)* %out1
60  ret void
61}
62
63attributes #0 = { nounwind "target-cpu"="kaveri" }
64attributes #1 = { nounwind "target-cpu"="fiji" }
65attributes #2 = { nounwind "target-features"="-fp32-denormals,+fp64-denormals" }
66attributes #3 = { nounwind "target-features"="+fp32-denormals,-fp64-denormals" }
67attributes #4 = { nounwind "target-features"="+fp32-denormals,+fp64-denormals" }
68attributes #5 = { nounwind "target-features"="-fp32-denormals,-fp64-denormals" }
69