summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/eigccx86.h
diff options
context:
space:
mode:
author Firehawke <Firehawke@users.noreply.github.com>2017-12-13 21:01:10 -0700
committer Firehawke <Firehawke@users.noreply.github.com>2017-12-13 21:01:10 -0700
commit54155441e9ba9941e85d80c4834a66376a11e791 (patch)
treeaa44bdaf0035cbe188d64c447f225f10f7d76d8d /src/osd/eigccx86.h
parentf537428e5a40ba6dde8ca9bf0fe9ae6b1f189ac4 (diff)
Revert "Merge branch 'master' of https://github.com/mamedev/mame"
This reverts commit f537428e5a40ba6dde8ca9bf0fe9ae6b1f189ac4, reversing changes made to 0d70d798107d4e4e8fb9f230410aeb1e888d65c5.
Diffstat (limited to 'src/osd/eigccx86.h')
-rw-r--r--src/osd/eigccx86.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/osd/eigccx86.h b/src/osd/eigccx86.h
index b3831d21524..b67b646451e 100644
--- a/src/osd/eigccx86.h
+++ b/src/osd/eigccx86.h
@@ -474,12 +474,13 @@ _count_leading_zeros(uint32_t value)
__asm__ (
" bsrl %[value], %[result] ;"
" cmovzl %[bias], %[result] ;"
+ " xorl $31, %[result] ;"
: [result] "=&r" (result) // result can be in any register
: [value] "rm" (value) // 'value' can be register or memory
- , [bias] "rm" (~uint32_t(0)) // 'bias' can be register or memory
+ , [bias] "rm" (uint32_t(63)) // 'bias' can be register or memory
: "cc" // clobbers condition codes
);
- return 31U - result;
+ return result;
}
@@ -496,12 +497,13 @@ _count_leading_ones(uint32_t value)
__asm__ (
" bsrl %[value], %[result] ;"
" cmovzl %[bias], %[result] ;"
+ " xorl $31, %[result] ;"
: [result] "=&r" (result) // result can be in any register
: [value] "rm" (~value) // 'value' can be register or memory
- , [bias] "rm" (~uint32_t(0)) // 'bias' can be register or memory
+ , [bias] "rm" (uint32_t(63)) // 'bias' can be register or memory
: "cc" // clobbers condition codes
);
- return 31U - result;
+ return result;
}
#endif // MAME_OSD_EIGCCX86_H