diff options
author | dje <dje@138bc75d-0d04-0410-961f-82ee72b054a4> | 1994-12-12 18:17:32 +0000 |
---|---|---|
committer | dje <dje@138bc75d-0d04-0410-961f-82ee72b054a4> | 1994-12-12 18:17:32 +0000 |
commit | b65270aa5699f61c229bf900d9576157d7550803 (patch) | |
tree | d9215ad3336ede2484f787b557594883b16bcf3c /gcc/expmed.c | |
parent | 8ebcf32eb51695a5614d381c1d3f3ade5fa6bed3 (diff) | |
download | gcc-b65270aa5699f61c229bf900d9576157d7550803.tar.gz |
(emit_store_flag): Set mode after canonicalizing op0/op1 so op1 is constant.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8646 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/expmed.c')
-rw-r--r-- | gcc/expmed.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/expmed.c b/gcc/expmed.c index 92ac24c9ac7..2b9a29bf978 100644 --- a/gcc/expmed.c +++ b/gcc/expmed.c @@ -3727,9 +3727,6 @@ emit_store_flag (target, code, op0, op1, mode, unsignedp, normalizep) rtx last = 0; rtx pattern, comparison; - if (mode == VOIDmode) - mode = GET_MODE (op0); - /* If one operand is constant, make it the second one. Only do this if the other operand is not constant as well. */ @@ -3742,6 +3739,9 @@ emit_store_flag (target, code, op0, op1, mode, unsignedp, normalizep) code = swap_condition (code); } + if (mode == VOIDmode) + mode = GET_MODE (op0); + /* For some comparisons with 1 and -1, we can convert this to comparisons with zero. This will often produce more opportunities for store-flag insns. */ |