summaryrefslogtreecommitdiff
path: root/gcc/expmed.c
Commit message (Collapse)AuthorAgeFilesLines
* alias.c: Change all uses of gen_rtx(FOO...) to gen_rtx_FOO...Richard Henderson1998-01-141-93/+101
| | | | | | | | | | | | | | | * alias.c: Change all uses of gen_rtx(FOO...) to gen_rtx_FOO; change gen_rtx(expr...) to gen_rtx_fmt_foo(expr...). * caller-save.c, calls.c, combine.c, cse.c: Likewise. * dwarf2out.c, except.c, explow.c, expmed.c, expr.c: Likewise. * final.c, flow.c, function.c, genpeep.c, haifa-sched.c: Likewise. * halfpic.c, integrate.c, jump.c, local-alloc.c, loop.c: Likewise. * profile.c, recog.c, reg-stack.c, regclass.c, regmove.c: Likewise. * reload.c, reload1.c, reorg.c, sched.c, stmt.c, stupid.c: Likewise. * unroll.c, varasm.c: Likewise. * config/alpha/alpha.c, config/alpha/alpha.md: Likewise. From-SVN: r17357
* * expmed.c (expand_shift): If SHIFT_COUNT_TRUNCATED, drop a SUBREG.Richard Henderson1997-12-151-5/+10
| | | | From-SVN: r17107
* Merge from gcc-2.8Jeff Law1997-12-061-0/+2
| | | | From-SVN: r16987
* Update mainline egcs to gcc2 snapshot 971021.Jeff Law1997-11-021-3/+9
| | | | From-SVN: r16278
* Patches to fix minor optimizer bugsJim Wilson1997-10-201-3/+2
| | | | | | | | | | Patches to fix minor optimizer bugs * expmed.c (extract_bit_field): Don't make flag_force_mem disable extzv for memory operands. * cse.c (simplify_ternary_operation, case IF_THEN_ELSE): Collapse redundant conditional moves to single operand. From-SVN: r16129
* expmed.c (expand_divmod): If compute_mode is not the same as mode...David S. Miller1997-09-231-0/+8
| | | | | | | | * expmed.c (expand_divmod): If compute_mode is not the same as mode, handle the case where convert_modes() causes op1 to no longer be a CONST_INT. From-SVN: r15672
* version.c: Bump for snapshot.Jeff Law1997-09-071-1/+3
| | | | | | | | | | | | | | | | * version.c: Bump for snapshot. * expmed.c (expand_divmod): Make op1_is_pow2 depend on unsignedp for negative constants. Promote EXACT_DIV_EXPR to TRUNC_DIV_EXPR when op1_is_pow2. * final.c (shorten_branches): During first pass, assume worst possible alignment for ADDR_VEC and ADDR_VEC_DIFF insns. * Makefile.in (distclean): Remove various things left around by running the testsuite. From-SVN: r15136
* reformat a little to match GNU coding standards.Mike Stump1997-05-061-15/+15
| | | | From-SVN: r14024
* (expand_divmod): prefer divmod in same mode over div in wider mode.Richard Kenner1997-02-151-5/+12
| | | | From-SVN: r13638
* (emit_store_flag): Properly test for STORE_FLAG_VALUE of just sign bit.Richard Kenner1997-01-271-2/+2
| | | | From-SVN: r13552
* (store_fixed_bit_field): If not SLOW_UNALIGNED_ACCESS, treatRichard Kenner1997-01-041-1/+4
| | | | | | everything as maximally aligned. From-SVN: r13371
* * expmed.c (emit_store_flag_force): Fix typos/thinkos.Jeff Law1996-12-121-2/+2
| | | | From-SVN: r13296
* (emit_store_flag_force): New function.Torbjorn Granlund1996-10-211-0/+37
| | | | From-SVN: r12987
* (store_bit_field): don't make flag_force_mem disable insvJim Wilson1996-09-251-6/+6
| | | | | | for memory operands. From-SVN: r12843
* (expand_mult_highpart): Revert last change.Torbjorn Granlund1996-07-171-2/+2
| | | | From-SVN: r12512
* formatting tweaksMike Stump1996-07-031-3/+3
| | | | From-SVN: r12390
* (expand_mult_highpart): Use op1 not wide_op1 in expansion ofRichard Kenner1996-06-281-2/+2
| | | | | | mul_highpart. From-SVN: r12361
* (extract_bit_field): Check TRULY_NOOP_TRUNCATION beforeJim Wilson1996-06-271-1/+3
| | | | | | making a SUBREG of a REG. From-SVN: r12338
* (store_split_bit_field): Don't assume the alignment of VALUE is theRichard Kenner1996-05-171-6/+21
| | | | | | same as the record. From-SVN: r12017
* Fix typo in comment.Richard Kenner1996-05-051-1/+1
| | | | From-SVN: r11927
* (expand_divmod, case TRUNC_DIV_EXPR): Move some codeTorbjorn Granlund1996-03-301-70/+74
| | | | | | to avoid shifting by a too large count. From-SVN: r11645
* (negate_rtx): Fix typo in previous change.Richard Kenner1996-03-271-1/+1
| | | | From-SVN: r11624
* (negate_rtx): Don't try to negate a constant ourself; instead callRichard Kenner1996-03-241-15/+6
| | | | | | simplify_unary_operation. From-SVN: r11611
* (emit_store_flag): If expanding (GE X 0) will need two insns, don't use ↵Richard Kenner1996-03-181-2/+4
| | | | | | | | | | subtarget for the result of the first insn. (emit_store_flag): If expanding (GE X 0) will need two insns, don't use subtarget for the result of the first insn. Move a likely constant to the start of a condition. From-SVN: r11562
* (extract_bit_field): For multi-word bitfield, clobber target beforeJim Wilson1996-01-171-0/+3
| | | | | | storing to it. From-SVN: r11059
* (extract_bit_field): Don't abort if not MEM_IN_STRUCT_P.Richard Kenner1996-01-161-4/+1
| | | | From-SVN: r11022
* (expand_mult_highpart): When doing widening multiply,Torbjorn Granlund1995-12-171-7/+21
| | | | | | | | put constant in a register. (expand_mult_highpart): When mode is word_mode use gen_highpart instead of right shift by size. From-SVN: r10789
* (store_bit_field): Don't use insv for BLKmode value.Richard Kenner1995-12-151-1/+2
| | | | | | (store_split_bit_field): Set total_bits to BITS_PER_FOR for BLKmode value. From-SVN: r10732
* (expand_divmod...Torbjorn Granlund1995-12-141-3/+7
| | | | | | | | (expand_divmod, case TRUNC_DIV_EXPR): Only reject larger-than-HOST_BITS_PER_WIDE_INT modes for general constants, not for powers-of-2. From-SVN: r10727
* (expand_divmod): Don't use TARGET if it's the wrong mode.Richard Kenner1995-12-131-3/+9
| | | | From-SVN: r10708
* (SHIFT_COUNT_TRUNCATED): Use #ifdef not #if.Richard Kenner1995-07-131-1/+1
| | | | From-SVN: r10119
* Update FSF address.Richard Kenner1995-06-151-1/+2
| | | | From-SVN: r9959
* (emit_store_flag): Always set LAST.Richard Kenner1995-06-141-3/+2
| | | | From-SVN: r9947
* (store_split_bit_field): When adjust arg in BYTES_BIT_ENDIAN case...Richard Kenner1995-06-081-6/+14
| | | | | | | | | (store_split_bit_field): When adjust arg in BYTES_BIT_ENDIAN case, use number of bits in arg for MEM operands and BITS_PER_WORD for other operands. (extract_fixed_bit_field): Undo last change. From-SVN: r9911
* (expand_divmod): Always check result of emit_store_flag.Richard Kenner1995-06-081-5/+8
| | | | From-SVN: r9905
* (extract_fixed_bit_field): For REG case, compute total_bits from modeRichard Kenner1995-06-011-3/+4
| | | | | | instead of assuming BITS_PER_WORD. From-SVN: r9865
* (expand_mult_highpart): Use wide_op1 for all multiplies.Richard Kenner1995-05-311-5/+7
| | | | | | | (expand_divmod): Undo Nov 12 change. Instead, add special case for division by MIN_INT in signed TRUNC_DIV_EXPR case. From-SVN: r9857
* Fix typos in comments.Richard Kenner1995-05-161-1/+1
| | | | From-SVN: r9712
* If expensive optimizations, use different pseudos when making store flag insns.Michael Meissner1995-05-021-7/+18
| | | | From-SVN: r9562
* Get correct bit offset for big endian (SUBREG (REG))Michael Meissner1995-04-031-0/+14
| | | | From-SVN: r9299
* (store_split_bit_field): If value is VOIDmode, pass word_mode to force_reg.Doug Evans1995-02-131-1/+3
| | | | From-SVN: r8940
* (expand_divmod): Always call expand_twoval_binop with psuedos asRichard Kenner1995-02-111-6/+14
| | | | | | targets. From-SVN: r8905
* (mul_cost, div_cost): New variables.Torbjorn Granlund1995-02-061-50/+113
| | | | | | | | | | | | | (mul_widen_cost, mul_highpart_cost): New variables. (init_expmed): Init new variables. (expand_mult_highpart): New argument, MAX_COST. Use new argument in several places. Simplify code that tries widening multiply variants. (expand_divmod): New variables MAX_COST, EXTRA_COST. Initialize MAX_COST dependent on REM_FLAG. Calculate and pass cost in all calls of expand_mult_highpart. From-SVN: r8868
* Add 1995 to copyright.Doug Evans1995-01-141-1/+1
| | | | From-SVN: r8760
* (extract_bit_field, fields bigger than word case): Count subwords in target.Doug Evans1995-01-141-3/+29
| | | | | | | (extract_bit_field, fields bigger than word case): Count subwords in target. Zero remaining upper bits if unsigned. From-SVN: r8756
* (expand_mult_highpart): Use convert_modes instead ofJim Wilson1994-12-291-3/+3
| | | | | | gen_lowpart to do conversions. From-SVN: r8704
* (emit_store_flag): Set mode after canonicalizing op0/op1 so op1 is constant.Doug Evans1994-12-121-3/+3
| | | | From-SVN: r8646
* (expand_shift): Open-code rotate even if by a variable.Richard Kenner1994-11-291-21/+20
| | | | From-SVN: r8579
* (store_bit_field, extract_bit_field): Consistently useJim Wilson1994-11-281-3/+3
| | | | | | SLOW_UNALIGNED_ACCESS instead of STRICT_ALIGNMENT. From-SVN: r8568
* (expand_shift): Re-enable truncation of immediate shift count.Jim Wilson1994-11-191-1/+1
| | | | From-SVN: r8527