re PR target/60941 (miscompilation of firefox javascript interpreter)

PR target/60941
	* config/sparc/sparc.md (ashlsi3_extend): Delete.

From-SVN: r209793
This commit is contained in:
Eric Botcazou 2014-04-25 10:47:44 +00:00 committed by Eric Botcazou
parent 19870e7094
commit 7ecf72e57b
4 changed files with 32 additions and 13 deletions

View File

@ -1,3 +1,8 @@
2014-04-25 Eric Botcazou <ebotcazou@adacore.com>
PR target/60941
* config/sparc/sparc.md (ashlsi3_extend): Delete.
2014-04-23 Uros Bizjak <ubizjak@gmail.com>
Backport from mainline

View File

@ -5607,19 +5607,6 @@
}
[(set_attr "type" "shift")])
(define_insn "*ashlsi3_extend"
[(set (match_operand:DI 0 "register_operand" "=r")
(zero_extend:DI
(ashift:SI (match_operand:SI 1 "register_operand" "r")
(match_operand:SI 2 "arith_operand" "rI"))))]
"TARGET_ARCH64"
{
if (GET_CODE (operands[2]) == CONST_INT)
operands[2] = GEN_INT (INTVAL (operands[2]) & 0x1f);
return "sll\t%1, %2, %0";
}
[(set_attr "type" "shift")])
(define_expand "ashldi3"
[(set (match_operand:DI 0 "register_operand" "=r")
(ashift:DI (match_operand:DI 1 "register_operand" "r")

View File

@ -1,3 +1,7 @@
2014-04-25 Eric Botcazou <ebotcazou@adacore.com>
* gcc.c-torture/execute/20140425-1.c: New test.
2014-04-23 Uros Bizjak <ubizjak@gmail.com>
Backport from mainline

View File

@ -0,0 +1,23 @@
/* PR target/60941 */
/* Reported by Martin Husemann <martin@netbsd.org> */
extern void abort (void);
static void __attribute__((noinline))
set (unsigned long *l)
{
*l = 31;
}
int main (void)
{
unsigned long l;
int i;
set (&l);
i = (int) l;
l = (unsigned long)(2U << i);
if (l != 0)
abort ();
return 0;
}