Coder Social home page Coder Social logo

thvnx / gcc Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gcc-mirror/gcc

0.0 0.0 0.0 1.98 GB

License: GNU General Public License v2.0

Emacs Lisp 0.01% Makefile 2.08% Shell 0.44% M4 0.59% Python 0.16% Perl 0.05% Vim Script 0.01% C 53.93% C++ 17.17% Awk 0.06% HTML 0.89% Smarty 0.01% Logos 0.16% Objective-C 0.49% Ada 19.25% TeX 0.13% Pawn 0.01% GCC Machine Description 4.58% OCaml 0.01% Standard ML 0.01%

gcc's People

Contributors

iains avatar thvnx avatar

Watchers

 avatar  avatar  avatar

gcc's Issues

Can this code be placed in tree.c?

gcc/gcc/tree-complex.c

Lines 114 to 189 in 47761af

static int
some_nonzerop (tree t)
{
int zerop = false;
/* Operations with real or imaginary part of a complex number zero
cannot be treated the same as operations with a real or imaginary
operand if we care about the signs of zeros in the result. */
if (TREE_CODE (t) == REAL_CST && !flag_signed_zeros)
zerop = real_identical (&TREE_REAL_CST (t), &dconst0);
else if (TREE_CODE (t) == FIXED_CST)
zerop = fixed_zerop (t);
else if (TREE_CODE (t) == INTEGER_CST)
zerop = integer_zerop (t);
return !zerop;
}
/* Return non-zero if T is the constant + or - 1. */
static int
some_onep (tree t)
{
int onep = false;
if (TREE_CODE (t) == REAL_CST) {
REAL_VALUE_TYPE abs_t;
abs_t = real_value_abs (&TREE_REAL_CST (t));
onep = real_identical (&abs_t, &dconst1);
}
else if (TREE_CODE (t) == FIXED_CST)
onep = fixed_identical (&TREE_FIXED_CST (t),
&FCONST1 ((&TREE_FIXED_CST (t))->mode));
else if (TREE_CODE (t) == INTEGER_CST)
onep = integer_onep (t) || integer_minus_onep (t);
else
gcc_unreachable();
return onep;
}
/* Return non-zero if T is positive. */
static int
some_posp (tree t)
{
int posp = false;
if (TREE_CODE (t) == REAL_CST)
posp = !real_isneg (&TREE_REAL_CST (t));
else if (TREE_CODE (t) == FIXED_CST)
posp = !fixed_isneg (&TREE_FIXED_CST (t));
else if (TREE_CODE (t) == INTEGER_CST)
posp = !wi::neg_p (wi::to_wide (t));
else
gcc_unreachable();
return posp;
}
/* Return non-zero if a tree has been negated since its previous
definition (used in expand_accurate_complex_multiplication for
conjugation detection). */
static int
new_def_is_negated (tree curr, tree old)
{
if (TREE_CODE (curr) == SSA_NAME)
{
gimple *stmt = SSA_NAME_DEF_STMT (curr);
return gimple_assign_rhs1 (stmt) == old &&
gimple_assign_rhs_code (stmt) == NEGATE_EXPR;
}
else
gcc_unreachable();
}

accurate-limited-range testsuite is failing

As for example with asm-div-fast.c

In file included from /root/gcc/testsuite/gcc.dg/accurate-limited-range/asm-div-fast.c:6:
/root/gcc/testsuite/gcc.dg/accurate-limited-range/asm-div-fast.c: In function 'cdiv':
/root/gcc/testsuite/gcc.dg/accurate-limited-range/asm-div-fast.c:8:6: internal compiler error: in fold_binary_loc, at fold-const.c:9321
/root/gcc/testsuite/gcc.dg/accurate-limited-range/operations.h:21:6: note: in definition of macro 'CDIV'
0x608972 fold_binary_loc(unsigned int, tree_code, tree_node*, tree_node*, tree_node*)
	../../gcc/gcc/fold-const.c:9321
0xa51919 fold_build2_loc(unsigned int, tree_code, tree_node*, tree_node*, tree_node*)
	../../gcc/gcc/fold-const.c:12350
0xd86b2e gimplify_build2(gimple_stmt_iterator*, tree_code, tree_node*, tree_node*, tree_node*)
	../../gcc/gcc/tree-cfg.c:9038
0xd95ba4 expand_accurate_complex_div_straight
	../../gcc/gcc/tree-complex.c:1515
0xd99809 expand_complex_division
	../../gcc/gcc/tree-complex.c:1796
0xd99809 expand_complex_operations_1
	../../gcc/gcc/tree-complex.c:2081
0xd99809 tree_lower_complex
	../../gcc/gcc/tree-complex.c:2141
0xd99809 tree_lower_complex
	../../gcc/gcc/tree-complex.c:2106
0xd99809 execute
	../../gcc/gcc/tree-complex.c:2205

Summary:

# of expected passes		5
# of unexpected failures	18
# of unresolved testcases	7

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.