diff options
Diffstat (limited to 'gcc/expr.c')
-rw-r--r-- | gcc/expr.c | 26 |
1 files changed, 10 insertions, 16 deletions
@@ -1710,7 +1710,7 @@ emit_group_load_1 (rtx *tmps, rtx dst, rtx orig_src, tree type, int ssize) && (!REG_P (tmps[i]) || GET_MODE (tmps[i]) != mode)) tmps[i] = extract_bit_field (tmps[i], bytelen * BITS_PER_UNIT, (bytepos % slen0) * BITS_PER_UNIT, - 1, false, NULL_RTX, mode, mode); + 1, NULL_RTX, mode, mode); } else { @@ -1720,7 +1720,7 @@ emit_group_load_1 (rtx *tmps, rtx dst, rtx orig_src, tree type, int ssize) mem = assign_stack_temp (GET_MODE (src), slen); emit_move_insn (mem, src); tmps[i] = extract_bit_field (mem, bytelen * BITS_PER_UNIT, - 0, 1, false, NULL_RTX, mode, mode); + 0, 1, NULL_RTX, mode, mode); } } /* FIXME: A SIMD parallel will eventually lead to a subreg of a @@ -1761,7 +1761,7 @@ emit_group_load_1 (rtx *tmps, rtx dst, rtx orig_src, tree type, int ssize) tmps[i] = src; else tmps[i] = extract_bit_field (src, bytelen * BITS_PER_UNIT, - bytepos * BITS_PER_UNIT, 1, false, NULL_RTX, + bytepos * BITS_PER_UNIT, 1, NULL_RTX, mode, mode); if (shift) @@ -2204,7 +2204,7 @@ copy_blkmode_from_reg (rtx target, rtx srcreg, tree type) bitpos for the destination store (left justified). */ store_bit_field (dst, bitsize, bitpos % BITS_PER_WORD, 0, 0, copy_mode, extract_bit_field (src, bitsize, - xbitpos % BITS_PER_WORD, 1, false, + xbitpos % BITS_PER_WORD, 1, NULL_RTX, copy_mode, copy_mode)); } } @@ -2281,7 +2281,7 @@ copy_blkmode_to_reg (enum machine_mode mode, tree src) store_bit_field (dst_word, bitsize, xbitpos % BITS_PER_WORD, 0, 0, word_mode, extract_bit_field (src_word, bitsize, - bitpos % BITS_PER_WORD, 1, false, + bitpos % BITS_PER_WORD, 1, NULL_RTX, word_mode, word_mode)); } @@ -3029,7 +3029,7 @@ read_complex_part (rtx cplx, bool imag_p) } return extract_bit_field (cplx, ibitsize, imag_p ? ibitsize : 0, - true, false, NULL_RTX, imode, imode); + true, NULL_RTX, imode, imode); } /* A subroutine of emit_move_insn_1. Yet another lowpart generator. @@ -6470,7 +6470,7 @@ store_field (rtx target, HOST_WIDE_INT bitsize, HOST_WIDE_INT bitpos, temp_target = gen_reg_rtx (mode); temp_target = extract_bit_field (temp, size * BITS_PER_UNIT, 0, 1, - false, temp_target, mode, mode); + temp_target, mode, mode); temp = temp_target; } } @@ -9672,8 +9672,8 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode, else if (SLOW_UNALIGNED_ACCESS (mode, align)) temp = extract_bit_field (temp, GET_MODE_BITSIZE (mode), 0, TYPE_UNSIGNED (TREE_TYPE (exp)), - true, (modifier == EXPAND_STACK_PARM - ? NULL_RTX : target), + (modifier == EXPAND_STACK_PARM + ? NULL_RTX : target), mode, mode); } return temp; @@ -9864,7 +9864,6 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode, HOST_WIDE_INT bitsize, bitpos; tree offset; int volatilep = 0, must_force_mem; - bool packedp = false; tree tem = get_inner_reference (exp, &bitsize, &bitpos, &offset, &mode1, &unsignedp, &volatilep, true); rtx orig_op0, memloc; @@ -9875,11 +9874,6 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode, infinitely recurse. */ gcc_assert (tem != exp); - if (TYPE_PACKED (TREE_TYPE (TREE_OPERAND (exp, 0))) - || (TREE_CODE (TREE_OPERAND (exp, 1)) == FIELD_DECL - && DECL_PACKED (TREE_OPERAND (exp, 1)))) - packedp = true; - /* If TEM's type is a union of variable size, pass TARGET to the inner computation, since it will need a temporary and TARGET is known to have to do. This occurs in unchecked conversion in Ada. */ @@ -10104,7 +10098,7 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode, if (MEM_P (op0) && REG_P (XEXP (op0, 0))) mark_reg_pointer (XEXP (op0, 0), MEM_ALIGN (op0)); - op0 = extract_bit_field (op0, bitsize, bitpos, unsignedp, packedp, + op0 = extract_bit_field (op0, bitsize, bitpos, unsignedp, (modifier == EXPAND_STACK_PARM ? NULL_RTX : target), ext_mode, ext_mode); |