aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.dg/torture/pr52720.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.dg/torture/pr52720.c')
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.dg/torture/pr52720.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.dg/torture/pr52720.c b/gcc-4.9/gcc/testsuite/gcc.dg/torture/pr52720.c
new file mode 100644
index 000000000..528aa161b
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gcc.dg/torture/pr52720.c
@@ -0,0 +1,28 @@
+/* { dg-do compile } */
+/* { dg-options "-march=k8-sse3" { target x86_64-*-* } } */
+
+struct alu_bank_swizzle {
+ int hw_gpr[3][4];
+ int hw_cfile_addr[4];
+};
+static void init_bank_swizzle(struct alu_bank_swizzle *bs)
+{
+ int i, cycle, component;
+ for (cycle = 0; cycle < 3; cycle++)
+ for (component = 0; component < 4; component++)
+ bs->hw_gpr[cycle][component] = -1;
+ for (i = 0; i < 4; i++)
+ bs->hw_cfile_addr[i] = -1;
+}
+int check_and_set_bank_swizzle(int max_slots, int *slots)
+{
+ struct alu_bank_swizzle bs;
+ int i;
+ for (i = 0; i < max_slots; i++)
+ {
+ init_bank_swizzle(&bs);
+ if (slots[i])
+ check_vector(&bs);
+ }
+}
+