Commit 0e26cf79 by Christian Bruel

re PR target/58475 (SH4 insn swapb does not satisfy its constraints:)

2013-09-23  Christian Bruel  <christian.bruel@st.com>

        PR target/58475
        * config/sh/sh.md (movsf_ie): Allow fpul_operand.
        * config/sh/predicate.md (arith_reg_operand): Disallow FPUL_REG.

From-SVN: r202825
parent 4d0e5b54
2013-09-23 Christian Bruel <christian.bruel@st.com>
PR target/58475
* config/sh/sh.md (movsf_ie): Allow fpul_operand.
* config/sh/predicate.md (arith_reg_operand): Disallow FPUL_REG.
2013-09-23 James Greenhalgh <james.greenhalgh@arm.com>
Revert r202780:
......@@ -7,6 +13,7 @@
(aarch64_expand_epilogue): Likewise.
(aarch64_legitimize_reload_address): Likewise.
>>>>>>> .r202824
2013-09-22 Eric Botcazou <ebotcazou@adacore.com>
* gimplify.c (gimplify_asm_expr): Reset the TREE_CHAIN of clobbers to
......
......@@ -154,7 +154,7 @@
return (regno != T_REG && regno != PR_REG
&& ! TARGET_REGISTER_P (regno)
&& (regno != FPUL_REG || TARGET_SH4)
&& regno != FPUL_REG
&& regno != MACH_REG && regno != MACL_REG);
}
/* Allow a no-op sign extension - compare LOAD_EXTEND_OP.
......
......@@ -8203,15 +8203,9 @@ label:
(use (match_operand:PSI 2 "fpscr_operand" "c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c"))
(clobber (match_scratch:SI 3 "=X,X,Bsc,Bsc,&z,X,X,X,X,X,X,X,X,y,X,X,X,X,X"))]
"TARGET_SH2E
&& (arith_reg_operand (operands[0], SFmode)
|| arith_reg_operand (operands[1], SFmode)
|| arith_reg_operand (operands[3], SImode)
|| (fpul_operand (operands[0], SFmode)
&& memory_operand (operands[1], SFmode)
&& GET_CODE (XEXP (operands[1], 0)) == POST_INC)
|| (fpul_operand (operands[1], SFmode)
&& memory_operand (operands[0], SFmode)
&& GET_CODE (XEXP (operands[0], 0)) == PRE_DEC))"
&& (arith_reg_operand (operands[0], SFmode) || fpul_operand (operands[0], SFmode)
|| arith_reg_operand (operands[1], SFmode) || fpul_operand (operands[1], SFmode)
|| arith_reg_operand (operands[3], SImode))"
"@
fmov %1,%0
mov %1,%0
......
2013-09-23 Christian Bruel <christian.bruel@st.com>
PR target/58475
* gcc.target/sh/torture/pr58475.c: New test.
2013-09-23 Janus Weil <janus@gcc.gnu.org>
PR fortran/58355
......
/* { dg-do compile { target "sh*-*-*" } } */
int
kerninfo(int __bsx, double tscale)
{
return (
(int)(__extension__
({
((((__bsx) & 0xff000000u) >> 24)
| (((__bsx) & 0x00ff0000) >> 8)
| (((__bsx) & 0x0000ff00) << 8)
| (((__bsx) & 0x000000ff) << 24)
); }))
* tscale);
}
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