From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14909 invoked by alias); 13 Oct 2012 08:52:37 -0000 Received: (qmail 14900 invoked by uid 22791); 13 Oct 2012 08:52:36 -0000 X-SWARE-Spam-Status: No, hits=-7.1 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,RCVD_IN_DNSWL_HI,RP_MATCHES_RCVD,SARE_HTML_INV_TAG X-Spam-Check-By: sourceware.org Received: from mail4-relais-sop.national.inria.fr (HELO mail4-relais-sop.national.inria.fr) (192.134.164.105) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sat, 13 Oct 2012 08:52:31 +0000 Received: from stedding.saclay.inria.fr ([193.55.250.194]) by mail4-relais-sop.national.inria.fr with ESMTP/TLS/DHE-RSA-AES128-SHA; 13 Oct 2012 10:52:30 +0200 Received: from glisse (helo=localhost) by stedding.saclay.inria.fr with local-esmtp (Exim 4.80) (envelope-from ) id 1TMxSQ-0004f6-9V; Sat, 13 Oct 2012 10:52:30 +0200 Date: Sat, 13 Oct 2012 09:33:00 -0000 From: Marc Glisse To: gcc-patches@gcc.gnu.org cc: ubizjak@gmail.com Subject: [i386] scalar ops that preserve the high part of a vector Message-ID: User-Agent: Alpine 2.02 (DEB 1266 2009-07-14) MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="8323329-708671216-1350118350=:9651" Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2012-10/txt/msg01281.txt.bz2 This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --8323329-708671216-1350118350=:9651 Content-Type: TEXT/PLAIN; format=flowed; charset=US-ASCII Content-length: 573 Hello, this patch provides an alternate pattern to let combine recognize scalar operations that preserve the high part of a vector. If the strategy is all right, I could do the same for more operations (mul, div, ...). Something similar is also possible for V4SF (different pattern though), but probably not as useful. bootstrap+testsuite ok. 2012-10-13 Marc Glisse PR target/54855 gcc/ * config/i386/sse.md (*sse2_vmv2df3): New define_insn. gcc/testsuite/ * gcc.target/i386/pr54855.c: New testcase. -- Marc Glisse --8323329-708671216-1350118350=:9651 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=p10 Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: inline; filename=p10 Content-length: 3111 SW5kZXg6IGNvbmZpZy9pMzg2L3NzZS5tZA0KPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQ0KLS0tIGNvbmZpZy9pMzg2L3NzZS5tZAkocmV2aXNpb24gMTkyNDIw KQ0KKysrIGNvbmZpZy9pMzg2L3NzZS5tZAkod29ya2luZyBjb3B5KQ0KQEAg LTgxMiwyMCArODEyLDM4IEBADQogCSAgKGNvbnN0X2ludCAxKSkpXQ0KICAg IlRBUkdFVF9TU0UiDQogICAiQA0KICAgIDxwbHVzbWludXNfbW5lbW9uaWM+ PHNzZXNjYWxhcm1vZGVzdWZmaXg+XHR7JTIsICUwfCUwLCAlMn0NCiAgICB2 PHBsdXNtaW51c19tbmVtb25pYz48c3Nlc2NhbGFybW9kZXN1ZmZpeD5cdHsl MiwgJTEsICUwfCUwLCAlMSwgJTJ9Ig0KICAgWyhzZXRfYXR0ciAiaXNhIiAi bm9hdngsYXZ4IikNCiAgICAoc2V0X2F0dHIgInR5cGUiICJzc2VhZGQiKQ0K ICAgIChzZXRfYXR0ciAicHJlZml4IiAib3JpZyx2ZXgiKQ0KICAgIChzZXRf YXR0ciAibW9kZSIgIjxzc2VzY2FsYXJtb2RlPiIpXSkNCiANCisoZGVmaW5l X2luc24gIipzc2UyX3ZtPHBsdXNtaW51c19pbnNuPnYyZGYzIg0KKyAgWyhz ZXQgKG1hdGNoX29wZXJhbmQ6VjJERiAwICJyZWdpc3Rlcl9vcGVyYW5kIiAi PXgseCIpDQorCSh2ZWNfY29uY2F0OlYyREYNCisJICAocGx1c21pbnVzOkRG DQorCSAgICAodmVjX3NlbGVjdDpERiANCisJICAgICAgKG1hdGNoX29wZXJh bmQ6VjJERiAxICJyZWdpc3Rlcl9vcGVyYW5kIiAiMCx4IikNCisJICAgICAg KHBhcmFsbGVsIFsoY29uc3RfaW50IDApXSkpDQorCSAgICAobWF0Y2hfb3Bl cmFuZDpERiAyICJub25pbW1lZGlhdGVfb3BlcmFuZCIgInhtLHhtIikpDQor CSAgKHZlY19zZWxlY3Q6REYgKG1hdGNoX2R1cCAxKSAocGFyYWxsZWwgWyhj b25zdF9pbnQgMSldKSkpKV0NCisgICJUQVJHRVRfU1NFMiINCisgICJADQor ICAgPHBsdXNtaW51c19tbmVtb25pYz5zZFx0eyUyLCAlMHwlMCwgJTJ9DQor ICAgdjxwbHVzbWludXNfbW5lbW9uaWM+c2RcdHslMiwgJTEsICUwfCUwLCAl MSwgJTJ9Ig0KKyAgWyhzZXRfYXR0ciAiaXNhIiAibm9hdngsYXZ4IikNCisg ICAoc2V0X2F0dHIgInR5cGUiICJzc2VhZGQiKQ0KKyAgIChzZXRfYXR0ciAi cHJlZml4IiAib3JpZyx2ZXgiKQ0KKyAgIChzZXRfYXR0ciAibW9kZSIgIkRG IildKQ0KKw0KIChkZWZpbmVfZXhwYW5kICJtdWw8bW9kZT4zIg0KICAgWyhz ZXQgKG1hdGNoX29wZXJhbmQ6VkYgMCAicmVnaXN0ZXJfb3BlcmFuZCIpDQog CShtdWx0OlZGDQogCSAgKG1hdGNoX29wZXJhbmQ6VkYgMSAibm9uaW1tZWRp YXRlX29wZXJhbmQiKQ0KIAkgIChtYXRjaF9vcGVyYW5kOlZGIDIgIm5vbmlt bWVkaWF0ZV9vcGVyYW5kIikpKV0NCiAgICJUQVJHRVRfU1NFIg0KICAgIml4 ODZfZml4dXBfYmluYXJ5X29wZXJhbmRzX25vX2NvcHkgKE1VTFQsIDxNT0RF Pm1vZGUsIG9wZXJhbmRzKTsiKQ0KIA0KIChkZWZpbmVfaW5zbiAiKm11bDxt b2RlPjMiDQogICBbKHNldCAobWF0Y2hfb3BlcmFuZDpWRiAwICJyZWdpc3Rl cl9vcGVyYW5kIiAiPXgseCIpDQpJbmRleDogdGVzdHN1aXRlL2djYy50YXJn ZXQvaTM4Ni9wcjU0ODU1LmMNCj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0t LSB0ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTQ4NTUuYwkocmV2aXNp b24gMCkNCisrKyB0ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTQ4NTUu YwkocmV2aXNpb24gMCkNCkBAIC0wLDAgKzEsMTggQEANCisvKiB7IGRnLWRv IGNvbXBpbGUgfSAqLw0KKy8qIHsgZGctb3B0aW9ucyAiLU8gLW1zc2UyIiB9 ICovDQorDQordHlwZWRlZiBkb3VibGUgdmVjIF9fYXR0cmlidXRlX18oKHZl Y3Rvcl9zaXplKDE2KSkpOw0KKw0KK3ZlYyBmICh2ZWMgeCkNCit7DQorICB4 WzBdICs9IDI7DQorICByZXR1cm4geDsNCit9DQorDQordmVjIGcgKHZlYyB4 KQ0KK3sNCisgIHhbMF0gLT0gMTsNCisgIHJldHVybiB4Ow0KK30NCisNCisv KiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90ICJtb3YiIH0gfSAq Lw0KDQpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiB0ZXN0c3VpdGUvZ2NjLnRhcmdl dC9pMzg2L3ByNTQ4NTUuYw0KX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KQWRk ZWQ6IHN2bjprZXl3b3Jkcw0KICAgKyBBdXRob3IgRGF0ZSBJZCBSZXZpc2lv biBVUkwNCkFkZGVkOiBzdm46ZW9sLXN0eWxlDQogICArIG5hdGl2ZQ0KDQo= --8323329-708671216-1350118350=:9651--