gcc/testsuite/
* gcc.target/mips/umips-lwp-1.c (foo): Use a shift/add sequence
involving both inputs rather than a multiplication involving one.
* gcc.target/mips/umips-lwp-2.c (foo): Likewise.
* gcc.target/mips/umips-lwp-3.c (foo): Likewise.
* gcc.target/mips/umips-lwp-4.c (foo): Likewise.
From-SVN: r212763
+2014-07-17 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc.target/mips/umips-lwp-1.c (foo): Use a shift/add sequence
+ involving both inputs rather than a multiplication involving one.
+ * gcc.target/mips/umips-lwp-2.c (foo): Likewise.
+ * gcc.target/mips/umips-lwp-3.c (foo): Likewise.
+ * gcc.target/mips/umips-lwp-4.c (foo): Likewise.
+
2014-07-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50961
{
int r5 = r4[0];
int r6 = r4[1];
- r4[2] = r5 * r5;
+ r4[2] = (r5 << 1) + r6;
{
register int r5asm asm ("$5") = r5;
register int r6asm asm ("$6") = r6;
{
int r5 = r4[0];
int r6 = r4[1];
- r4[2] = r6 * r6;
+ r4[2] = (r6 << 1) + r5;
{
register int r5asm asm ("$5") = r5;
register int r6asm asm ("$6") = r6;
{
int r5 = r4[511];
int r6 = r4[512];
- r4[2] = r5 * r5;
+ r4[2] = (r5 << 1) + r6;
{
register int r5asm asm ("$5") = r5;
register int r6asm asm ("$6") = r6;
{
int r5 = r4[511];
int r6 = r4[512];
- r4[2] = r6 * r6;
+ r4[2] = (r6 << 1) + r5;
{
register int r5asm asm ("$5") = r5;
register int r6asm asm ("$6") = r6;