diff options
author | Jakub Jelinek <jakub@redhat.com> | 2014-07-08 17:39:36 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2014-07-08 17:39:36 +0200 |
commit | 7e6d8fd9f6f2d3ef1a3c4d439b669b6de574aed9 (patch) | |
tree | a31e38df1a632b7487f21d3ab0c13016818f1191 /gcc/combine.c | |
parent | e4a452b2150b6b19c6e58612111495bef66156b3 (diff) | |
download | gcc-7e6d8fd9f6f2d3ef1a3c4d439b669b6de574aed9.zip gcc-7e6d8fd9f6f2d3ef1a3c4d439b669b6de574aed9.tar.gz gcc-7e6d8fd9f6f2d3ef1a3c4d439b669b6de574aed9.tar.bz2 |
re PR rtl-optimization/61673 (Miscompilation of _gnutls_hostname_compare on s390)
PR rtl-optimization/61673
* combine.c (simplify_comparison): Test just mode's sign bit
in tmode rather than the sign bit and any bits above it.
* gcc.c-torture/execute/pr61673.c: New test.
From-SVN: r212364
Diffstat (limited to 'gcc/combine.c')
-rw-r--r-- | gcc/combine.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/combine.c b/gcc/combine.c index 4e7ef55..08f5638 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -11981,7 +11981,7 @@ simplify_comparison (enum rtx_code code, rtx *pop0, rtx *pop1) = (unsigned HOST_WIDE_INT) 1 << (GET_MODE_BITSIZE (mode) - 1); op0 = simplify_gen_binary (AND, tmode, gen_lowpart (tmode, op0), - gen_int_mode (sign, mode)); + gen_int_mode (sign, tmode)); code = (code == LT) ? NE : EQ; break; } |