aboutsummaryrefslogtreecommitdiff
path: root/gcc/expmed.c
AgeCommit message (Collapse)AuthorFilesLines
1994-11-19(expand_shift): Re-enable truncation of immediate shift count.Jim Wilson1-1/+1
From-SVN: r8527
1994-11-16Check target endianness at run time, not compile timeIan Lance Taylor1-77/+75
From-SVN: r8470
1994-11-15(expand_divmod, case ROUND_DIV_EXPR): Implement.Richard Kenner1-8/+68
From-SVN: r8442
1994-11-12(expand_divmod, case TRUNC_DIV_EXPR): Promote signed division byRichard Kenner1-1/+5
0x80000000 to unsigned. From-SVN: r8430
1994-09-22(expand_divmod): Special case for signed CEIL_DIV_EXPR when divisor isRichard Kenner1-0/+38
power of 2. From-SVN: r8123
1994-09-15(store_split_bit_field): Use number of bits in arg notJim Wilson1-1/+2
BITS_PER_WORD to adjust arg in BYTES_BIG_ENDIAN case. From-SVN: r8086
1994-08-31expmed.c (store_bit_field): Semi-revert Aug 25 change: Make it apply only ↵Per Bothner1-3/+10
for BLKmode, not integral modes. * expmed.c (store_bit_field): Semi-revert Aug 25 change: Make it apply only for BLKmode, not integral modes. From-SVN: r8007
1994-08-31(store_split_bit_field): Always adjust arg to extract_fixed_bit_fieldRichard Kenner1-13/+6
in BYTES_BIG_ENDIAN case. From-SVN: r8005
1994-08-25Always store into multi-word bitfields starting with low addresses.Per Bothner1-6/+2
From-SVN: r7985
1994-08-05(expand_mult): Accept DImode for synth_mult only if CONST_DOUBLE_HIGH is zero.Jim Wilson1-11/+25
(expand_mult): Accept DImode for synth_mult only if CONST_DOUBLE_HIGH is zero. Reject negative values for synth_mult if the mode is larger than HOST_BITS_PER_INT. Don't do the negate_variant if the mode is larger than HOST_BITS_PER_INT. From-SVN: r7860
1994-07-30({store,extract}_bit_field): Don't use bitfield insn if OP0 isRichard Kenner1-3/+12
register and bitfield spans it. From-SVN: r7837
1994-07-27(expand_mult): Properly set ADD_TARGET for add_variant.Richard Kenner1-2/+5
From-SVN: r7802
1994-07-27(expand_divmod): Don't make REG_NOTE if last insn's destination isn'tRichard Kenner1-18/+24
QUOTIENT. From-SVN: r7798
1994-07-13(expand_divmod, case CEIL_DIV_EXPR): Handle emit_store_flag returning 0.Torbjorn Granlund1-4/+16
From-SVN: r7768
1994-07-08(extract_split_bit_field): Set UNIT to BITS_PER_WORD for register values.Doug Evans1-15/+19
(store_split_bit_field): Likewise. Call operand_subword_force. From-SVN: r7684
1994-07-07(expand_mult_highpart): Build constant forms of CNST1 in MODE orRichard Kenner1-8/+17
WIDE_MODE, as appropriate. From-SVN: r7676
1994-07-06(expand_divmod): Clear out TARGET also if OP1 is a constant,Torbjorn Granlund1-1/+1
when TARGET == OP0. From-SVN: r7661
1994-07-05(expand_divmod): Fix typo setting op1_is_pow2.Torbjorn Granlund1-2/+21
(expand_divmod): Handle powers-of-two specifically for CEIL_*_EXPR. From-SVN: r7658
1994-07-02(expand_divmod): Always return gen_lowpart (mode, ...).Torbjorn Granlund1-8/+5
From-SVN: r7640
1994-07-01(expand_divmod): Put OP0 in a register when computingTorbjorn Granlund1-3/+4
remainder, or when OP1 is constant. From-SVN: r7628
1994-07-01(expand_divmod): Don't set REG_NOTES unless we generated a quotient.Richard Kenner1-5/+8
From-SVN: r7627
1994-06-29(expand_mult): Generalize to call synth_mult also for OP1 - 1.Torbjorn Granlund1-289/+1024
(ceil_log2): New function. (choose_multiplier): New function. (invert_mod2n): New function. (expand_mult_highpart_adjust): New function. (expand_mult_highpart): New function. (EXACT_POWER_OF_2_OR_ZERO_P): New macro. (expand_divmod): Almost completely rewritten. (expand_shift): Don't truncate immediate shift count, it doesn't work for types smaller than int. From-SVN: r7598
1994-06-18(expand_shift): Don't try extzv for lshr.Richard Kenner1-93/+4
From-SVN: r7514
1994-06-14Cast pointer operands to bzero, bcopy, and bcmp to (char *).Richard Kenner1-2/+4
From-SVN: r7472
1994-05-26(expand_divmod): Correctly set CAN_CLOBBER_OP0 when we've converted OP0Richard Kenner1-4/+7
to COMPUTE_MODE. From-SVN: r7349
1994-05-11(store_fixed_bit_field): Delete code to handle MODE_FLOAT values here.Jim Wilson1-11/+11
(store_fixed_bit_field): Delete code to handle MODE_FLOAT values here. (store_bit_field): Put it here instead. From-SVN: r7279
1994-04-21Add prototypes for static functions.Richard Kenner1-6/+9
From-SVN: r7118
1994-04-10(expand_shift): No longer reference lshl_optab.Richard Kenner1-8/+3
From-SVN: r7022
1994-02-27(store_split_bit_field): If OP0 is a SUBREG, then compute WORD from the base ↵Jim Wilson1-5/+35
register, instead of from the SUBREG. (store_split_bit_field): If OP0 is a SUBREG, then compute WORD from the base register, instead of from the SUBREG. (extract_split_bit_field): Likewise. (extract_bit_field): Sign-extend multiword bitfield if necessary. From-SVN: r6668
1994-02-27(store_fixed_bit_field): Adjust BITPOS so that itJim Wilson1-0/+10
fits inside MODE before adjusting OFFSET to get an aligned address. From-SVN: r6658
1994-02-27(store_fixed_bit_field): Move float mode to integralJim Wilson1-11/+11
mode conversion from near end of function to top of function. From-SVN: r6657
1994-02-12(expand_shift): Truncate immediate count if SHIFT_COUNT_TRUNCATED.Torbjorn Granlund1-0/+8
From-SVN: r6538
1994-02-03(store_bit_field, insv case): Don't use PUT_MODE onDoug Evans1-1/+3
xop0 when it is a SUBREG, generate a new SUBREG. From-SVN: r6478
1994-02-02(synth_mult): Delay allocation of algorithm structures until they are needed.Richard Kenner1-10/+12
(synth_mult): Delay allocation of algorithm structures until they are needed. Reorder early-exit tests to avoid comparing value that is not yet set. From-SVN: r6464
1994-01-24(store_split_bit_field): Reject gen_lowpart_commonJim Wilson1-1/+1
output if it returns the input value. From-SVN: r6430
1994-01-24(store_split_bit_field): For BYTES_BIG_ENDIAN, onlyJim Wilson1-5/+13
pad on left if value not in memory. From-SVN: r6429
1993-12-23(expand_mult): Preserve useful sub-expressions whenRichard Kenner1-10/+15
expanding a synthesized mult. From-SVN: r6287
1993-11-15(store_split_bit_field): Properly load a constant VALUERichard Stallman1-6/+12
into a WORD_MODE pseudo. From-SVN: r6092
1993-11-10(expand_divmod): If rem_flag, always force op0 to a register.Richard Stallman1-3/+4
From-SVN: r6053
1993-11-03(expand_divmod): Use target as copy_to_suggested_regRichard Stallman1-1/+8
argument only if it has the same mode as op0. From-SVN: r5984
1993-11-01(synth_mult): When factoring T, break from loop after first factor.Torbjorn Granlund1-1/+4
(expand_mult): Increase max cost to 12 again. From-SVN: r5961
1993-10-30(store_bit_field): When calling operand_subword_force,Richard Stallman1-1/+4
if VALUE has a non-void mode, pass that mode. From-SVN: r5939
1993-10-26(init_expmed): Use register 10000, not FIRST_PSEUDO_REGISTER that gets ↵Richard Stallman1-2/+2
special treatment in rtx_cost. (init_expmed): Use register 10000, not FIRST_PSEUDO_REGISTER that gets special treatment in rtx_cost. (expand_mult): Decrease max cost to 8. From-SVN: r5897
1993-10-21(expand_divmod): Create RESULT in proper mode when tryingRichard Kenner1-1/+1
quotient-and-remainder insn. From-SVN: r5862
1993-10-18(extract_split_bit_field): Change shift count calculationRichard Stallman1-2/+2
in little-endian case. From-SVN: r5794
1993-09-12(expand_shift): Use convert_modes.Richard Stallman1-7/+7
(emit_store_flag): Likewise. From-SVN: r5309
1993-09-09(emit_store_flag, expand_divmod): Use convert_modes.Richard Stallman1-5/+5
From-SVN: r5295
1993-09-08(make_tree, case CONST_INT): Properly set high part if unsigned.Richard Kenner1-1/+1
From-SVN: r5280
1993-08-25expmed.c (store_bit_field): Do not use bitfield instructions for ↵Jeff Law1-3/+6
STRICT_ALIGNMENT machines if... * expmed.c (store_bit_field): Do not use bitfield instructions for STRICT_ALIGNMENT machines if the MEM's alignment isn't as big as the MEM's mode. From-SVN: r5213
1993-08-11(SLOW_UNALIGNED_ACCESS): Define, but allow override.Richard Stallman1-10/+28
(store_bit_field): Test that instead of STRICT_ALIGNMENT. Also, allow fetching as non-bitfield if memory is aligned enough. (extract_bit_field): Install code here like that in store_bit_field. From-SVN: r5131