Changeset View
Changeset View
Standalone View
Standalone View
test/CodeGen/AMDGPU/cgp-addressing-modes.ll
1 | ; RUN: opt -S -codegenprepare -mtriple=amdgcn-unknown-unknown -mcpu=tahiti < %s | FileCheck -check-prefix=OPT -check-prefix=OPT-SI -check-prefix=OPT-SICIVI %s | 1 | ; RUN: opt -S -codegenprepare -mtriple=amdgcn-unknown-unknown -mcpu=tahiti < %s | FileCheck -check-prefix=OPT -check-prefix=OPT-SI -check-prefix=OPT-SICIVI %s | ||
---|---|---|---|---|---|
2 | ; RUN: opt -S -codegenprepare -mtriple=amdgcn-unknown-unknown -mcpu=bonaire < %s | FileCheck -check-prefix=OPT -check-prefix=OPT-CI -check-prefix=OPT-SICIVI %s | 2 | ; RUN: opt -S -codegenprepare -mtriple=amdgcn-unknown-unknown -mcpu=bonaire < %s | FileCheck -check-prefix=OPT -check-prefix=OPT-CI -check-prefix=OPT-SICIVI %s | ||
3 | ; RUN: opt -S -codegenprepare -mtriple=amdgcn-unknown-unknown -mcpu=tonga -mattr=-flat-for-global < %s | FileCheck -check-prefix=OPT -check-prefix=OPT-VI -check-prefix=OPT-SICIVI %s | 3 | ; RUN: opt -S -codegenprepare -mtriple=amdgcn-unknown-unknown -mcpu=tonga -mattr=-flat-for-global < %s | FileCheck -check-prefix=OPT -check-prefix=OPT-VI -check-prefix=OPT-SICIVI %s | ||
4 | ; RUN: opt -S -codegenprepare -mtriple=amdgcn-unknown-unknown -mcpu=gfx900 < %s | FileCheck -check-prefix=OPT -check-prefix=OPT-GFX9 %s | 4 | ; RUN: opt -S -codegenprepare -mtriple=amdgcn-unknown-unknown -mcpu=gfx900 < %s | FileCheck -check-prefix=OPT -check-prefix=OPT-GFX9 %s | ||
5 | ; RUN: llc -march=amdgcn -mcpu=tahiti -mattr=-promote-alloca -amdgpu-scalarize-global-loads=false -amdgpu-sroa=0 < %s | FileCheck -check-prefix=GCN -check-prefix=SI -check-prefix=SICIVI %s | 5 | ; RUN: llc -march=amdgcn -mcpu=tahiti -mattr=-promote-alloca -amdgpu-scalarize-global-loads=false -amdgpu-sroa=0 < %s | FileCheck -check-prefix=GCN -check-prefix=SI -check-prefix=SICIVI %s | ||
6 | ; RUN: llc -march=amdgcn -mcpu=bonaire -mattr=-promote-alloca -amdgpu-scalarize-global-loads=false -amdgpu-sroa=0 < %s | FileCheck -check-prefix=GCN -check-prefix=CI -check-prefix=SICIVI %s | 6 | ; RUN: llc -march=amdgcn -mcpu=bonaire -mattr=-promote-alloca -amdgpu-scalarize-global-loads=false -amdgpu-sroa=0 < %s | FileCheck -check-prefix=GCN -check-prefix=CI -check-prefix=SICIVI %s | ||
7 | ; RUN: llc -march=amdgcn -mcpu=tonga -mattr=-flat-for-global -amdgpu-scalarize-global-loads=false -mattr=-promote-alloca -amdgpu-sroa=0 < %s | FileCheck -check-prefix=GCN -check-prefix=VI -check-prefix=SICIVI %s | 7 | ; RUN: llc -march=amdgcn -mcpu=tonga -mattr=-flat-for-global -amdgpu-scalarize-global-loads=false -mattr=-promote-alloca -amdgpu-sroa=0 < %s | FileCheck -check-prefix=GCN -check-prefix=VI -check-prefix=SICIVI %s | ||
8 | ; RUN: llc -march=amdgcn -mcpu=gfx900 -mattr=-promote-alloca -amdgpu-scalarize-global-loads=false -amdgpu-sroa=0 < %s | FileCheck -check-prefix=GCN -check-prefix=GFX9 %s | 8 | ; RUN: llc -march=amdgcn -mcpu=gfx900 -mattr=-promote-alloca -amdgpu-scalarize-global-loads=false -amdgpu-sroa=0 -amdgpu-enable-si-global-saddr=0 < %s | FileCheck -check-prefix=GCN -check-prefix=GFX9 %s | ||
9 | ; RUN: llc -march=amdgcn -mcpu=gfx900 -mattr=-promote-alloca -amdgpu-scalarize-global-loads=false -amdgpu-sroa=0 -amdgpu-enable-si-global-saddr=1 < %s | FileCheck -check-prefix=GCN -check-prefix=SADDRGFX9 %s | ||||
9 | 10 | | |||
10 | target datalayout = "e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5" | 11 | target datalayout = "e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5" | ||
11 | 12 | | |||
12 | ; OPT-LABEL: @test_sink_global_small_offset_i32( | 13 | ; OPT-LABEL: @test_sink_global_small_offset_i32( | ||
13 | ; OPT-CI-NOT: getelementptr i32, i32 addrspace(1)* %in | 14 | ; OPT-CI-NOT: getelementptr i32, i32 addrspace(1)* %in | ||
14 | ; OPT-VI: getelementptr i32, i32 addrspace(1)* %in | 15 | ; OPT-VI: getelementptr i32, i32 addrspace(1)* %in | ||
15 | ; OPT: br i1 | 16 | ; OPT: br i1 | ||
16 | ; OPT-CI: getelementptr i8, | 17 | ; OPT-CI: getelementptr i8, | ||
Show All 23 Lines | |||||
40 | ; OPT-LABEL: @test_sink_global_small_max_i32_ds_offset( | 41 | ; OPT-LABEL: @test_sink_global_small_max_i32_ds_offset( | ||
41 | ; OPT: %in.gep = getelementptr i8, i8 addrspace(1)* %in, i64 65535 | 42 | ; OPT: %in.gep = getelementptr i8, i8 addrspace(1)* %in, i64 65535 | ||
42 | ; OPT: br i1 | 43 | ; OPT: br i1 | ||
43 | 44 | | |||
44 | ; GCN-LABEL: {{^}}test_sink_global_small_max_i32_ds_offset: | 45 | ; GCN-LABEL: {{^}}test_sink_global_small_max_i32_ds_offset: | ||
45 | ; GCN: s_and_saveexec_b64 | 46 | ; GCN: s_and_saveexec_b64 | ||
46 | ; SICIVI: buffer_load_sbyte {{v[0-9]+}}, off, {{s\[[0-9]+:[0-9]+\]}}, s{{[0-9]+$}} | 47 | ; SICIVI: buffer_load_sbyte {{v[0-9]+}}, off, {{s\[[0-9]+:[0-9]+\]}}, s{{[0-9]+$}} | ||
47 | ; GFX9: global_load_sbyte {{v[0-9]+}}, {{v\[[0-9]+:[0-9]+\]}}, off{{$}} | 48 | ; GFX9: global_load_sbyte {{v[0-9]+}}, {{v\[[0-9]+:[0-9]+\]}}, off{{$}} | ||
49 | ; GFX9-SADDR: global_load_sbyte {{v[0-9]+}}, {{v\[[0-9]+:[0-9]+\]}}, {{s[[0-9]+:[0-9]+\]}} | ||||
48 | ; GCN: {{^}}BB1_2: | 50 | ; GCN: {{^}}BB1_2: | ||
49 | ; GCN: s_or_b64 exec | 51 | ; GCN: s_or_b64 exec | ||
50 | define amdgpu_kernel void @test_sink_global_small_max_i32_ds_offset(i32 addrspace(1)* %out, i8 addrspace(1)* %in) { | 52 | define amdgpu_kernel void @test_sink_global_small_max_i32_ds_offset(i32 addrspace(1)* %out, i8 addrspace(1)* %in) { | ||
51 | entry: | 53 | entry: | ||
52 | %out.gep = getelementptr i32, i32 addrspace(1)* %out, i64 99999 | 54 | %out.gep = getelementptr i32, i32 addrspace(1)* %out, i64 99999 | ||
53 | %in.gep = getelementptr i8, i8 addrspace(1)* %in, i64 65535 | 55 | %in.gep = getelementptr i8, i8 addrspace(1)* %in, i64 65535 | ||
54 | %tid = call i32 @llvm.amdgcn.mbcnt.lo(i32 -1, i32 0) #0 | 56 | %tid = call i32 @llvm.amdgcn.mbcnt.lo(i32 -1, i32 0) #0 | ||
55 | %tmp0 = icmp eq i32 %tid, 0 | 57 | %tmp0 = icmp eq i32 %tid, 0 | ||
▲ Show 20 Lines • Show All 692 Lines • Show Last 20 Lines |