[llvm] r207017 - R600: Add a test that used to be broken that I forgot to add

Matt Arsenault Matthew.Arsenault at amd.com
Wed Apr 23 12:45:05 PDT 2014


Author: arsenm
Date: Wed Apr 23 14:45:05 2014
New Revision: 207017

URL: http://llvm.org/viewvc/llvm-project?rev=207017&view=rev
Log:
R600: Add a test that used to be broken that I forgot to add

Added:
    llvm/trunk/test/CodeGen/R600/extract_vector_elt_i16.ll

Added: llvm/trunk/test/CodeGen/R600/extract_vector_elt_i16.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/R600/extract_vector_elt_i16.ll?rev=207017&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/R600/extract_vector_elt_i16.ll (added)
+++ llvm/trunk/test/CodeGen/R600/extract_vector_elt_i16.ll Wed Apr 23 14:45:05 2014
@@ -0,0 +1,29 @@
+; RUN: llc -march=r600 -mcpu=SI < %s | FileCheck -check-prefix=SI -check-prefix=FUNC %s
+
+; FUNC-LABEL: @extract_vector_elt_v2i16
+; SI: BUFFER_LOAD_USHORT
+; SI: BUFFER_STORE_SHORT
+; SI: BUFFER_LOAD_USHORT
+; SI: BUFFER_STORE_SHORT
+define void @extract_vector_elt_v2i16(i16 addrspace(1)* %out, <2 x i16> %foo) nounwind {
+  %p0 = extractelement <2 x i16> %foo, i32 0
+  %p1 = extractelement <2 x i16> %foo, i32 1
+  %out1 = getelementptr i16 addrspace(1)* %out, i32 1
+  store i16 %p1, i16 addrspace(1)* %out, align 2
+  store i16 %p0, i16 addrspace(1)* %out1, align 2
+  ret void
+}
+
+; FUNC-LABEL: @extract_vector_elt_v4i16
+; SI: BUFFER_LOAD_USHORT
+; SI: BUFFER_STORE_SHORT
+; SI: BUFFER_LOAD_USHORT
+; SI: BUFFER_STORE_SHORT
+define void @extract_vector_elt_v4i16(i16 addrspace(1)* %out, <4 x i16> %foo) nounwind {
+  %p0 = extractelement <4 x i16> %foo, i32 0
+  %p1 = extractelement <4 x i16> %foo, i32 2
+  %out1 = getelementptr i16 addrspace(1)* %out, i32 1
+  store i16 %p1, i16 addrspace(1)* %out, align 2
+  store i16 %p0, i16 addrspace(1)* %out1, align 2
+  ret void
+}





More information about the llvm-commits mailing list