summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/AMDGPU
diff options
context:
space:
mode:
authorFarhana Aleen <farhana.aleen@gmail.com>2018-03-16 18:12:00 +0000
committerFarhana Aleen <farhana.aleen@gmail.com>2018-03-16 18:12:00 +0000
commitc6c9dc877301ed41566344664ef9502c95f8a411 (patch)
tree6cd30affad73d706e1e34561b414df07a0e1807c /llvm/test/CodeGen/AMDGPU
parentc9977f38770ff3b24795fe2e78cd52a29284b790 (diff)
downloadbcm5719-llvm-c6c9dc877301ed41566344664ef9502c95f8a411.tar.gz
bcm5719-llvm-c6c9dc877301ed41566344664ef9502c95f8a411.zip
[AMDGPU] Supported ds_write_b128 generation.
Summary: This is a follow-on patch of https://reviews.llvm.org/D44210 Author: FarhanaAleen Reviewed By: msearles Subscribers: llvm-commits, AMDGPU Differential Revision: https://reviews.llvm.org/D44319 llvm-svn: 327726
Diffstat (limited to 'llvm/test/CodeGen/AMDGPU')
-rw-r--r--llvm/test/CodeGen/AMDGPU/load-local-f32.ll11
-rw-r--r--llvm/test/CodeGen/AMDGPU/load-local-f64.ll5
-rw-r--r--llvm/test/CodeGen/AMDGPU/load-local-i16.ll11
-rw-r--r--llvm/test/CodeGen/AMDGPU/load-local-i32.ll11
-rw-r--r--llvm/test/CodeGen/AMDGPU/load-local-i64.ll11
-rw-r--r--llvm/test/CodeGen/AMDGPU/load-local-i8.ll11
6 files changed, 43 insertions, 17 deletions
diff --git a/llvm/test/CodeGen/AMDGPU/load-local-f32.ll b/llvm/test/CodeGen/AMDGPU/load-local-f32.ll
index 3d8720888c7..c2722717fb3 100644
--- a/llvm/test/CodeGen/AMDGPU/load-local-f32.ll
+++ b/llvm/test/CodeGen/AMDGPU/load-local-f32.ll
@@ -2,7 +2,7 @@
; RUN: llc -march=amdgcn -mcpu=tonga -verify-machineinstrs < %s | FileCheck -check-prefixes=GCN,SICIVI,FUNC %s
; RUN: llc -march=r600 -mcpu=redwood < %s | FileCheck -check-prefixes=EG,FUNC %s
-; Testing for ds_read_128
+; Testing for ds_read/write_128
; RUN: llc -march=amdgcn -mcpu=tahiti -amdgpu-ds128 < %s | FileCheck -check-prefixes=SI,FUNC %s
; RUN: llc -march=amdgcn -mcpu=tonga -amdgpu-ds128 < %s | FileCheck -check-prefixes=CIVI,FUNC %s
; RUN: llc -march=amdgcn -mcpu=gfx900 -amdgpu-ds128 < %s | FileCheck -check-prefixes=CIVI,FUNC %s
@@ -127,17 +127,22 @@ entry:
ret void
}
-; Tests if ds_read_b128 gets generated for the 16 byte aligned load.
+; Tests if ds_read/write_b128 gets generated for the 16 byte aligned load.
; FUNC-LABEL: {{^}}local_v4f32_to_128:
+
; SI-NOT: ds_read_b128
+; SI-NOT: ds_write_b128
+
; CIVI: ds_read_b128
+; CIVI: ds_write_b128
+
; EG: LDS_READ_RET
; EG: LDS_READ_RET
; EG: LDS_READ_RET
; EG: LDS_READ_RET
define amdgpu_kernel void @local_v4f32_to_128(<4 x float> addrspace(3)* %out, <4 x float> addrspace(3)* %in) {
%ld = load <4 x float>, <4 x float> addrspace(3)* %in, align 16
- store <4 x float> %ld, <4 x float> addrspace(3)* %out
+ store <4 x float> %ld, <4 x float> addrspace(3)* %out, align 16
ret void
}
diff --git a/llvm/test/CodeGen/AMDGPU/load-local-f64.ll b/llvm/test/CodeGen/AMDGPU/load-local-f64.ll
index 14c31e67d7f..f4040db3797 100644
--- a/llvm/test/CodeGen/AMDGPU/load-local-f64.ll
+++ b/llvm/test/CodeGen/AMDGPU/load-local-f64.ll
@@ -176,7 +176,10 @@ entry:
; Tests if ds_read_b128 gets generated for the 16 byte aligned load.
; FUNC-LABEL: {{^}}local_load_v2f64_to_128:
+
; CIVI: ds_read_b128
+; CIVI: ds_write_b128
+
; EG: LDS_READ_RET
; EG: LDS_READ_RET
; EG: LDS_READ_RET
@@ -184,7 +187,7 @@ entry:
define amdgpu_kernel void @local_load_v2f64_to_128(<2 x double> addrspace(3)* %out, <2 x double> addrspace(3)* %in) {
entry:
%ld = load <2 x double>, <2 x double> addrspace(3)* %in, align 16
- store <2 x double> %ld, <2 x double> addrspace(3)* %out
+ store <2 x double> %ld, <2 x double> addrspace(3)* %out, align 16
ret void
}
diff --git a/llvm/test/CodeGen/AMDGPU/load-local-i16.ll b/llvm/test/CodeGen/AMDGPU/load-local-i16.ll
index 7438fd2681d..83cf85b5126 100644
--- a/llvm/test/CodeGen/AMDGPU/load-local-i16.ll
+++ b/llvm/test/CodeGen/AMDGPU/load-local-i16.ll
@@ -3,7 +3,7 @@
; RUN: llc -march=amdgcn -mcpu=gfx900 -verify-machineinstrs < %s | FileCheck -check-prefixes=GCN,GFX9,GFX89,FUNC %s
; RUN: llc -march=r600 -mcpu=redwood -verify-machineinstrs < %s | FileCheck -check-prefix=EG -check-prefix=FUNC %s
-; Testing for ds_read_b128
+; Testing for ds_read/write_b128
; RUN: llc -march=amdgcn -mcpu=tonga -amdgpu-ds128 < %s | FileCheck -check-prefixes=CIVI,FUNC %s
; RUN: llc -march=amdgcn -mcpu=gfx900 -amdgpu-ds128 < %s | FileCheck -check-prefixes=CIVI,FUNC %s
@@ -939,17 +939,22 @@ define amdgpu_kernel void @local_sextload_v32i16_to_v32i64(<32 x i64> addrspace(
; ret void
; }
-; Tests if ds_read_b128 gets generated for the 16 byte aligned load.
+; Tests if ds_read/write_b128 gets generated for the 16 byte aligned load.
; FUNC-LABEL: {{^}}local_v8i16_to_128:
+
; SI-NOT: ds_read_b128
+; SI-NOT: ds_write_b128
+
; CIVI: ds_read_b128
+; CIVI: ds_write_b128
+
; EG: LDS_READ_RET
; EG: LDS_READ_RET
; EG: LDS_READ_RET
; EG: LDS_READ_RET
define amdgpu_kernel void @local_v8i16_to_128(<8 x i16> addrspace(3)* %out, <8 x i16> addrspace(3)* %in) {
%ld = load <8 x i16>, <8 x i16> addrspace(3)* %in, align 16
- store <8 x i16> %ld, <8 x i16> addrspace(3)* %out
+ store <8 x i16> %ld, <8 x i16> addrspace(3)* %out, align 16
ret void
}
diff --git a/llvm/test/CodeGen/AMDGPU/load-local-i32.ll b/llvm/test/CodeGen/AMDGPU/load-local-i32.ll
index 1dd7daf95ab..2d0e989b686 100644
--- a/llvm/test/CodeGen/AMDGPU/load-local-i32.ll
+++ b/llvm/test/CodeGen/AMDGPU/load-local-i32.ll
@@ -3,7 +3,7 @@
; RUN: llc -march=amdgcn -mcpu=gfx900 -mattr=-flat-for-global -verify-machineinstrs < %s | FileCheck -check-prefixes=GCN,VI,FUNC %s
; RUN: llc -march=r600 -mcpu=redwood < %s | FileCheck -check-prefix=EG -check-prefix=FUNC %s
-; Testing for ds_read_128
+; Testing for ds_read/write_128
; RUN: llc -march=amdgcn -mcpu=tahiti -amdgpu-ds128 < %s | FileCheck -check-prefixes=SI,FUNC %s
; RUN: llc -march=amdgcn -mcpu=tonga -amdgpu-ds128 < %s | FileCheck -check-prefixes=CIVI,FUNC %s
; RUN: llc -march=amdgcn -mcpu=gfx900 -amdgpu-ds128 < %s | FileCheck -check-prefixes=CIVI,FUNC %s
@@ -180,17 +180,22 @@ define amdgpu_kernel void @local_sextload_v4i32_to_v4i64(<4 x i64> addrspace(3)*
ret void
}
-; Tests if ds_read_b128 gets generated for the 16 byte aligned load.
+; Tests if ds_read/write_b128 gets generated for the 16 byte aligned load.
; FUNC-LABEL: {{^}}local_v4i32_to_128:
+
; SI-NOT: ds_read_b128
+; SI-NOT: ds_write_b128
+
; CIVI: ds_read_b128
+; CIVI: ds_write_b128
+
; EG: LDS_READ_RET
; EG: LDS_READ_RET
; EG: LDS_READ_RET
; EG: LDS_READ_RET
define amdgpu_kernel void @local_v4i32_to_128(<4 x i32> addrspace(3)* %out, <4 x i32> addrspace(3)* %in) {
%ld = load <4 x i32>, <4 x i32> addrspace(3)* %in, align 16
- store <4 x i32> %ld, <4 x i32> addrspace(3)* %out
+ store <4 x i32> %ld, <4 x i32> addrspace(3)* %out, align 16
ret void
}
diff --git a/llvm/test/CodeGen/AMDGPU/load-local-i64.ll b/llvm/test/CodeGen/AMDGPU/load-local-i64.ll
index 359fbb42f40..697f474f10c 100644
--- a/llvm/test/CodeGen/AMDGPU/load-local-i64.ll
+++ b/llvm/test/CodeGen/AMDGPU/load-local-i64.ll
@@ -4,7 +4,7 @@
; RUN: llc -march=amdgcn -mcpu=gfx900 -verify-machineinstrs < %s | FileCheck -check-prefixes=GCN,GFX9,FUNC %s
; RUN: llc -march=r600 -mcpu=redwood < %s | FileCheck -check-prefixes=EG,FUNC %s
-; Testing for ds_read_b128
+; Testing for ds_read/write_b128
; RUN: llc -march=amdgcn -mcpu=tonga -verify-machineinstrs -amdgpu-ds128 < %s | FileCheck -check-prefixes=CIVI,FUNC %s
; RUN: llc -march=amdgcn -mcpu=gfx900 -verify-machineinstrs -amdgpu-ds128 < %s | FileCheck -check-prefixes=CIVI,FUNC %s
@@ -40,13 +40,16 @@ entry:
ret void
}
-; Tests if ds_read_b128 gets generated for the 16 byte aligned load.
+; Tests if ds_read/write_b128 gets generated for the 16 byte aligned load.
; FUNC-LABEL: {{^}}local_load_v2i64_to_128:
+
; CIVI: ds_read_b128
+; CIVI: ds_write_b128
+
define amdgpu_kernel void @local_load_v2i64_to_128(<2 x i64> addrspace(3)* %out, <2 x i64> addrspace(3)* %in) {
entry:
- %ld = load <2 x i64>, <2 x i64> addrspace(3)* %in
- store <2 x i64> %ld, <2 x i64> addrspace(3)* %out
+ %ld = load <2 x i64>, <2 x i64> addrspace(3)* %in, align 16
+ store <2 x i64> %ld, <2 x i64> addrspace(3)* %out, align 16
ret void
}
diff --git a/llvm/test/CodeGen/AMDGPU/load-local-i8.ll b/llvm/test/CodeGen/AMDGPU/load-local-i8.ll
index e1931af042b..898d35d60a2 100644
--- a/llvm/test/CodeGen/AMDGPU/load-local-i8.ll
+++ b/llvm/test/CodeGen/AMDGPU/load-local-i8.ll
@@ -3,7 +3,7 @@
; RUN: llc -march=amdgcn -mtriple=amdgcn---amdgiz -mcpu=gfx900 -verify-machineinstrs < %s | FileCheck -check-prefixes=GCN,GFX9,FUNC %s
; RUN: llc -march=r600 -mtriple=r600---amdgiz -mcpu=redwood -verify-machineinstrs < %s | FileCheck -check-prefix=EG -check-prefix=FUNC %s
-; Testing for ds_read_b128
+; Testing for ds_read/write_b128
; RUN: llc -march=amdgcn -mcpu=tonga -amdgpu-ds128 < %s | FileCheck -check-prefixes=CIVI,FUNC %s
; RUN: llc -march=amdgcn -mcpu=gfx900 -amdgpu-ds128 < %s | FileCheck -check-prefixes=CIVI,FUNC %s
@@ -1024,17 +1024,22 @@ define amdgpu_kernel void @local_sextload_v32i8_to_v32i16(<32 x i16> addrspace(3
; ret void
; }
-; Tests if ds_read_b128 gets generated for the 16 byte aligned load.
+; Tests if ds_read/write_b128 gets generated for the 16 byte aligned load.
; FUNC-LABEL: {{^}}local_v16i8_to_128:
+
; SI-NOT: ds_read_b128
+; SI-NOT: ds_write_b128
+
; CIVI: ds_read_b128
+; CIVI: ds_write_b128
+
; EG: LDS_READ_RET
; EG: LDS_READ_RET
; EG: LDS_READ_RET
; EG: LDS_READ_RET
define amdgpu_kernel void @local_v16i8_to_128(<16 x i8> addrspace(3)* %out, <16 x i8> addrspace(3)* %in) {
%ld = load <16 x i8>, <16 x i8> addrspace(3)* %in, align 16
- store <16 x i8> %ld, <16 x i8> addrspace(3)* %out
+ store <16 x i8> %ld, <16 x i8> addrspace(3)* %out, align 16
ret void
}
OpenPOWER on IntegriCloud