aboutsummaryrefslogtreecommitdiff
path: root/libgomp
diff options
context:
space:
mode:
authorRoger Sayle <roger@eyesopen.com>2006-02-13 01:55:37 +0000
committerRoger Sayle <sayle@gcc.gnu.org>2006-02-13 01:55:37 +0000
commitfeb04780354bec2f694f65e7b7a5b20ab07b3c0d (patch)
tree3d8ced1bf10347b4692e3a1210b4de3fd48c5e58 /libgomp
parentc0c84a897e862589a0bde45ce884c2d0fb7dda7b (diff)
downloadgcc-feb04780354bec2f694f65e7b7a5b20ab07b3c0d.zip
gcc-feb04780354bec2f694f65e7b7a5b20ab07b3c0d.tar.gz
gcc-feb04780354bec2f694f65e7b7a5b20ab07b3c0d.tar.bz2
re PR middle-end/25724 (Emits call to __cmpdi2 for long long comparison in switches)
PR middle-end/25724 * dojump.c (do_jump): Call do_compare_rtx_and_jump. (do_jump_parts_zero_rtx): New function renamed from do_jump_parts_equality_rtx. Made static. Add a mode argument. (do_jump_parts_equality_rtx): New function split out from do_jump_parts_equality. Old implementation renamed as above. Call do_jump_parts_zero_rtx if either operand is zero. (do_jump_parts_equality): Call do_jump_parts_equality_rtx to do all of the heavy lifting. (do_compare_rtx_and_jump): Handle multi-word comparisons by calling either do_jump_by_parts_greater_rtx or do_jump_by_parts_equality_rtx. * expr.h (do_jump_by_parts_equality_rtx): Remove prototype. * expmed.c (do_cmp_and_jump): Now multi-word optimization has moved to do_compare_rtx_and_jump, call it directly. * stmt.c (do_jump_if_equal): Remove static prototype. Add a mode argument. Call do_compare_rtx_and_jump. (emit_case_nodes): Update calls to do_jump_if_equal. From-SVN: r110906
Diffstat (limited to 'libgomp')
0 files changed, 0 insertions, 0 deletions