re PR middle-end/37316 (Small structs are not passed correctly on hppa64-*-*)
2008-10-26 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> PR middle-end/37316 * pa.c (function_arg_padding): Pad complex and vector types upward in 64-bit runtime. (function_arg): Use BLKmode for PARALLEL in 64-bit runtime. From-SVN: r141380
This commit is contained in:
parent
0c3c56b780
commit
c3e39a4729
|
@ -1,3 +1,10 @@
|
||||||
|
2008-10-26 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
||||||
|
|
||||||
|
PR middle-end/37316
|
||||||
|
* pa.c (function_arg_padding): Pad complex and vector types upward in
|
||||||
|
64-bit runtime.
|
||||||
|
(function_arg): Use BLKmode for PARALLEL in 64-bit runtime.
|
||||||
|
|
||||||
2008-10-26 Matthias Klose <doko@ubuntu.com>
|
2008-10-26 Matthias Klose <doko@ubuntu.com>
|
||||||
|
|
||||||
* doc/install.texi: Document requirements on antlr.
|
* doc/install.texi: Document requirements on antlr.
|
||||||
|
|
|
@ -5888,7 +5888,11 @@ enum direction
|
||||||
function_arg_padding (enum machine_mode mode, const_tree type)
|
function_arg_padding (enum machine_mode mode, const_tree type)
|
||||||
{
|
{
|
||||||
if (mode == BLKmode
|
if (mode == BLKmode
|
||||||
|| (TARGET_64BIT && type && AGGREGATE_TYPE_P (type)))
|
|| (TARGET_64BIT
|
||||||
|
&& type
|
||||||
|
&& (AGGREGATE_TYPE_P (type)
|
||||||
|
|| TREE_CODE (type) == COMPLEX_TYPE
|
||||||
|
|| TREE_CODE (type) == VECTOR_TYPE)))
|
||||||
{
|
{
|
||||||
/* Return none if justification is not required. */
|
/* Return none if justification is not required. */
|
||||||
if (type
|
if (type
|
||||||
|
@ -9277,7 +9281,7 @@ function_arg (CUMULATIVE_ARGS *cum, enum machine_mode mode, tree type,
|
||||||
offset += 8;
|
offset += 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
return gen_rtx_PARALLEL (mode, gen_rtvec_v (ub, loc));
|
return gen_rtx_PARALLEL (BLKmode, gen_rtvec_v (ub, loc));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in New Issue