(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:
parent
f2423e1975
commit
1fadfc48ed
@ -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\";
|
||||
|
Loading…
Reference in New Issue
Block a user