re PR target/25706 (invalid asm: "mov")

PR target/25706
	* gcc.dg/torture/pr25706-1.c: New test.

From-SVN: r109585
This commit is contained in:
Hans-Peter Nilsson 2006-01-11 13:45:03 +00:00 committed by Hans-Peter Nilsson
parent 9c5143260e
commit 29a6dbbb48
2 changed files with 40 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2006-01-11 Hans-Peter Nilsson <hp@axis.com>
PR target/25706
* gcc.dg/torture/pr25706-1.c: New test.
2006-01-11 Paolo Bonzini <bonzini@gnu.org>
PR tree-optimization/23109

View File

@ -0,0 +1,35 @@
/* { dg-do assemble } */
/* Invalid assembly generated due to port bug. */
struct tcp_opt {
unsigned int window_clamp;
unsigned int rcv_ssthresh;
unsigned short advmss;
};
extern int sysctl_tcp_app_win;
void tcp_init_buffer_space(struct tcp_opt *tp, int maxwin)
{
if (tp->window_clamp >= maxwin)
if (sysctl_tcp_app_win && maxwin>4*tp->advmss)
tp->window_clamp
= ({
int _x = maxwin;
typeof(4*tp->advmss) _y = (4*tp->advmss);
_x > _y ? _x : _y;
});
if (sysctl_tcp_app_win
&& tp->window_clamp > 2*tp->advmss
&& tp->window_clamp + tp->advmss > maxwin)
tp->window_clamp
= ({
unsigned short _x = maxwin;
unsigned short _y = (maxwin-tp->advmss);
_x > _y ? _x : _y;
});
tp->rcv_ssthresh
= ({
unsigned int _x = (tp->rcv_ssthresh);
unsigned int _y = (tp->window_clamp);
_x < _y ? _x : _y;
});
}