From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KhRoE-0002m6-62 for qemu-devel@nongnu.org; Sun, 21 Sep 2008 12:29:18 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KhRoC-0002iv-AM for qemu-devel@nongnu.org; Sun, 21 Sep 2008 12:29:17 -0400 Received: from [199.232.76.173] (port=49626 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KhRoC-0002ia-22 for qemu-devel@nongnu.org; Sun, 21 Sep 2008 12:29:16 -0400 Received: from wf-out-1314.google.com ([209.85.200.174]:57670) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KhRo8-0006Yt-Dt for qemu-devel@nongnu.org; Sun, 21 Sep 2008 12:29:14 -0400 Received: by wf-out-1314.google.com with SMTP id 27so1234073wfd.4 for ; Sun, 21 Sep 2008 09:29:08 -0700 (PDT) Message-ID: Date: Sun, 21 Sep 2008 19:29:07 +0300 From: "Blue Swirl" Subject: Re: [Qemu-devel] [5281] Use the new concat_i32_i64 op for std and stda In-Reply-To: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_67143_6368234.1222014547801" References: <200809211601.35191.paul@codesourcery.com> Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paul Brook Cc: qemu-devel@nongnu.org ------=_Part_67143_6368234.1222014547801 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline On 9/21/08, Blue Swirl wrote: > On 9/21/08, Paul Brook wrote: > > On Sunday 21 September 2008, Blue Swirl wrote: > > > + r_low = tcg_temp_new(TCG_TYPE_I32); > > > + tcg_gen_trunc_tl_i32(r_low, cpu_tmp0); > > > + tcg_gen_trunc_tl_i32(cpu_tmp32, hi); > > > + tcg_gen_concat_i32_i64(cpu_tmp64, r_low, cpu_tmp32); > > > + tcg_temp_free(r_low); > > > > > > It's more efficient to not use concat_i32_i64 on 64-bit targets. > > See patch below. I'll let you decide if you want to apply or ignore it. > > > Good point. How about adding instead a concat_i64_i64 starting from this piece: > > > + tcg_gen_shli_i64(dest, high, 32); > > + tcg_gen_ext32u_i64(low, low); > > + tcg_gen_or_i64(dest, dest, low); > > > and also add defines for concat_tl_i64? That would be both clean and efficient. Like these patches? ------=_Part_67143_6368234.1222014547801 Content-Type: plain/text; name=concat_ops.diff Content-Transfer-Encoding: base64 X-Attachment-Id: f_fldvvzr9 Content-Disposition: attachment; filename=concat_ops.diff SW5kZXg6IHFlbXUvdGNnL3RjZy1vcC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHFlbXUub3JpZy90Y2cvdGNn LW9wLmgJMjAwOC0wOS0yMSAxNjoxODoyMi4wMDAwMDAwMDAgKzAwMDAKKysrIHFlbXUvdGNnL3Rj Zy1vcC5oCTIwMDgtMDktMjEgMTY6MjE6MDYuMDAwMDAwMDAwICswMDAwCkBAIC0xNDEyLDYgKzE0 MTIsMTQgQEAKICNlbmRpZgogfQogCitzdGF0aWMgaW5saW5lIHZvaWQgdGNnX2dlbl9jb25jYXRf aTY0X2k2NChUQ0d2IGRlc3QsIFRDR3YgbG93LCBUQ0d2IGhpZ2gpCit7CisgICAgVENHdiB0bXAg PSB0Y2dfdGVtcF9uZXcoVENHX1RZUEVfSTY0KTsKKyAgICB0Y2dfZ2VuX3NobGlfaTY0KHRtcCwg aGlnaCwgMzIpOworICAgIHRjZ19nZW5fb3JfaTY0KGRlc3QsIGxvdywgdG1wKTsKKyAgICB0Y2df dGVtcF9mcmVlKHRtcCk7Cit9CisKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKiovCiAvKiBRRU1VIHNwZWNpZmljIG9wZXJhdGlvbnMuIFRoZWlyIHR5cGUgZGVwZW5kIG9u IHRoZSBRRU1VIENQVQogICAgdHlwZS4gKi8KQEAgLTE2NjQsNiArMTY3Miw3IEBACiAjZGVmaW5l IHRjZ19nZW5fZXh0MTZzX3RsIHRjZ19nZW5fZXh0MTZzX2k2NAogI2RlZmluZSB0Y2dfZ2VuX2V4 dDMydV90bCB0Y2dfZ2VuX2V4dDMydV9pNjQKICNkZWZpbmUgdGNnX2dlbl9leHQzMnNfdGwgdGNn X2dlbl9leHQzMnNfaTY0CisjZGVmaW5lIHRjZ19nZW5fY29uY2F0X3RsX2k2NCB0Y2dfZ2VuX2Nv bmNhdF9pNjRfaTY0CiAjZGVmaW5lIHRjZ19jb25zdF90bCB0Y2dfY29uc3RfaTY0CiAjZWxzZQog I2RlZmluZSBUQ0dfVFlQRV9UTCBUQ0dfVFlQRV9JMzIKQEAgLTE3MTUsNiArMTcyNCw3IEBACiAj ZGVmaW5lIHRjZ19nZW5fZXh0MTZzX3RsIHRjZ19nZW5fZXh0MTZzX2kzMgogI2RlZmluZSB0Y2df Z2VuX2V4dDMydV90bCB0Y2dfZ2VuX21vdl9pMzIKICNkZWZpbmUgdGNnX2dlbl9leHQzMnNfdGwg dGNnX2dlbl9tb3ZfaTMyCisjZGVmaW5lIHRjZ19nZW5fY29uY2F0X3RsX2k2NCB0Y2dfZ2VuX2Nv bmNhdF9pMzJfaTY0CiAjZGVmaW5lIHRjZ19jb25zdF90bCB0Y2dfY29uc3RfaTMyCiAjZW5kaWYK IAo= ------=_Part_67143_6368234.1222014547801 Content-Type: plain/text; name=use_concat_ops.diff Content-Transfer-Encoding: base64 X-Attachment-Id: f_fldvw6x8 Content-Disposition: attachment; filename=use_concat_ops.diff SW5kZXg6IHFlbXUvdGFyZ2V0LXNwYXJjL3RyYW5zbGF0ZS5jCj09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHFlbXUu b3JpZy90YXJnZXQtc3BhcmMvdHJhbnNsYXRlLmMJMjAwOC0wOS0yMSAxNjoyMTo1My4wMDAwMDAw MDAgKzAwMDAKKysrIHFlbXUvdGFyZ2V0LXNwYXJjL3RyYW5zbGF0ZS5jCTIwMDgtMDktMjEgMTY6 Mjc6MDYuMDAwMDAwMDAwICswMDAwCkBAIC0xNzE1LDE0ICsxNzE1LDEwIEBACiAKIHN0YXRpYyBp bmxpbmUgdm9pZCBnZW5fc3RkYV9hc2koVENHdiBoaSwgVENHdiBhZGRyLCBpbnQgaW5zbiwgaW50 IHJkKQogewotICAgIFRDR3Ygcl9sb3csIHJfYXNpLCByX3NpemU7CisgICAgVENHdiByX2FzaSwg cl9zaXplOwogCiAgICAgZ2VuX21vdmxfcmVnX1ROKHJkICsgMSwgY3B1X3RtcDApOwotICAgIHJf bG93ID0gdGNnX3RlbXBfbmV3KFRDR19UWVBFX0kzMik7Ci0gICAgdGNnX2dlbl90cnVuY190bF9p MzIocl9sb3csIGNwdV90bXAwKTsKLSAgICB0Y2dfZ2VuX3RydW5jX3RsX2kzMihjcHVfdG1wMzIs IGhpKTsKLSAgICB0Y2dfZ2VuX2NvbmNhdF9pMzJfaTY0KGNwdV90bXA2NCwgcl9sb3csIGNwdV90 bXAzMik7Ci0gICAgdGNnX3RlbXBfZnJlZShyX2xvdyk7CisgICAgdGNnX2dlbl9jb25jYXRfdGxf aTY0KGNwdV90bXA2NCwgY3B1X3RtcDAsIGhpKTsKICAgICByX2FzaSA9IGdlbl9nZXRfYXNpKGlu c24sIGFkZHIpOwogICAgIHJfc2l6ZSA9IHRjZ19jb25zdF9pMzIoOCk7CiAgICAgdGNnX2dlbl9o ZWxwZXJfMF80KGhlbHBlcl9zdF9hc2ksIGFkZHIsIGNwdV90bXA2NCwgcl9hc2ksIHJfc2l6ZSk7 CkBAIC0xODE4LDE0ICsxODE0LDEwIEBACiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBnZW5fc3RkYV9h c2koVENHdiBoaSwgVENHdiBhZGRyLCBpbnQgaW5zbiwgaW50IHJkKQogewotICAgIFRDR3Ygcl9s b3csIHJfYXNpLCByX3NpemU7CisgICAgVENHdiByX2FzaSwgcl9zaXplOwogCiAgICAgZ2VuX21v dmxfcmVnX1ROKHJkICsgMSwgY3B1X3RtcDApOwotICAgIHJfbG93ID0gdGNnX3RlbXBfbmV3KFRD R19UWVBFX0kzMik7Ci0gICAgdGNnX2dlbl90cnVuY190bF9pMzIocl9sb3csIGNwdV90bXAwKTsK LSAgICB0Y2dfZ2VuX3RydW5jX3RsX2kzMihjcHVfdG1wMzIsIGhpKTsKLSAgICB0Y2dfZ2VuX2Nv bmNhdF9pMzJfaTY0KGNwdV90bXA2NCwgcl9sb3csIGNwdV90bXAzMik7Ci0gICAgdGNnX3RlbXBf ZnJlZShyX2xvdyk7CisgICAgdGNnX2dlbl9jb25jYXRfdGxfaTY0KGNwdV90bXA2NCwgY3B1X3Rt cDAsIGhpKTsKICAgICByX2FzaSA9IHRjZ19jb25zdF9pMzIoR0VUX0ZJRUxEKGluc24sIDE5LCAy NikpOwogICAgIHJfc2l6ZSA9IHRjZ19jb25zdF9pMzIoOCk7CiAgICAgdGNnX2dlbl9oZWxwZXJf MF80KGhlbHBlcl9zdF9hc2ksIGFkZHIsIGNwdV90bXA2NCwgcl9hc2ksIHJfc2l6ZSk7CkBAIC00 NDc3LDcgKzQ0NjksNyBAQAogICAgICAgICAgICAgICAgICAgICBpZiAocmQgJiAxKQogICAgICAg ICAgICAgICAgICAgICAgICAgZ290byBpbGxlZ2FsX2luc247CiAgICAgICAgICAgICAgICAgICAg IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgVENHdiByX2xvdywgcl9jb25zdDsKKyAg ICAgICAgICAgICAgICAgICAgICAgIFRDR3Ygcl9jb25zdDsKIAogICAgICAgICAgICAgICAgICAg ICAgICAgc2F2ZV9zdGF0ZShkYywgY3B1X2NvbmQpOwogICAgICAgICAgICAgICAgICAgICAgICAg Z2VuX2FkZHJlc3NfbWFzayhkYywgY3B1X2FkZHIpOwpAQCAtNDQ4NiwxMSArNDQ3OCw3IEBACiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcl9jb25zdCk7IC8vIFhY WCByZW1vdmUKICAgICAgICAgICAgICAgICAgICAgICAgIHRjZ190ZW1wX2ZyZWUocl9jb25zdCk7 CiAgICAgICAgICAgICAgICAgICAgICAgICBnZW5fbW92bF9yZWdfVE4ocmQgKyAxLCBjcHVfdG1w MCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICByX2xvdyA9IHRjZ190ZW1wX25ldyhUQ0dfVFlQ RV9JMzIpOwotICAgICAgICAgICAgICAgICAgICAgICAgdGNnX2dlbl90cnVuY190bF9pMzIocl9s b3csIGNwdV90bXAwKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRjZ19nZW5fdHJ1bmNfdGxf aTMyKGNwdV90bXAzMiwgY3B1X3ZhbCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0Y2dfZ2Vu X2NvbmNhdF9pMzJfaTY0KGNwdV90bXA2NCwgcl9sb3csIGNwdV90bXAzMik7Ci0gICAgICAgICAg ICAgICAgICAgICAgICB0Y2dfdGVtcF9mcmVlKHJfbG93KTsKKyAgICAgICAgICAgICAgICAgICAg ICAgIHRjZ19nZW5fY29uY2F0X2kzMl9pNjQoY3B1X3RtcDY0LCBjcHVfdG1wMCwgY3B1X3ZhbCk7 CiAgICAgICAgICAgICAgICAgICAgICAgICB0Y2dfZ2VuX3FlbXVfc3Q2NChjcHVfdG1wNjQsIGNw dV9hZGRyLCBkYy0+bWVtX2lkeCk7CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgICAgICAgYnJlYWs7Cg== ------=_Part_67143_6368234.1222014547801--