summaryrefslogtreecommitdiff
path: root/gcc/expmed.c
diff options
context:
space:
mode:
authorbonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4>2009-07-11 08:28:34 +0000
committerbonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4>2009-07-11 08:28:34 +0000
commit88e81a691d4025461c124183e3a253f8a3ad351a (patch)
treec2c59b221188a05f86f030b5329eaabab71f14dd /gcc/expmed.c
parentf09e052246a6e4c8e40871739a8420e9cf0c3129 (diff)
downloadgcc-88e81a691d4025461c124183e3a253f8a3ad351a.tar.gz
2009-07-11 Paolo Bonzini <bonzini@gnu.org>
* expmed.c (emit_store_flag_1): Fix choice of zero vs. sign extension. 2009-07-11 Paolo Bonzini <bonzini@gnu.org> * gcc.c-torture/execute/20090711-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149509 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/expmed.c')
-rw-r--r--gcc/expmed.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/expmed.c b/gcc/expmed.c
index aa8d02d0e83..c73bf21f671 100644
--- a/gcc/expmed.c
+++ b/gcc/expmed.c
@@ -5343,7 +5343,7 @@ emit_store_flag_1 (rtx target, enum rtx_code code, rtx op0, rtx op1,
target = gen_reg_rtx (target_mode);
convert_move (target, tem,
- 0 == (STORE_FLAG_VALUE
+ 0 == ((normalizep ? normalizep : STORE_FLAG_VALUE)
& ((HOST_WIDE_INT) 1
<< (GET_MODE_BITSIZE (word_mode) -1))));
return target;