summaryrefslogtreecommitdiff
path: root/cglin.c
diff options
context:
space:
mode:
authorJohn van Groningen2003-05-13 13:32:28 +0000
committerJohn van Groningen2003-05-13 13:32:28 +0000
commitd17bd94108dcdf97a1caa452c506aae1e2eb0a39 (patch)
tree1f4decf38bce9f681d08d9d660da47229b9d5a99 /cglin.c
parentoptimize division and remainder of power of 2 (diff)
optimize remainder of power of 2 for ia32
Diffstat (limited to 'cglin.c')
-rw-r--r--cglin.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/cglin.c b/cglin.c
index 17ed82d..5f7092e 100644
--- a/cglin.c
+++ b/cglin.c
@@ -3384,7 +3384,7 @@ static void linearize_div_mod_operator (int i_instruction_code,INSTRUCTION_GRAPH
to_data_addressing_mode (&ad_1);
# ifdef I486
- if ((ad_1.ad_mode==P_IMMEDIATE && !((ad_1.ad_offset & (ad_1.ad_offset-1))==0 && ad_1.ad_offset>0)) || ad_1.ad_mode==P_INDEXED)
+ if ((ad_1.ad_mode==P_IMMEDIATE && !((ad_1.ad_offset & (ad_1.ad_offset-1))==0 && (i_instruction_code==IMOD ? ad_1.ad_offset>1 : ad_1.ad_offset>0))) || ad_1.ad_mode==P_INDEXED)
in_data_register (&ad_1);
# endif