aboutsummaryrefslogtreecommitdiff
path: root/gcc/sreal.c
diff options
context:
space:
mode:
authorDominik Vogt <vogt@linux.vnet.ibm.com>2016-12-02 08:32:40 +0000
committerAndreas Krebbel <krebbel@gcc.gnu.org>2016-12-02 08:32:40 +0000
commit32ff7e39c15206dada1406bdc06e18db9e02d248 (patch)
treeddc0071ca81fc7ce09f2f6ea86ba05f4df56fc4b /gcc/sreal.c
parentbba13c0c4359649687894823900e091576cbc2e6 (diff)
downloadgcc-32ff7e39c15206dada1406bdc06e18db9e02d248.zip
gcc-32ff7e39c15206dada1406bdc06e18db9e02d248.tar.gz
gcc-32ff7e39c15206dada1406bdc06e18db9e02d248.tar.bz2
Do not simplify "(and (reg) (const bit)" to if_then_else.
combine_simplify_rtx() tries to replace rtx expressions with just two possible values with an experession that uses if_then_else: (if_then_else (condition) (value1) (value2)) If the original expression is e.g. (and (reg) (const_int 2)) where the constant is the mask for a single bit, the replacement results in a more complex expression than before: (if_then_else (ne (zero_extract (reg) (1) (31))) (2) (0)) Similar replacements are done for (signextend (and ...)) (zeroextend (and ...)) Suppress the replacement this special case in if_then_else_cond(). gcc/ChangeLog: 2016-12-02 Dominik Vogt <vogt@linux.vnet.ibm.com> * combine.c (combine_simplify_rtx): Suppress replacement of "(and (reg) (const_int bit))" with "if_then_else". From-SVN: r243162
Diffstat (limited to 'gcc/sreal.c')
0 files changed, 0 insertions, 0 deletions