[llvm] r204729 - R600: Add failing testcase for <3 x i32> stores.

Matt Arsenault Matthew.Arsenault at amd.com
Tue Mar 25 09:50:56 PDT 2014


Author: arsenm
Date: Tue Mar 25 11:50:55 2014
New Revision: 204729

URL: http://llvm.org/viewvc/llvm-project?rev=204729&view=rev
Log:
R600: Add failing testcase for <3 x i32> stores.

This is supposed to have the same store size and alignment as <4 x i32>,
but currently is split into a 64-bit and 32-bit store.

Added:
    llvm/trunk/test/CodeGen/R600/store-v3i32.ll
    llvm/trunk/test/CodeGen/R600/store-v3i64.ll
      - copied, changed from r204727, llvm/trunk/test/CodeGen/R600/store-v3.ll
Removed:
    llvm/trunk/test/CodeGen/R600/store-v3.ll

Removed: llvm/trunk/test/CodeGen/R600/store-v3.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/R600/store-v3.ll?rev=204728&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/R600/store-v3.ll (original)
+++ llvm/trunk/test/CodeGen/R600/store-v3.ll (removed)
@@ -1,28 +0,0 @@
-; 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
-}

Added: llvm/trunk/test/CodeGen/R600/store-v3i32.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/R600/store-v3i32.ll?rev=204729&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/R600/store-v3i32.ll (added)
+++ llvm/trunk/test/CodeGen/R600/store-v3i32.ll Tue Mar 25 11:50:55 2014
@@ -0,0 +1,12 @@
+; XFAIL: *
+; RUN: llc -verify-machineinstrs -march=r600 -mcpu=SI < %s | FileCheck -check-prefix=SI %s
+
+; 3 vectors have the same size and alignment as 4 vectors, so this
+; should be done in a single store.
+
+; SI-LABEL: @store_v3i32:
+; SI: BUFFER_STORE_DWORDX4
+define void @store_v3i32(<3 x i32> addrspace(1)* %out, <3 x i32> %a) nounwind {
+  store <3 x i32> %a, <3 x i32> addrspace(1)* %out, align 16
+  ret void
+}

Copied: llvm/trunk/test/CodeGen/R600/store-v3i64.ll (from r204727, llvm/trunk/test/CodeGen/R600/store-v3.ll)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/R600/store-v3i64.ll?p2=llvm/trunk/test/CodeGen/R600/store-v3i64.ll&p1=llvm/trunk/test/CodeGen/R600/store-v3.ll&r1=204727&r2=204729&rev=204729&view=diff
==============================================================================
    (empty)





More information about the llvm-commits mailing list