aboutsummaryrefslogtreecommitdiff
path: root/gcc/optabs.c
AgeCommit message (Collapse)AuthorFilesLines
1994-11-22(emit_no_conflict_block): Just emit the insns if the block containsRichard Kenner1-7/+8
something not an INSN or has an embedded block. From-SVN: r8550
1994-11-17(expand_unop): Try subtraction from zero if there isn't aDoug Evans1-0/+11
negate library function. From-SVN: r8485
1994-11-15(expand_abs): New function, code moved from expand_expr.Richard Kenner1-0/+84
From-SVN: r8444
1994-10-13(expand_fix): Correct typo with FIX/UNSIGNED_FIX REG_NOTES.Jim Wilson1-1/+1
From-SVN: r8266
1994-10-12(??hf2_libfunc): Define like ??sf2_libfunc.Richard Kenner1-1/+42
(emit_float_lib_cmp): Call HFmode library functions. (init_optabs): Set names for HFmode comparison functions. From-SVN: r8259
1994-10-10(expand_float): Copy TEMP to TARGET when making recursive call andRichard Kenner1-1/+4
adjusting. From-SVN: r8247
1994-09-27(expand_fix): Call emit_library_call_value.Richard Kenner1-3/+6
From-SVN: r8149
1994-09-15(expand_binop, multi-word shifts): Generate rtlRichard Earnshaw1-7/+7
free of conflicts for shifts less than one word. From-SVN: r8084
1994-07-28(expand_binop, case MULT [complex]) Fix typo.Richard Kenner1-2/+4
From-SVN: r7813
1994-07-11(init_optabs): Allow target specific libcalls with INIT_TARGET_OPTABS.Doug Evans1-0/+5
From-SVN: r7725
1994-07-07(expand_binop, case DIV [complex]): Fix typo in last change.Richard Kenner1-2/+4
From-SVN: r7675
1994-06-29(smul_highpart_optab, umul_highpart_optab): New variables.Torbjorn Granlund1-1/+10
(expand_binop): Handle [us]mul_highpart_optab as commutative. (init_optabs): Initialize [us]mul_highpart_optab. (expand_binop): Convert OP0 to mode for library calls. From-SVN: r7595
1994-06-27(expand_binop, multi-words shifts and rotates): Fix errors in lastRichard Kenner1-8/+8
change. From-SVN: r7575
1994-06-22(expand_binop): New variable next_methods; pass to most recursive calls when ↵Richard Kenner1-189/+301
trying to avoid libcalls. (expand_binop): New variable next_methods; pass to most recursive calls when trying to avoid libcalls. Always check for a return value of zero in recursive calls. (expand_float): Ensure TARGET has proper mode. Pass OPTAB_LIB_WIDEN to expand_binop calls. From-SVN: r7526
1994-06-18Pass NULL_RTX for TARGET in calls to expand_{un,bin}op.Richard Kenner1-30/+33
(expand_float): Use expand_shift instead of expand_binop. From-SVN: r7512
1994-05-30(expand_float): Fix error in last change.Richard Kenner1-4/+9
From-SVN: r7391
1994-05-30(expand_float): Avoid double-rounding when float is is narrower thanRichard Kenner1-2/+45
int. From-SVN: r7386
1994-04-21Use CONST_DOUBLE_FROM_REAL_VALUE macro for immed_real_const_1.Richard Kenner1-2/+2
From-SVN: r7119
1994-04-10(lshl_optab): Deleted.Richard Kenner1-18/+7
(expand_binop, init_optabs): No longer reference it. From-SVN: r7019
1994-03-18(init_optabs): Use FIXUNS_TRUNCTFSI2_LIBCALL macro.Jim Wilson1-1/+3
From-SVN: r6809
1994-03-12Don't define emit_float_lib_cmp now that no longer static.Richard Kenner1-2/+2
From-SVN: r6760
1994-03-11(emit_float_lib_cmp): Make non static.Jim Wilson1-2/+65
(init_optabs): Use {ADDTF3,SUBTF3,MULTF3,DIVTF3,SQRTTF2,FLOATSITF2, FIX_TRUNCTFSI2,EXTENDSFTF2,TRUNCTFSF2,EXTENDDFTF2,TRUNCTFDF2,EQTF2, NETF2,GTTF2,GETF2,LTTF2,LETF2}_LIBCALL macros. From-SVN: r6749
1994-02-28(expand_binop): Use expand_divmod to do integer division for DIV ofRichard Kenner1-19/+38
MODE_COMPLEX_INT operands. From-SVN: r6670
1994-02-27(emit_float_lib_cmp): Init LIBFUNC; abort if not reset.Richard Kenner1-1/+4
From-SVN: r6645
1994-01-10Remove redundant prototype for gen_highpart.Richard Kenner1-4/+1
From-SVN: r6380
1993-11-19(expand_complex_abs): Replace some erroneous uses of MODE withRichard Kenner1-2/+5
SUBMODE. From-SVN: r6118
1993-11-02(init_optabs): Function `ffs' takes `int', not mode that isRichard Kenner1-1/+5
BITS_PER_WORD wide. From-SVN: r5973
1993-09-16(expand_complex_abs): Fix typo in prev change.Richard Stallman1-0/+1
From-SVN: r5340
1993-09-15(expand_float): Use emit_library_call_value.Richard Stallman1-11/+17
(expand_unop, expand_binop): Likewise. (expand_complex_abs): Likewise. Also pass SUBMODE as output mode to emit_library_call_value. From-SVN: r5327
1993-09-10Fix previous change.Richard Stallman1-1/+1
From-SVN: r5305
1993-09-09(expand_twoval_binop): Use convert_modes.Richard Stallman1-17/+18
(expand_complex_abs): Likewise. (emit_cmp_insn): Likewise. (expand_inline_function): Likewise. (widen_operand): New arg OLDMODE. (expand_binop, expand_unop): Fix calls to widen_operand. From-SVN: r5296
1993-09-07(expand_binop): Must always widen second operand of shift.Richard Kenner1-2/+11
From-SVN: r5276
1993-09-06(emit_libcall_block): Don't move insns that reference things set inRichard Kenner1-3/+6
previous insns. From-SVN: r5268
1993-08-09(widen_operand): New function.Richard Kenner1-71/+57
(expand_binop, expand_unop): Call it. From-SVN: r5118
1993-08-03(code_to_optab): New variable.Richard Kenner1-0/+7
(init_optab): Initialize it. From-SVN: r5062
1993-07-21(expand_binop): Synthesize double word shifts and rotates from single wordJim Wilson1-0/+214
shifts. From-SVN: r4949
1993-05-05(add_equal_note...Richard Kenner1-10/+17
(add_equal_note, expand_binop, expand_unop): Make copy of operands for REG_EQUAL note to avoid sharing RTL if called later than RTL generation. (emit_libcall_block, expand_fix): Likewise. From-SVN: r4338
1993-04-04Include reload.h.Richard Kenner1-0/+1
From-SVN: r4010
1993-03-31(expand_fix): Initialized REAL_VALUE_TYPE confuses some compilers.Richard Stallman1-6/+9
From-SVN: r3942
1993-03-30(extendtab, fixtab, fixtrunctab, floattab): Not static.Richard Kenner1-2052/+91
(init_extends, init_fixtab, init_floattab): Deleted. (init_optabs): Move active stuff from above functions in. Delete filling of optabs. Call init_all_optabs. From-SVN: r3925
1993-03-18(expand_float): When converting an unsigned type U to a smaller or ↵Paul Eggert1-4/+20
equal-sized floating type F where there's no hardware support for unsigned-to-float conversion... (expand_float): When converting an unsigned type U to a smaller or equal-sized floating type F where there's no hardware support for unsigned-to-float conversion, use a temporary floating type larger than F if possible, since this avoids rounding problems that are worst when U is just greater than the maximum signed integer of the same size. From-SVN: r3778
1993-03-16(expand_binop): For doubleword int addition,Richard Stallman1-0/+4
clobber the whole register at the start. From-SVN: r3754
1993-03-08Add prototypes for static functions.Richard Kenner1-2/+14
(init_libfuncs): Put args in proper order. From-SVN: r3674
1993-03-04(emit_no_conflict_block): Don't move target to itself if that takes multiple ↵Richard Stallman1-12/+39
insns. (emit_no_conflict_block): Don't move target to itself if that takes multiple insns. (expand_binop): For complex mult and div, avoid fetching operand components more than once from memory. From-SVN: r3647
1993-03-02(gen_move_insn): Big `if' applies only for MODE_CC class.Richard Stallman1-3/+3
From-SVN: r3592
1993-02-27(init_libfuncs): Use int instead of enum for first_mode, last_mode, and mode.Richard Stallman1-3/+3
From-SVN: r3551
1993-02-21(gen_move_insn): Use emit_move_insn_1.Richard Stallman1-2/+9
From-SVN: r3506
1993-01-28(init_fixtab, init_optabs): Fix typos in QFmode and HFmodeRichard Kenner1-25/+25
initialization. From-SVN: r3373
1993-01-25(emit_indirect_jump): Use Pmode instead of VOIDmode andJim Wilson1-3/+2
insn_operand_mode. From-SVN: r3331
1993-01-19(emit_cmp_insn, emit_float_lib_cmp): libcall comparisons return word_mode.Jim Wilson1-6/+6
From-SVN: r3289