(cmphi, movhi, movstricthi, extendhisi2): Correct generation of short integer (Halfword)

(cmphi, movhi, movstricthi, extendhisi2): Correct generation of short
integer (Halfword)
({add,sub,mul,and,ior,xor}hi3): Likewise.

From-SVN: r10379
This commit is contained in:
Richard Kenner 1995-09-19 19:29:18 -04:00
parent f2423e1975
commit 1fadfc48ed

View File

@ -1,7 +1,7 @@
;;- Machine description for GNU compiler -- System/370 version.
;; Copyright (C) 1989, 1993, 1994 Free Software Foundation, Inc.
;; Copyright (C) 1989, 1993, 1994, 1995 Free Software Foundation, Inc.
;; Contributed by Jan Stein (jan@cd.chalmers.se).
;; Modified for MVS C/370 by Dave Pitts (pitts@mcdata.com)
;; Modified for MVS C/370 by Dave Pitts (dpitts@nyx.cs.du.edu)
;; This file is part of GNU CC.
@ -266,8 +266,8 @@
}
if (GET_CODE (operands[1]) == CONST_INT)
{
mvs_check_page (0, 4, 2);
return \"CH %0,=H'%h1'\";
mvs_check_page (0, 4, 0);
return \"CH %0,%H1\";
}
mvs_check_page (0, 4, 0);
return \"CH %0,%1\";
@ -781,8 +781,8 @@ check_label_emit ();
}
if (GET_CODE (operands[1]) == CONST_INT)
{
mvs_check_page (0, 4, 2);
return \"LH %0,=H'%h1'\";
mvs_check_page (0, 4, 0);
return \"LH %0,%H1\";
}
mvs_check_page (0, 4, 0);
return \"LH %0,%1\";
@ -795,7 +795,7 @@ check_label_emit ();
if (GET_CODE (operands[1]) == CONST_INT)
{
mvs_check_page (0, 6, 0);
return \"MVC %O0(2,%R0),=H'%h1'\";
return \"MVC %O0(2,%R0),%H1\";
}
mvs_check_page (0, 6, 0);
return \"MVC %O0(2,%R0),%1\";
@ -829,8 +829,8 @@ check_label_emit ();
}
if (GET_CODE (operands[1]) == CONST_INT)
{
mvs_check_page (0, 4, 2);
return \"LH %0,=H'%h1'\";
mvs_check_page (0, 4, 0);
return \"LH %0,%H1\";
}
mvs_check_page (0, 4, 0);
return \"LH %0,%1\";
@ -965,8 +965,8 @@ check_label_emit ();
}
else if (GET_CODE (operands[1]) == CONST_INT)
{
mvs_check_page (0, 4, 2);
return \"ICM %0,3,=H'%h1'\";
mvs_check_page (0, 4, 0);
return \"ICM %0,3,%H1\";
}
mvs_check_page (0, 4, 0);
return \"ICM %0,3,%1\";
@ -1367,14 +1367,14 @@ check_label_emit ();
}
if (GET_CODE (operands[1]) == CONST_INT)
{
mvs_check_page (0, 4, 2);
return \"LH %0,=H'%h1'\";
mvs_check_page (0, 4, 0);
return \"LH %0,%H1\";
}
mvs_check_page (0, 4, 0);
return \"LH %0,%1\";
}
mvs_check_page (0, 4, 0);
return \"SLL %0,16\;SRA %0,16\;ST %1,%0\";
return \"SLL %1,16\;SRA %1,16\;ST %1,%0\";
}")
;
@ -1780,7 +1780,7 @@ check_label_emit ();
check_label_emit ();
if (REG_P (operands[2]))
{
mvs_check_page (0, 2, 0);
mvs_check_page (0, 8, 0);
return \"STH %2,140(,13)\;AH %0,140(,13)\";
}
if (GET_CODE (operands[2]) == CONST_INT)
@ -1791,8 +1791,8 @@ check_label_emit ();
mvs_check_page (0, 2, 0);
return \"BCTR %0,0\";
}
mvs_check_page (0, 4, 2);
return \"AH %0,=H'%h2'\";
mvs_check_page (0, 4, 0);
return \"AH %0,%H2\";
}
mvs_check_page (0, 4, 0);
return \"AH %0,%2\";
@ -1977,7 +1977,7 @@ check_label_emit ();
check_label_emit ();
if (REG_P (operands[2]))
{
mvs_check_page (0, 2, 0);
mvs_check_page (0, 8, 0);
return \"STH %2,140(,13)\;SH %0,140(,13)\";
}
if (operands[2] == const1_rtx)
@ -1988,8 +1988,8 @@ check_label_emit ();
}
if (GET_CODE (operands[2]) == CONST_INT)
{
mvs_check_page (0, 4, 2);
return \"SH %0,=H'%h2'\";
mvs_check_page (0, 4, 0);
return \"SH %0,%H2\";
}
mvs_check_page (0, 4, 0);
return \"SH %0,%2\";
@ -2125,7 +2125,7 @@ check_label_emit ();
{
check_label_emit ();
mvs_check_page (0, 4, 0);
return \"MH %0,%2\";
return \"MH %0,%H2\";
}")
(define_insn ""
@ -2551,13 +2551,13 @@ check_label_emit ();
if (REG_P (operands[0]))
{
mvs_check_page (0, 4, 0);
return \"N %0,%H2\";
return \"N %0,%2\";
}
CC_STATUS_INIT;
if (GET_CODE (operands[2]) == CONST_INT)
{
mvs_check_page (0, 6, 2);
return \"NC %O0(2,%R0),=H'%h2'\";
mvs_check_page (0, 6, 0);
return \"NC %O0(2,%R0),%H2\";
}
mvs_check_page (0, 6, 0);
return \"NC %O0(2,%R0),%2\";
@ -2574,7 +2574,7 @@ check_label_emit ();
if (GET_CODE (operands[2]) == CONST_INT)
{
mvs_check_page (0, 4, 0);
return \"N %0,%H2\";
return \"N %0,%2\";
}
mvs_check_page (0, 2, 0);
return \"NR %0,%2\";
@ -2720,13 +2720,13 @@ check_label_emit ();
if (REG_P (operands[0]))
{
mvs_check_page (0, 4, 0);
return \"O %0,%H2\";
return \"O %0,%2\";
}
CC_STATUS_INIT;
if (GET_CODE (operands[2]) == CONST_INT)
{
mvs_check_page (0, 6, 2);
return \"OC %O0(2,%R0),=H'%h2'\";
mvs_check_page (0, 6, 0);
return \"OC %O0(2,%R0),%H2\";
}
mvs_check_page (0, 6, 0);
return \"OC %O0(2,%R0),%2\";
@ -2743,7 +2743,7 @@ check_label_emit ();
if (GET_CODE (operands[2]) == CONST_INT)
{
mvs_check_page (0, 4, 0);
return \"O %0,%H2\";
return \"O %0,%2\";
}
mvs_check_page (0, 2, 0);
return \"OR %0,%2\";
@ -2890,13 +2890,13 @@ check_label_emit ();
if (REG_P (operands[0]))
{
mvs_check_page (0, 4, 0);
return \"X %0,%H2\";
return \"X %0,%2\";
}
CC_STATUS_INIT;
if (GET_CODE (operands[2]) == CONST_INT)
{
mvs_check_page (0, 6, 2);
return \"XC %O0(2,%R0),=H'%h2'\";
mvs_check_page (0, 6, 0);
return \"XC %O0(2,%R0),%H2\";
}
mvs_check_page (0, 6, 0);
return \"XC %O0(2,%R0),%2\";