arm.c (output_move_neon): Handle REG explicitly.
* config/arm/arm.c (output_move_neon): Handle REG explicitly. From-SVN: r212892
This commit is contained in:
parent
38303b1a3d
commit
8cde4e713a
|
@ -1,3 +1,7 @@
|
|||
2014-07-21 Bin Cheng <bin.cheng@arm.com>
|
||||
|
||||
* config/arm/arm.c (output_move_neon): Handle REG explicitly.
|
||||
|
||||
2014-07-21 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
PR target/61855
|
||||
|
|
|
@ -18551,6 +18551,20 @@ output_move_neon (rtx *operands)
|
|||
/* FIXME: Not currently enabled in neon_vector_mem_operand. */
|
||||
gcc_unreachable ();
|
||||
|
||||
case REG:
|
||||
/* We have to use vldm / vstm for too-large modes. */
|
||||
if (nregs > 1)
|
||||
{
|
||||
if (nregs > 4)
|
||||
templ = "v%smia%%?\t%%m0, %%h1";
|
||||
else
|
||||
templ = "v%s1.64\t%%h1, %%A0";
|
||||
|
||||
ops[0] = mem;
|
||||
ops[1] = reg;
|
||||
break;
|
||||
}
|
||||
/* Fall through. */
|
||||
case LABEL_REF:
|
||||
case PLUS:
|
||||
{
|
||||
|
@ -18584,14 +18598,7 @@ output_move_neon (rtx *operands)
|
|||
}
|
||||
|
||||
default:
|
||||
/* We have to use vldm / vstm for too-large modes. */
|
||||
if (nregs > 4)
|
||||
templ = "v%smia%%?\t%%m0, %%h1";
|
||||
else
|
||||
templ = "v%s1.64\t%%h1, %%A0";
|
||||
|
||||
ops[0] = mem;
|
||||
ops[1] = reg;
|
||||
gcc_unreachable ();
|
||||
}
|
||||
|
||||
sprintf (buff, templ, load ? "ld" : "st");
|
||||
|
|
Loading…
Reference in New Issue