c/336: Superfluous instructions generated from bit-field operations

thomasl@ce.chalmers.se thomasl@ce.chalmers.se
Tue Jun 20 00:06:00 GMT 2000


>Number:         336
>Category:       c
>Synopsis:       Superfluous instructions generated from bit-field operations
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    unassigned
>State:          open
>Class:          pessimizes-code
>Submitter-Id:   net
>Arrival-Date:   Tue Jun 20 00:06:00 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator:     thomasl@ce.chalmers.se
>Release:        gcc version 2.95.2 19991024
>Organization:
>Environment:
sparc-sun-solaris2.7
>Description:
When putting things into a bit-field struct, extra
useless instructions are generated.

Harmless, but not very optimal.
>How-To-Repeat:
gcc -S -O2 bug.c
(or g++)
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="bug.c"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="bug.c"

LyogYnVnLmMgLSBleGFtcGxlIGdpdmluZyB0d28gc3VwZXJmbHVvdXMgaW5zdHJ1Y3Rpb25zLiAq
LwoKdHlwZWRlZiBzdHJ1Y3QgewogIGludCBhIDogMzA7CiAgaW50IGIgOiAxOwogIGludCBjIDog
MTsKfSBiaXRzdHI7CgpiaXRzdHIgZnVuKGludCBzKQp7CiAgYml0c3RyIHJlczsKICByZXMuYSAg
PSBzOwogIHJlcy5iICA9IDE7CiAgcmVzLmMgID0gMDsKICByZXR1cm4gcmVzOwp9CgovKiBPdXRw
dXQgZnJvbTogZ2NjIC1TIC1PMiBidWcuYwoKCS5maWxlCSJidWcuYyIKZ2NjMl9jb21waWxlZC46
Ci5zZWN0aW9uCSIudGV4dCIKCS5hbGlnbiA0CgkuZ2xvYmFsIGZ1bgoJLnR5cGUJIGZ1biwjZnVu
Y3Rpb24KCS5wcm9jCTAxMApmdW46CgkhI1BST0xPR1VFIyAwCgkhI1BST0xPR1VFIyAxCglzbGwJ
JW8wLCAyLCAlbzAKCWFuZAklZzIsIDMsICVnMiAgICAgICA8LS0tIFN0cmFuZ2UgdXNlIG9mICVn
Miwgbm90IG5lZWRlZCEKCW9yCSVnMiwgJW8wLCAlZzIgICAgIDwtLS0gTm90IG5lZWRlZCBhcyB3
ZWxsIQoJbGQJWyVzcCs2NF0sICVvMAoJb3IJJWcyLCAyLCAlZzIKCWFuZAklZzIsIC0yLCAlZzIK
CWptcAklbzcrMTIKCXN0CSVnMiwgWyVvMF0KLkxMZmUxOgoJLnNpemUJIGZ1biwuTExmZTEtZnVu
CgkuaWRlbnQJIkdDQzogKEdOVSkgMi45NS4yIDE5OTkxMDI0IChyZWxlYXNlKSIKCiovCg==


More information about the Gcc-prs mailing list