[llvm] r200989 - R600/SI: Add failing test for 3 x i64 vectors.

Matt Arsenault Matthew.Arsenault at amd.com
Fri Feb 7 12:29:40 PST 2014


Author: arsenm
Date: Fri Feb  7 14:29:40 2014
New Revision: 200989

URL: http://llvm.org/viewvc/llvm-project?rev=200989&view=rev
Log:
R600/SI: Add failing test for 3 x i64 vectors.

Stores of <4 x i64> do work (although they do expand to 4 stores
instead of 2), but 3 x i64 vectors fail to select.

Added:
    llvm/trunk/test/CodeGen/R600/store-v3.ll

Added: llvm/trunk/test/CodeGen/R600/store-v3.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/R600/store-v3.ll?rev=200989&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/R600/store-v3.ll (added)
+++ llvm/trunk/test/CodeGen/R600/store-v3.ll Fri Feb  7 14:29:40 2014
@@ -0,0 +1,28 @@
+; XFAIL: *
+; RUN: llc -march=r600 -mcpu=SI < %s | FileCheck -check-prefix=SI
+
+; SI-LABEL: @global_store_v3i64:
+; SI: BUFFER_STORE_DWORDX4
+; SI: BUFFER_STORE_DWORDX4
+define void @global_store_v3i64(<3 x i64> addrspace(1)* %out, <3 x i64> %x) {
+  store <3 x i64> %x, <3 x i64> addrspace(1)* %out, align 32
+  ret void
+}
+
+; SI-LABEL: @global_store_v3i64_unaligned:
+define void @global_store_v3i64_unaligned(<3 x i64> addrspace(1)* %out, <3 x i64> %x) {
+  store <3 x i64> %x, <3 x i64> addrspace(1)* %out, align 1
+  ret void
+}
+
+; SI-LABEL: @local_store_v3i64:
+define void @local_store_v3i64(<3 x i64> addrspace(3)* %out, <3 x i64> %x) {
+  store <3 x i64> %x, <3 x i64> addrspace(3)* %out, align 32
+  ret void
+}
+
+; SI-LABEL: @local_store_v3i64_unaligned:
+define void @local_store_v3i64_unaligned(<3 x i64> addrspace(1)* %out, <3 x i64> %x) {
+  store <3 x i64> %x, <3 x i64> addrspace(1)* %out, align 1
+  ret void
+}





More information about the llvm-commits mailing list