diff options
author | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1995-09-19 23:29:18 +0000 |
---|---|---|
committer | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1995-09-19 23:29:18 +0000 |
commit | 00681dab71feeb6cea8f7b7c207a6d2f65b78564 (patch) | |
tree | 1f748efc0c390c0da605d0cb8fab8475ea4bc4de /gcc/config/i370 | |
parent | 0c6f865d0295bbf4f7a8c628a1c1fcc26615e945 (diff) | |
download | gcc-00681dab71feeb6cea8f7b7c207a6d2f65b78564.tar.gz |
(cmphi, movhi, movstricthi, extendhisi2): Correct generation of short
integer (Halfword)
({add,sub,mul,and,ior,xor}hi3): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10379 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/i370')
-rw-r--r-- | gcc/config/i370/i370.md | 64 |
1 files changed, 32 insertions, 32 deletions
diff --git a/gcc/config/i370/i370.md b/gcc/config/i370/i370.md index e7bcfef4600..2e4e3b74ec2 100644 --- a/gcc/config/i370/i370.md +++ b/gcc/config/i370/i370.md @@ -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\"; |