Commit f3da5375 by Jeff Law Committed by Jeff Law

pa.md (add-with-constant splitter): Use ASHIFT rather than MULT for shadd sequences.

	* config/pa/pa.md (add-with-constant splitter): Use ASHIFT rather
	than MULT for shadd sequences.

	* gcc.target/hppa/shadd-4.c: New test.

From-SVN: r223495
parent 65d93263
2015-05-21 Jeff Law <law@redhat.com>
* config/pa/pa.md (add-with-constant splitter): Use ASHIFT rather
than MULT for shadd sequences.
2015-05-08 Jan Hubicka <hubicka@ucw.cz>
* alias.c (alias_stats): New static var.
......
......@@ -5132,7 +5132,7 @@
(clobber (match_operand:SI 4 "register_operand" ""))]
"! pa_cint_ok_for_move (INTVAL (operands[2]))"
[(set (match_dup 4) (match_dup 2))
(set (match_dup 0) (plus:SI (mult:SI (match_dup 4) (match_dup 3))
(set (match_dup 0) (plus:SI (ashift:SI (match_dup 4) (match_dup 3))
(match_dup 1)))]
"
{
......@@ -5147,17 +5147,17 @@
if (intval % 2 == 0 && pa_cint_ok_for_move (intval / 2))
{
operands[2] = GEN_INT (intval / 2);
operands[3] = const2_rtx;
operands[3] = const1_rtx;
}
else if (intval % 4 == 0 && pa_cint_ok_for_move (intval / 4))
{
operands[2] = GEN_INT (intval / 4);
operands[3] = GEN_INT (4);
operands[3] = const2_rtx;
}
else if (intval % 8 == 0 && pa_cint_ok_for_move (intval / 8))
{
operands[2] = GEN_INT (intval / 8);
operands[3] = GEN_INT (8);
operands[3] = GEN_INT (3);
}
else if (pa_cint_ok_for_move (-intval))
{
......
2015-05-21 Jeff Law <law@redhat.com>
* gcc.target/hppa/shadd-4.c: New test.
2015-05-08 Michael Matz <matz@suse.de>
* gcc.dg/vect/vect-strided-store.c: New test.
......
/* { dg-do compile } */
/* { dg-options "-O2" } */
/* { dg-final { scan-assembler-times "sh.add" 1 } } */
unsigned int
oof (int uid)
{
return (174 << 7) + uid;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment