summaryrefslogtreecommitdiff
path: root/gcc/basic-block.h
diff options
context:
space:
mode:
authordje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>1997-06-06 21:17:33 +0000
committerdje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>1997-06-06 21:17:33 +0000
commit9dd2db317a14e88aa17c89258570e4b950cf9d1f (patch)
treedf96dcacb9cafb84f58dbfd4095288ce342904a5 /gcc/basic-block.h
parentbdd0d70799050f49efd2df08ff87ae2329edcd18 (diff)
downloadgcc-9dd2db317a14e88aa17c89258570e4b950cf9d1f.tar.gz
(EXECUTE_IF_AND_COMPL_IN_REG_SET): Fix setting of scan_rs_.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14166 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/basic-block.h')
-rw-r--r--gcc/basic-block.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/basic-block.h b/gcc/basic-block.h
index 2aa092a2503..acd5ba7cf72 100644
--- a/gcc/basic-block.h
+++ b/gcc/basic-block.h
@@ -222,11 +222,11 @@ do { \
set in the first regset and not set in the second. */
#define EXECUTE_IF_AND_COMPL_IN_REG_SET(REGSET1, REGSET2, MIN, REGNUM, CODE) \
do { \
- register REGSET_ELT_TYPE *scan_rs1_ = (REGSET1); \
- register REGSET_ELT_TYPE *scan_rs2_ = (REGSET2); \
- register int i_; \
+ register int i_ = (MIN) / REGSET_ELT_BITS; \
register int shift_ = (MIN) % REGSET_ELT_BITS; \
- for (i_ = (MIN) / REGSET_ELT_BITS; i_ < regset_size; i_++) \
+ register REGSET_ELT_TYPE *scan_rs1_ = (REGSET1) + i_; \
+ register REGSET_ELT_TYPE *scan_rs2_ = (REGSET2) + i_; \
+ for ( ; i_ < regset_size; i_++) \
{ \
REGSET_ELT_TYPE word_ = *scan_rs1_++ & ~ *scan_rs2_++; \
if (word_) \