URL
https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk
Go to most recent revision |
Show entire file |
Details |
Blame |
View Log
Rev 280 |
Rev 378 |
Line 797... |
Line 797... |
case NEGATE_EXPR:
|
case NEGATE_EXPR:
|
case BIT_NOT_EXPR:
|
case BIT_NOT_EXPR:
|
/* This is not correct for ABS_EXPR,
|
/* This is not correct for ABS_EXPR,
|
since we must test the sign before truncation. */
|
since we must test the sign before truncation. */
|
{
|
{
|
tree typex;
|
tree typex = unsigned_type_for (type);
|
|
|
/* Don't do unsigned arithmetic where signed was wanted,
|
|
or vice versa. */
|
|
if (TYPE_UNSIGNED (TREE_TYPE (expr)))
|
|
typex = unsigned_type_for (type);
|
|
else
|
|
typex = signed_type_for (type);
|
|
return convert (type,
|
return convert (type,
|
fold_build1 (ex_form, typex,
|
fold_build1 (ex_form, typex,
|
convert (typex,
|
convert (typex,
|
TREE_OPERAND (expr, 0))));
|
TREE_OPERAND (expr, 0))));
|
}
|
}
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.