aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/20080922-1.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.c-torture/compile/20080922-1.c')
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.c-torture/compile/20080922-1.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/20080922-1.c b/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/20080922-1.c
new file mode 100644
index 000000000..853ec4f25
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/20080922-1.c
@@ -0,0 +1,29 @@
+typedef struct rtx_def *rtx;
+typedef struct rtvec_def *rtvec;
+enum rtx_code { PARALLEL, SET };
+union rtunion_def {
+ rtx rt_rtx;
+ rtvec rt_rtvec;
+};
+typedef union rtunion_def rtunion;
+struct rtx_def {
+ rtunion fld;
+};
+struct rtvec_def {
+ int num_elem;
+};
+extern rtx operand;
+
+rtx peephole2_insns (rtx x0, enum rtx_code code)
+{
+ switch (code)
+ {
+ case SET:
+ operand = (((x0)->fld).rt_rtx);
+ return operand;
+ case PARALLEL:
+ if ((((((x0)->fld).rt_rtvec))->num_elem) == 2)
+ return 0;
+ break;
+ }
+}