mirror of git://gcc.gnu.org/git/gcc.git
PR target/11607 and PR target/11516
PR target/11607 and PR target/11516 * pa.md (extzv, extv, insv): Revert latter half of last patch. From-SVN: r69707
This commit is contained in:
parent
ed6d741317
commit
9d6b7c0988
|
|
@ -1,3 +1,8 @@
|
||||||
|
2003-07-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
||||||
|
|
||||||
|
PR target/11607 and PR target/11516
|
||||||
|
* pa.md (extzv, extv, insv): Revert latter half of last patch.
|
||||||
|
|
||||||
2003-07-22 Mark Mitchell <mark@codesourcery.com>
|
2003-07-22 Mark Mitchell <mark@codesourcery.com>
|
||||||
|
|
||||||
* fold-const.c (force_fit_type): Handle OFFSET_TYPE.
|
* fold-const.c (force_fit_type): Handle OFFSET_TYPE.
|
||||||
|
|
|
||||||
|
|
@ -7158,17 +7158,12 @@
|
||||||
FAIL;
|
FAIL;
|
||||||
|
|
||||||
if (TARGET_64BIT)
|
if (TARGET_64BIT)
|
||||||
{
|
emit_insn (gen_extzv_64 (operands[0], operands[1],
|
||||||
if ((unsigned HOST_WIDE_INT) INTVAL (operands[2]) > 64
|
operands[2], operands[3]));
|
||||||
|| (unsigned HOST_WIDE_INT) INTVAL (operands[3]) > 63)
|
|
||||||
FAIL;
|
|
||||||
emit_insn (gen_extzv_64 (operands[0], operands[1],
|
|
||||||
operands[2], operands[3]));
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if ((unsigned HOST_WIDE_INT) INTVAL (operands[2]) > 32
|
if (! uint5_operand (operands[2], SImode)
|
||||||
|| (unsigned HOST_WIDE_INT) INTVAL (operands[3]) > 31)
|
|| ! uint5_operand (operands[3], SImode))
|
||||||
FAIL;
|
FAIL;
|
||||||
emit_insn (gen_extzv_32 (operands[0], operands[1],
|
emit_insn (gen_extzv_32 (operands[0], operands[1],
|
||||||
operands[2], operands[3]));
|
operands[2], operands[3]));
|
||||||
|
|
@ -7179,8 +7174,8 @@
|
||||||
(define_insn "extzv_32"
|
(define_insn "extzv_32"
|
||||||
[(set (match_operand:SI 0 "register_operand" "=r")
|
[(set (match_operand:SI 0 "register_operand" "=r")
|
||||||
(zero_extract:SI (match_operand:SI 1 "register_operand" "r")
|
(zero_extract:SI (match_operand:SI 1 "register_operand" "r")
|
||||||
(match_operand:SI 2 "uint32_operand" "")
|
(match_operand:SI 2 "uint5_operand" "")
|
||||||
(match_operand:SI 3 "uint32_operand" "")))]
|
(match_operand:SI 3 "uint5_operand" "")))]
|
||||||
""
|
""
|
||||||
"{extru|extrw,u} %1,%3+%2-1,%2,%0"
|
"{extru|extrw,u} %1,%3+%2-1,%2,%0"
|
||||||
[(set_attr "type" "shift")
|
[(set_attr "type" "shift")
|
||||||
|
|
@ -7229,17 +7224,12 @@
|
||||||
FAIL;
|
FAIL;
|
||||||
|
|
||||||
if (TARGET_64BIT)
|
if (TARGET_64BIT)
|
||||||
{
|
emit_insn (gen_extv_64 (operands[0], operands[1],
|
||||||
if ((unsigned HOST_WIDE_INT) INTVAL (operands[2]) > 64
|
operands[2], operands[3]));
|
||||||
|| (unsigned HOST_WIDE_INT) INTVAL (operands[3]) > 63)
|
|
||||||
FAIL;
|
|
||||||
emit_insn (gen_extv_64 (operands[0], operands[1],
|
|
||||||
operands[2], operands[3]));
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if ((unsigned HOST_WIDE_INT) INTVAL (operands[2]) > 32
|
if (! uint5_operand (operands[2], SImode)
|
||||||
|| (unsigned HOST_WIDE_INT) INTVAL (operands[3]) > 31)
|
|| ! uint5_operand (operands[3], SImode))
|
||||||
FAIL;
|
FAIL;
|
||||||
emit_insn (gen_extv_32 (operands[0], operands[1],
|
emit_insn (gen_extv_32 (operands[0], operands[1],
|
||||||
operands[2], operands[3]));
|
operands[2], operands[3]));
|
||||||
|
|
@ -7250,8 +7240,8 @@
|
||||||
(define_insn "extv_32"
|
(define_insn "extv_32"
|
||||||
[(set (match_operand:SI 0 "register_operand" "=r")
|
[(set (match_operand:SI 0 "register_operand" "=r")
|
||||||
(sign_extract:SI (match_operand:SI 1 "register_operand" "r")
|
(sign_extract:SI (match_operand:SI 1 "register_operand" "r")
|
||||||
(match_operand:SI 2 "uint32_operand" "")
|
(match_operand:SI 2 "uint5_operand" "")
|
||||||
(match_operand:SI 3 "uint32_operand" "")))]
|
(match_operand:SI 3 "uint5_operand" "")))]
|
||||||
""
|
""
|
||||||
"{extrs|extrw,s} %1,%3+%2-1,%2,%0"
|
"{extrs|extrw,s} %1,%3+%2-1,%2,%0"
|
||||||
[(set_attr "type" "shift")
|
[(set_attr "type" "shift")
|
||||||
|
|
@ -7297,17 +7287,12 @@
|
||||||
"
|
"
|
||||||
{
|
{
|
||||||
if (TARGET_64BIT)
|
if (TARGET_64BIT)
|
||||||
{
|
emit_insn (gen_insv_64 (operands[0], operands[1],
|
||||||
if ((unsigned HOST_WIDE_INT) INTVAL (operands[2]) > 64
|
operands[2], operands[3]));
|
||||||
|| (unsigned HOST_WIDE_INT) INTVAL (operands[3]) > 63)
|
|
||||||
FAIL;
|
|
||||||
emit_insn (gen_insv_64 (operands[0], operands[1],
|
|
||||||
operands[2], operands[3]));
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if ((unsigned HOST_WIDE_INT) INTVAL (operands[2]) > 32
|
if (! uint5_operand (operands[2], SImode)
|
||||||
|| (unsigned HOST_WIDE_INT) INTVAL (operands[3]) > 31)
|
|| ! uint5_operand (operands[3], SImode))
|
||||||
FAIL;
|
FAIL;
|
||||||
emit_insn (gen_insv_32 (operands[0], operands[1],
|
emit_insn (gen_insv_32 (operands[0], operands[1],
|
||||||
operands[2], operands[3]));
|
operands[2], operands[3]));
|
||||||
|
|
@ -7317,8 +7302,8 @@
|
||||||
|
|
||||||
(define_insn "insv_32"
|
(define_insn "insv_32"
|
||||||
[(set (zero_extract:SI (match_operand:SI 0 "register_operand" "+r,r")
|
[(set (zero_extract:SI (match_operand:SI 0 "register_operand" "+r,r")
|
||||||
(match_operand:SI 1 "uint32_operand" "")
|
(match_operand:SI 1 "uint5_operand" "")
|
||||||
(match_operand:SI 2 "uint32_operand" ""))
|
(match_operand:SI 2 "uint5_operand" ""))
|
||||||
(match_operand:SI 3 "arith5_operand" "r,L"))]
|
(match_operand:SI 3 "arith5_operand" "r,L"))]
|
||||||
""
|
""
|
||||||
"@
|
"@
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue