re PR target/14201 (float -> int (in mem) with -mieee causes unrecognizable insn+segv)

PR target/14201
	* config/alpha/alpha.md (*fix_truncsfsi_ieee): Fix typoed operand
	numbers.
	* gcc.c-torture/compile/fix-trunc-mem-1.c: New test.

From-SVN: r78188
This commit is contained in:
Falk Hueffner 2004-02-20 23:13:16 +01:00 committed by Falk Hueffner
parent 2ae5c78565
commit f4d9988bb3
4 changed files with 25 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2004-02-20 Falk Hueffner <falk@debian.org>
PR target/14201
* config/alpha/alpha.md (*fix_truncsfsi_ieee): Fix typoed operand
numbers.
2004-02-20 Per Bothner <per@bothner.com>
* input.h: Don't #include line-map.h. It may cause link problems

View File

@ -2403,9 +2403,9 @@
"&& reload_completed"
[(set (match_dup 2) (match_op_dup 4 [(float_extend:DF (match_dup 1))]))
(set (match_dup 3) (unspec:SF [(match_dup 2)] UNSPEC_CVTQL))
(set (match_dup 4) (match_dup 3))]
(set (match_dup 5) (match_dup 3))]
{
operands[4] = adjust_address (operands[0], SFmode, 0);
operands[5] = adjust_address (operands[0], SFmode, 0);
}
[(set_attr "type" "fadd")
(set_attr "trap" "yes")])

View File

@ -1,3 +1,8 @@
2004-02-20 Falk Hueffner <falk@debian.org>
PR target/14201
* gcc.c-torture/compile/fix-trunc-mem-1.c: New test.
2004-02-20 Mark Mitchell <mark@codesourcery.com>
PR c++/13927

View File

@ -0,0 +1,12 @@
/* PR target/14201 */
/* Excercise float -> integer in memory patterns. */
/* { dg-options "-mieee" { target alpha*-*-* } } */
void f1 (float v, int *p) { *p = v; }
void f2 (float v, unsigned int*p) { *p = v; }
void f3 (float v, long long *p) { *p = v; }
void f4 (float v, unsigned long long *p) { *p = v; }
void f5 (double v, int *p) { *p = v; }
void f6 (double v, unsigned int *p) { *p = v; }
void f7 (double v, long long *p) { *p = v; }
void f8 (double v, unsigned long long *p) { *p = v; }