tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
authorSteve Ellcey <sje@cup.hp.com>
Mon, 9 Dec 2002 17:54:07 +0000 (17:54 +0000)
committerSteve Ellcey <sje@gcc.gnu.org>
Mon, 9 Dec 2002 17:54:07 +0000 (17:54 +0000)
* doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
* defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
* calls.c (store_unaligned_arguments_into_pseudos) Remove
FUNCTION_ARG_REG_LITTLE_ENDIAN.
* stmt.c (expand_return): Ditto.
* expr.c (move_block_from_reg): Ditto.
(copy_blkmode_from_reg): Ditto.
* expmed.c (store_bit_field): Ditto.

From-SVN: r59962

gcc/ChangeLog
gcc/calls.c
gcc/defaults.h
gcc/doc/tm.texi
gcc/expmed.c
gcc/expr.c
gcc/stmt.c

index 6ec9883..3cb1aa8 100644 (file)
@@ -1,3 +1,14 @@
+2002-12-09  Steve Ellcey  <sje@cup.hp.com>
+
+       * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
+       * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
+       * calls.c (store_unaligned_arguments_into_pseudos) Remove
+       FUNCTION_ARG_REG_LITTLE_ENDIAN.
+       * stmt.c (expand_return): Ditto.
+       * expr.c (move_block_from_reg): Ditto.
+       (copy_blkmode_from_reg): Ditto.
+       * expmed.c (store_bit_field): Ditto. 
+
 2002-12-09  Svein E. Seldal  <Svein.Seldal@solidas.com>
 
        * config.gcc: Added tic4x-* target as an alias to c4x-*
index 99722b5..41725b5 100644 (file)
@@ -1071,7 +1071,6 @@ store_unaligned_arguments_into_pseudos (args, num_actuals)
           this means we must skip the empty high order bytes when
           calculating the bit offset.  */
        if (BYTES_BIG_ENDIAN
-           && !FUNCTION_ARG_REG_LITTLE_ENDIAN
            && bytes < UNITS_PER_WORD)
          big_endian_correction = (BITS_PER_WORD  - (bytes * BITS_PER_UNIT));
 
index a3b5f7e..0c71996 100644 (file)
@@ -513,16 +513,6 @@ You Lose!  You must define PREFERRED_DEBUGGING_TYPE!
 #define PREFERRED_DEBUGGING_TYPE NO_DEBUG
 #endif
 
-/* This is set to 1 if BYTES_BIG_ENDIAN is defined but the target uses a
-   little-endian method of passing and returning structures in registers.
-   On the HP-UX IA64 and PA64 platforms structures are aligned differently
-   then integral values and setting this value to 1 will allow for the
-   special handling of structure arguments and return values in regs.  */
-
-#ifndef FUNCTION_ARG_REG_LITTLE_ENDIAN
-#define FUNCTION_ARG_REG_LITTLE_ENDIAN 0
-#endif
-
 /* Define codes for all the float formats that we know of.  */
 #define UNKNOWN_FLOAT_FORMAT 0
 #define IEEE_FLOAT_FORMAT 1
index b8f2b93..342f609 100644 (file)
@@ -3584,14 +3584,6 @@ nonzero, the caller does not make a copy.  Instead, it passes a pointer to the
 determined that the value won't be modified, it need not make a copy;
 otherwise a copy must be made.
 
-@findex FUNCTION_ARG_REG_LITTLE_ENDIAN
-@item FUNCTION_ARG_REG_LITTLE_ENDIAN
-If defined TRUE on a big-endian system then structure arguments passed
-(and returned) in registers are passed in a little-endian manner instead of
-the big-endian manner.  On the HP-UX IA64 and PA64 platforms structures are
-aligned differently then integral values and setting this value to true will
-allow for the special handling of structure arguments and return values.
-
 @findex CUMULATIVE_ARGS
 @item CUMULATIVE_ARGS
 A C type for declaring a variable that is used as the first argument of
index d1c89f2..5eb933c 100644 (file)
@@ -404,7 +404,6 @@ store_bit_field (str_rtx, bitsize, bitnum, fieldmode, value, total_size)
      But as we have it, it counts within whatever size OP0 now has.
      On a bigendian machine, these are not the same, so convert.  */
   if (BYTES_BIG_ENDIAN
-      && !FUNCTION_ARG_REG_LITTLE_ENDIAN
       && GET_CODE (op0) != MEM
       && unit > GET_MODE_BITSIZE (GET_MODE (op0)))
     bitpos += unit - GET_MODE_BITSIZE (GET_MODE (op0));
index 144bc00..85d329f 100644 (file)
@@ -2147,8 +2147,7 @@ move_block_from_reg (regno, x, nregs, size)
   /* If SIZE is that of a mode no bigger than a word, just use that
      mode's store operation.  */
   if (size <= UNITS_PER_WORD
-      && (mode = mode_for_size (size * BITS_PER_UNIT, MODE_INT, 0)) != BLKmode
-      && !FUNCTION_ARG_REG_LITTLE_ENDIAN)
+      && (mode = mode_for_size (size * BITS_PER_UNIT, MODE_INT, 0)) != BLKmode)
     {
       emit_move_insn (adjust_address (x, mode, 0), gen_rtx_REG (mode, regno));
       return;
@@ -2157,9 +2156,7 @@ move_block_from_reg (regno, x, nregs, size)
   /* Blocks smaller than a word on a BYTES_BIG_ENDIAN machine must be aligned
      to the left before storing to memory.  Note that the previous test
      doesn't handle all cases (e.g. SIZE == 3).  */
-  if (size < UNITS_PER_WORD
-      && BYTES_BIG_ENDIAN
-      && !FUNCTION_ARG_REG_LITTLE_ENDIAN)
+  if (size < UNITS_PER_WORD && BYTES_BIG_ENDIAN)
     {
       rtx tem = operand_subword (x, 0, 1, BLKmode);
       rtx shift;
@@ -2523,26 +2520,17 @@ copy_blkmode_from_reg (tgtblk, srcreg, type)
     }
 
   /* This code assumes srcreg is at least a full word.  If it isn't, copy it
-     into a new pseudo which is a full word.
+     into a new pseudo which is a full word.  */
 
-     If FUNCTION_ARG_REG_LITTLE_ENDIAN is set and convert_to_mode does a copy,
-     the wrong part of the register gets copied so we fake a type conversion
-     in place.  */
   if (GET_MODE (srcreg) != BLKmode
       && GET_MODE_SIZE (GET_MODE (srcreg)) < UNITS_PER_WORD)
-    {
-      if (FUNCTION_ARG_REG_LITTLE_ENDIAN)
-       srcreg = simplify_gen_subreg (word_mode, srcreg, GET_MODE (srcreg), 0);
-      else
-       srcreg = convert_to_mode (word_mode, srcreg, TREE_UNSIGNED (type));
-    }
+    srcreg = convert_to_mode (word_mode, srcreg, TREE_UNSIGNED (type));
 
   /* Structures whose size is not a multiple of a word are aligned
      to the least significant byte (to the right).  On a BYTES_BIG_ENDIAN
      machine, this means we must skip the empty high order bytes when
      calculating the bit offset.  */
   if (BYTES_BIG_ENDIAN
-      && !FUNCTION_ARG_REG_LITTLE_ENDIAN
       && bytes % UNITS_PER_WORD)
     big_endian_correction
       = (BITS_PER_WORD - ((bytes % UNITS_PER_WORD) * BITS_PER_UNIT));
index 360abe1..fdae2b8 100644 (file)
@@ -3106,7 +3106,6 @@ expand_return (retval)
         machine, this means we must skip the empty high order bytes when
         calculating the bit offset.  */
       if (BYTES_BIG_ENDIAN
-         && !FUNCTION_ARG_REG_LITTLE_ENDIAN
          && bytes % UNITS_PER_WORD)
        big_endian_correction = (BITS_PER_WORD - ((bytes % UNITS_PER_WORD)
                                                  * BITS_PER_UNIT));