This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
S/390: Fix cmpint_di insn
- From: Ulrich Weigand <weigand at i1 dot informatik dot uni-erlangen dot de>
- To: gcc-patches at gcc dot gnu dot org
- Date: Sun, 30 Nov 2003 01:08:09 +0100 (CET)
- Subject: S/390: Fix cmpint_di insn
Hello,
this fixes the "cmpintdi" insn which was totally broken due to
incorrect instruction length assumptions.
Bootstrapped/regtested on s390-ibm-linux and s390x-ibm-linux.
Applied to CVS head and 3.3 branch.
Bye,
Ulrich
ChangeLog:
* config/s390/s390.md ("cmpint_di"): Fix incorrect instruction lengths.
Index: gcc/config/s390/s390.md
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/s390/s390.md,v
retrieving revision 1.84
diff -c -p -r1.84 s390.md
*** gcc/config/s390/s390.md 30 Oct 2003 14:11:34 -0000 1.84
--- gcc/config/s390/s390.md 28 Nov 2003 21:09:38 -0000
***************
*** 2155,2167 ****
"TARGET_64BIT"
{
output_asm_insn ("lghi\t%0,1", operands);
! output_asm_insn ("jh\t.+12", operands);
! output_asm_insn ("jl\t.+6", operands);
output_asm_insn ("sgr\t%0,%0", operands);
return "lcgr\t%0,%0";
}
[(set_attr "op_type" "NN")
! (set_attr "length" "22")
(set_attr "type" "other")])
--- 2157,2169 ----
"TARGET_64BIT"
{
output_asm_insn ("lghi\t%0,1", operands);
! output_asm_insn ("jh\t.+16", operands);
! output_asm_insn ("jl\t.+8", operands);
output_asm_insn ("sgr\t%0,%0", operands);
return "lcgr\t%0,%0";
}
[(set_attr "op_type" "NN")
! (set_attr "length" "20")
(set_attr "type" "other")])
--
Dr. Ulrich Weigand
weigand@informatik.uni-erlangen.de