aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.c-torture/compile/pr22269.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/compile/pr22269.c')
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/pr22269.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr22269.c b/gcc/testsuite/gcc.c-torture/compile/pr22269.c
new file mode 100644
index 00000000000..bfcf209266c
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/pr22269.c
@@ -0,0 +1,16 @@
+/* We used to ICE in tree-ssa-reassoc because we did look at the correct operand to
+ see if it was a SSA_NAME. */
+int printf(const char*, ...);
+int main(int argv, char*argc) {
+
+ int d1;
+ int d2;
+ int s1, s2;
+ int b;
+ ((d1)&=(int)0x0000ffffL, (d1)|=((int)(short)(0x344))<<16);
+ ((d1)&=(int)0xffff0000UL, (d1)|=(int)(unsigned short)(0x4567));
+ ((d2)&=(int)0x0000ffffL, (d2)|=((int)(short)(0))<<16);
+ ((d2)&=(int)0xffff0000UL, (d2)|=(int)(unsigned short)(0x3b9a));
+ printf(" dividend >>: %ld\n", d1);
+ printf(" divisor >>: %ld\n", d2);
+}