diff options
author | uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-12-05 14:22:48 +0000 |
---|---|---|
committer | uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-12-05 14:22:48 +0000 |
commit | 70ce4162b16d7f808a157e277c18cbc494e456f2 (patch) | |
tree | ddab6f522bcc1ce2b865013bf2e87f2d515ff2d5 /gcc/config/alpha | |
parent | a69b5b1528876447d213fd554e0d810babb452cf (diff) | |
download | gcc-70ce4162b16d7f808a157e277c18cbc494e456f2.tar.gz |
* config/alpha/alpha.c (alpha_fold_vector_minmax): Create
VIEW_CONVERT_EXPR to convert output to long_integer_type_node.
(alpha_emit_conditional_branch): Do not generate direct branch
for UNORDERED comparisons.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@142474 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/alpha')
-rw-r--r-- | gcc/config/alpha/alpha.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c index d11948772fb..26feea52dda 100644 --- a/gcc/config/alpha/alpha.c +++ b/gcc/config/alpha/alpha.c @@ -2453,7 +2453,7 @@ alpha_emit_conditional_branch (enum rtx_code code) if (alpha_compare.fp_p) { cmp_mode = DFmode; - if (flag_unsafe_math_optimizations) + if (flag_unsafe_math_optimizations && cmp_code != UNORDERED) { /* When we are not as concerned about non-finite values, and we are comparing against zero, we can branch directly. */ @@ -6825,7 +6825,7 @@ alpha_fold_vector_minmax (enum tree_code code, tree op[], tree vtype) tree op0 = fold_convert (vtype, op[0]); tree op1 = fold_convert (vtype, op[1]); tree val = fold_build2 (code, vtype, op0, op1); - return fold_convert (long_integer_type_node, val); + return fold_build1 (VIEW_CONVERT_EXPR, long_integer_type_node, val); } static tree |