diff options
author | Uros Bizjak <uros@gcc.gnu.org> | 2007-01-18 14:06:57 +0100 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2007-01-18 14:06:57 +0100 |
commit | d85c755027830f7779768c633aecdaf530a47034 (patch) | |
tree | b09549c3db8a84ccbaeffdb31e9f328b4e85b663 /gcc/tree-flow.h | |
parent | 590b1f2d1f60b909e45e9b47f8a3e71a608dee20 (diff) | |
download | gcc-d85c755027830f7779768c633aecdaf530a47034.zip gcc-d85c755027830f7779768c633aecdaf530a47034.tar.gz gcc-d85c755027830f7779768c633aecdaf530a47034.tar.bz2 |
reg-stack.c (subst_stack_regs_pat): Use generic code for instructions that operate on the top of stack.
* reg-stack.c (subst_stack_regs_pat) [UNSPEC_SINCOS_COS,
UNSPEC_XTRACT_FRACT]: Use generic code for instructions that
operate on the top of stack.
[UNSPEC_SINCOS_SIN, UNSPEC_XTRACT_EXP, UNSPEC_TAN]: Rewrite
register handling of instructions that output to the second
stack slot.
[UNSPEC_TAN_ONE, UNSPEC_TAN_TAN]: Remove.
(move_for_stack_reg): Special-case check for dead destination
stack slot for constant load of 1.0 inside UNSPEC_TAN.
* config/i386/i386.md (UNSPEC_TAN): New constant.
(UNSPEC_TAN_ONE, UNSPEC_TAN_TAN): Remove.
(fptanxf4_i387, fptan_extend<mode>xf4_i387): New patterns
to correctly model move of constant 1.0 to top stack slot.
(*tandf3_1, *tansf3_1, *tanxf3_1): Remove insn patterns.
(unnamed peephole2 pattern): Remove corresponding peephole2
pattern that optimizes tan insn and loading of constant 1.0.
(tanxf2): Use fptanxf4_i387.
(tan<mode>2): Rename from tansf2 and tandf2 and macroize insn
patterns using X87MODEF12 mode macro. Use fptan_extend<mode>xf4_i387
and truncate result to requested mode. Use SSE_FLOAT_MODE_P to
disable patterns for SSE math.
(sincos<mode>3): Use truncxf<mode>2_i387_noop for truncation.
(fyl2x_extend<mode>xf3_i387): Use X87MODEF12 for operand 1.
testsuite/ChangeLog:
* gcc.target/i386/387-8.c: Update comment about optimizing
inherent load of 1.0 of fptan instruction.
From-SVN: r120899
Diffstat (limited to 'gcc/tree-flow.h')
0 files changed, 0 insertions, 0 deletions