diff options
author | mmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-09-29 03:31:23 +0000 |
---|---|---|
committer | mmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-09-29 03:31:23 +0000 |
commit | cbb0253a040b702b23cec633c2ff15d805006be8 (patch) | |
tree | 31982fcfb5affaad07795757ddfef347ec078819 /gcc/expmed.c | |
parent | 26662a5cb984f0b78a640bd56579d2339244c952 (diff) | |
download | gcc-cbb0253a040b702b23cec633c2ff15d805006be8.tar.gz |
PR 17886
* expmed.c (expand_shift): Move logic to reverse rotation
direction when rotating by constants ...
* optabs.c (expand_binop): ... here.
* config/i386/i386.md (rotrdi3): Handle 32-bit mode.
(ix86_rotrdi3): New pattern.
(rotldi3): Handle 32-bit mode.
(ix86_rotldi3): New pattern.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104761 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/expmed.c')
-rw-r--r-- | gcc/expmed.c | 13 |
1 files changed, 0 insertions, 13 deletions
diff --git a/gcc/expmed.c b/gcc/expmed.c index 5da9084651f..19d972d2ad3 100644 --- a/gcc/expmed.c +++ b/gcc/expmed.c @@ -2237,19 +2237,6 @@ expand_shift (enum tree_code code, enum machine_mode mode, rtx shifted, temp = expand_binop (mode, left ? rotl_optab : rotr_optab, shifted, op1, target, unsignedp, methods); - - /* If we don't have the rotate, but we are rotating by a constant - that is in range, try a rotate in the opposite direction. */ - - if (temp == 0 && GET_CODE (op1) == CONST_INT - && INTVAL (op1) > 0 - && (unsigned int) INTVAL (op1) < GET_MODE_BITSIZE (mode)) - temp = expand_binop (mode, - left ? rotr_optab : rotl_optab, - shifted, - GEN_INT (GET_MODE_BITSIZE (mode) - - INTVAL (op1)), - target, unsignedp, methods); } else if (unsignedp) temp = expand_binop (mode, |