[M3devel] bit field operations for insert/extract
Jay K
jay.krell at cornell.edu
Tue Nov 23 19:46:06 CET 2010
None yet. But notice the endian checks around the insert_mn or extract_mn uses in cg.m3.
The change would be to remove those.
- Jay
Subject: Re: [M3devel] bit field operations for insert/extract
From: hosking at cs.purdue.edu
Date: Tue, 23 Nov 2010 09:37:00 -0500
CC: m3devel at elegosoft.com
To: jay.krell at cornell.edu
Refresh my memory. What m3front change did you make?
On Nov 23, 2010, at 3:33 AM, Jay K wrote:Tony, I'm going to try again to use bitfield operations for extract_mn.
And insert_mn.
I think I know what went wrong before for extract_mn: just remove the endian check in m3front.
But I'm going to be sure test p240 covers it well.
The easy part, duh, your original extract_mn was correct I think, just, again, missing the m3front change.
Insert_mn is less obvious.
I started writing it... bitfield_ref..modify_expr...uh, seems suspicious, to be modifying an existing value.
I guess it's more like, that, but with a temp that starts with the full value of x:
create temp
modify(temp, x)
modify(bitfield_ref(temp, count, offset), y);
m3_load(temp)
?
I'll try something like that.
It seems unfortunate.
Maybe we can know if x is already a value and not a variable?
- Jay
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20101123/a0191c90/attachment-0002.html>
More information about the M3devel
mailing list