"on the rare occasion the SPU BE produces illegal assembly - it tries to emit an add instruction of the form 'a reg, reg, imm'."
Patch by Kalle Raiskila!
llvm-svn: 103021
diff --git a/llvm/test/CodeGen/CellSPU/storestruct.ll b/llvm/test/CodeGen/CellSPU/storestruct.ll
new file mode 100644
index 0000000..47185e8
--- /dev/null
+++ b/llvm/test/CodeGen/CellSPU/storestruct.ll
@@ -0,0 +1,13 @@
+; RUN: llc < %s -march=cellspu | FileCheck %s
+
+%0 = type {i32, i32}
+@buffer = global [ 72 x %0 ] zeroinitializer
+
+define void@test( ) {
+; Check that there is no illegal "a rt, ra, imm" instruction
+; CHECK-NOT: a {{\$., \$., 5..}}
+; CHECK: a {{\$., \$., \$.}}
+ store %0 {i32 1, i32 2} ,
+ %0* getelementptr ([72 x %0]* @buffer, i32 0, i32 71)
+ ret void
+}