From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MRrCd-0006ZN-N8 for qemu-devel@nongnu.org; Fri, 17 Jul 2009 13:26:35 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MRrCZ-0006XJ-4Y for qemu-devel@nongnu.org; Fri, 17 Jul 2009 13:26:35 -0400 Received: from [199.232.76.173] (port=49296 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MRrCY-0006X9-Om for qemu-devel@nongnu.org; Fri, 17 Jul 2009 13:26:30 -0400 Received: from mail-fx0-f211.google.com ([209.85.220.211]:34680) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MRrCY-0000Xc-6R for qemu-devel@nongnu.org; Fri, 17 Jul 2009 13:26:30 -0400 Received: by fxm7 with SMTP id 7so764710fxm.34 for ; Fri, 17 Jul 2009 10:26:28 -0700 (PDT) MIME-Version: 1.0 Date: Fri, 17 Jul 2009 19:26:28 +0200 Message-ID: <761ea48b0907171026u306a8124sf0ffa12166fd612a@mail.gmail.com> From: Laurent Desnogues Content-Type: multipart/mixed; boundary=000e0cd2493aa611a8046eea1681 Subject: [Qemu-devel] [PATCH] ARM back-end: Improve generated code List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org --000e0cd2493aa611a8046eea1681 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Hello, this patch improves the ARM back-end in the following way: - use movw/movt to load immediate values for ARMv7-A - implement add/sub/and/or/xor with immediate (only 8-bit) Laurent Signed-off-by: Laurent Desnogues --000e0cd2493aa611a8046eea1681 Content-Type: application/octet-stream; name="arm-codegen.patch" Content-Disposition: attachment; filename="arm-codegen.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_fx96inrq0 ZGlmZiAtLWdpdCBhL3RjZy9hcm0vdGNnLXRhcmdldC5jIGIvdGNnL2FybS90Y2ctdGFyZ2V0LmMK aW5kZXggNmNmZTFkNi4uN2VmMmI4OSAxMDA2NDQKLS0tIGEvdGNnL2FybS90Y2ctdGFyZ2V0LmMK KysrIGIvdGNnL2FybS90Y2ctdGFyZ2V0LmMKQEAgLTEwMCw2ICsxMDAsMTAgQEAgc3RhdGljIGlu dCB0YXJnZXRfcGFyc2VfY29uc3RyYWludChUQ0dBcmdDb25zdHJhaW50ICpjdCwgY29uc3QgY2hh ciAqKnBjdF9zdHIpCiAKICAgICBjdF9zdHIgPSAqcGN0X3N0cjsKICAgICBzd2l0Y2ggKGN0X3N0 clswXSkgeworICAgIGNhc2UgJ0knOgorICAgICAgICAgY3QtPmN0IHw9IFRDR19DVF9DT05TVF9B Uk07CisgICAgICAgICBicmVhazsKKwogICAgIGNhc2UgJ3InOgogI2lmbmRlZiBDT05GSUdfU09G VE1NVQogICAgIGNhc2UgJ2QnOgpAQCAtMTc1LDYgKzE3OSwxMyBAQCBzdGF0aWMgaW50IHRhcmdl dF9wYXJzZV9jb25zdHJhaW50KFRDR0FyZ0NvbnN0cmFpbnQgKmN0LCBjb25zdCBjaGFyICoqcGN0 X3N0cikKICAgICByZXR1cm4gMDsKIH0KIAorCitzdGF0aWMgaW5saW5lIGludCBjaGVja19maXRf aW1tKHVpbnQzMl90IGltbSkKK3sKKyAgICAvKiBYWFg6IHVzZSByb3RhdGlvbiAqLworICAgIHJl dHVybiAoaW1tICYgfjB4ZmYpID09IDA7Cit9CisKIC8qIFRlc3QgaWYgYSBjb25zdGFudCBtYXRj aGVzIHRoZSBjb25zdHJhaW50LgogICogVE9ETzogZGVmaW5lIGNvbnN0cmFpbnRzIGZvcjoKICAq CkBAIC0xOTAsNiArMjAxLDggQEAgc3RhdGljIGlubGluZSBpbnQgdGNnX3RhcmdldF9jb25zdF9t YXRjaCh0Y2dfdGFyZ2V0X2xvbmcgdmFsLAogICAgIGN0ID0gYXJnX2N0LT5jdDsKICAgICBpZiAo Y3QgJiBUQ0dfQ1RfQ09OU1QpCiAgICAgICAgIHJldHVybiAxOworICAgIGVsc2UgaWYgKChjdCAm IFRDR19DVF9DT05TVF9BUk0pICYmIGNoZWNrX2ZpdF9pbW0odmFsKSkKKyAgICAgICAgcmV0dXJu IDE7CiAgICAgZWxzZQogICAgICAgICByZXR1cm4gMDsKIH0KQEAgLTMzMyw2ICszNDYsMTYgQEAg c3RhdGljIGlubGluZSB2b2lkIHRjZ19vdXRfbW92aTMyKFRDR0NvbnRleHQgKnMsCiAgICAgICAg ICAgICAgICAgdGNnX291dF9kYXRfaW1tKHMsIGNvbmQsIEFSSVRIX0FERCwgcmQsIDE1LCBvZmZz ZXQpIDoKICAgICAgICAgICAgICAgICB0Y2dfb3V0X2RhdF9pbW0ocywgY29uZCwgQVJJVEhfU1VC LCByZCwgMTUsIC1vZmZzZXQpOwogCisjaWZkZWYgX19BUk1fQVJDSF83QV9fCisgICAgLyogdXNl IG1vdncvbW92dCAqLworICAgIC8qIG1vdncgKi8KKyAgICB0Y2dfb3V0MzIocywgKGNvbmQgPDwg MjgpIHwgMHgwMzAwMDAwMCB8IChyZCA8PCAxMikKKyAgICAgICAgICAgICAgfCAoKGFyZyA8PCA0 KSAmIDB4MDAwZjAwMDApIHwgKGFyZyAmIDB4ZmZmKSk7CisgICAgaWYgKGFyZyAmIDB4ZmZmZjAw MDApCisgICAgICAgIC8qIG1vdnQgKi8KKyAgICAgICAgdGNnX291dDMyKHMsIChjb25kIDw8IDI4 KSB8IDB4MDM0MDAwMDAgfCAocmQgPDwgMTIpCisgICAgICAgICAgICAgICAgICB8ICgoYXJnID4+ IDEyKSAmIDB4MDAwZjAwMDApIHwgKChhcmcgPj4gMTYpICYgMHhmZmYpKTsKKyNlbHNlCiAgICAg dGNnX291dF9kYXRfaW1tKHMsIGNvbmQsIEFSSVRIX01PViwgcmQsIDAsIGFyZyAmIDB4ZmYpOwog ICAgIGlmIChhcmcgJiAweDAwMDBmZjAwKQogICAgICAgICB0Y2dfb3V0X2RhdF9pbW0ocywgY29u ZCwgQVJJVEhfT1JSLCByZCwgcmQsCkBAIC0zNDMsNiArMzY2LDcgQEAgc3RhdGljIGlubGluZSB2 b2lkIHRjZ19vdXRfbW92aTMyKFRDR0NvbnRleHQgKnMsCiAgICAgaWYgKGFyZyAmIDB4ZmYwMDAw MDApCiAgICAgICAgIHRjZ19vdXRfZGF0X2ltbShzLCBjb25kLCBBUklUSF9PUlIsIHJkLCByZCwK ICAgICAgICAgICAgICAgICAgICAgICAgICgoYXJnID4+IDI0KSAmIDB4ZmYpIHwgMHg0MDApOwor I2VuZGlmCiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCB0Y2dfb3V0X211bDMyKFRDR0NvbnRleHQg KnMsCkBAIC0xMzgzLDggKzE0MDcsMTIgQEAgc3RhdGljIGlubGluZSB2b2lkIHRjZ19vdXRfb3Ao VENHQ29udGV4dCAqcywgaW50IG9wYywKICAgICAgICAgYyA9IEFSSVRIX0VPUjsKICAgICAgICAg LyogRmFsbCB0aHJvdWdoLiAgKi8KICAgICBnZW5fYXJpdGg6Ci0gICAgICAgIHRjZ19vdXRfZGF0 X3JlZyhzLCBDT05EX0FMLCBjLAotICAgICAgICAgICAgICAgICAgICAgICAgYXJnc1swXSwgYXJn c1sxXSwgYXJnc1syXSwgU0hJRlRfSU1NX0xTTCgwKSk7CisgICAgICAgIGlmIChjb25zdF9hcmdz WzJdKQorICAgICAgICAgICAgdGNnX291dF9kYXRfaW1tKHMsIENPTkRfQUwsIGMsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgYXJnc1swXSwgYXJnc1sxXSwgYXJnc1syXSk7CisgICAgICAg IGVsc2UKKyAgICAgICAgICAgIHRjZ19vdXRfZGF0X3JlZyhzLCBDT05EX0FMLCBjLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGFyZ3NbMF0sIGFyZ3NbMV0sIGFyZ3NbMl0sIFNISUZUX0lN TV9MU0woMCkpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIElOREVYX29wX2FkZDJfaTMyOgog ICAgICAgICB0Y2dfb3V0X2RhdF9yZWcyKHMsIENPTkRfQUwsIEFSSVRIX0FERCwgQVJJVEhfQURD LApAQCAtMTUyMywxNSArMTU1MSwxNSBAQCBzdGF0aWMgY29uc3QgVENHVGFyZ2V0T3BEZWYgYXJt X29wX2RlZnNbXSA9IHsKICAgICB7IElOREVYX29wX3N0X2kzMiwgeyAiciIsICJyIiB9IH0sCiAK ICAgICAvKiBUT0RPOiAiciIsICJyIiwgInJpIiAqLwotICAgIHsgSU5ERVhfb3BfYWRkX2kzMiwg eyAiciIsICJyIiwgInIiIH0gfSwKLSAgICB7IElOREVYX29wX3N1Yl9pMzIsIHsgInIiLCAiciIs ICJyIiB9IH0sCisgICAgeyBJTkRFWF9vcF9hZGRfaTMyLCB7ICJyIiwgInIiLCAickkiIH0gfSwK KyAgICB7IElOREVYX29wX3N1Yl9pMzIsIHsgInIiLCAiciIsICJySSIgfSB9LAogICAgIHsgSU5E RVhfb3BfbXVsX2kzMiwgeyAiciIsICJyIiwgInIiIH0gfSwKICAgICB7IElOREVYX29wX211bHUy X2kzMiwgeyAiciIsICJyIiwgInIiLCAiciIgfSB9LAogICAgIHsgSU5ERVhfb3BfZGl2Ml9pMzIs IHsgInIiLCAiciIsICJyIiwgIjEiLCAiMiIgfSB9LAogICAgIHsgSU5ERVhfb3BfZGl2dTJfaTMy LCB7ICJyIiwgInIiLCAiciIsICIxIiwgIjIiIH0gfSwKLSAgICB7IElOREVYX29wX2FuZF9pMzIs IHsgInIiLCAiciIsICJyIiB9IH0sCi0gICAgeyBJTkRFWF9vcF9vcl9pMzIsIHsgInIiLCAiciIs ICJyIiB9IH0sCi0gICAgeyBJTkRFWF9vcF94b3JfaTMyLCB7ICJyIiwgInIiLCAiciIgfSB9LAor ICAgIHsgSU5ERVhfb3BfYW5kX2kzMiwgeyAiciIsICJyIiwgInJJIiB9IH0sCisgICAgeyBJTkRF WF9vcF9vcl9pMzIsIHsgInIiLCAiciIsICJySSIgfSB9LAorICAgIHsgSU5ERVhfb3BfeG9yX2kz MiwgeyAiciIsICJyIiwgInJJIiB9IH0sCiAgICAgeyBJTkRFWF9vcF9uZWdfaTMyLCB7ICJyIiwg InIiIH0gfSwKIAogICAgIHsgSU5ERVhfb3Bfc2hsX2kzMiwgeyAiciIsICJyIiwgInJpIiB9IH0s CmRpZmYgLS1naXQgYS90Y2cvYXJtL3RjZy10YXJnZXQuaCBiL3RjZy9hcm0vdGNnLXRhcmdldC5o CmluZGV4IGZmYTljZWUuLjdmZjI5MjggMTAwNjQ0Ci0tLSBhL3RjZy9hcm0vdGNnLXRhcmdldC5o CisrKyBiL3RjZy9hcm0vdGNnLXRhcmdldC5oCkBAIC01NSw2ICs1NSw4IEBAIGVudW0gewogCiAj ZGVmaW5lIFRDR19UQVJHRVRfTkJfUkVHUyAxNQogCisjZGVmaW5lIFRDR19DVF9DT05TVF9BUk0g MHgxMDAKKwogLyogdXNlZCBmb3IgZnVuY3Rpb24gY2FsbCBnZW5lcmF0aW9uICovCiAjZGVmaW5l IFRDR19SRUdfQ0FMTF9TVEFDSwkJVENHX1JFR19SMTMKICNkZWZpbmUgVENHX1RBUkdFVF9TVEFD S19BTElHTgkJOAo= --000e0cd2493aa611a8046eea1681--