All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yerden Zhumabekov <e_zhumabekov-8EHiFRVJVgQ@public.gmane.org>
To: "Ananyev,
	Konstantin"
	<konstantin.ananyev-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	"Richardson,
	Bruce" <bruce.richardson-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	Neil Horman <nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
Cc: "dev-VfR2kkLFssw@public.gmane.org" <dev-VfR2kkLFssw@public.gmane.org>
Subject: Re: [PATCH v4 3/5] hash: add fallback to software CRC32 implementation
Date: Wed, 19 Nov 2014 17:59:39 +0600	[thread overview]
Message-ID: <546C862B.3090901@sts.kz> (raw)
In-Reply-To: <2601191342CEEE43887BDE71AB977258213B6C4D-kPTMFJFq+rEu0RiL9chJVbfspsVTdybXVpNB7YpNyf8@public.gmane.org>


19.11.2014 17:50, Ananyev, Konstantin пишет:
>
> As I remember with gcc & icc it is possible to specify tht you'd like to compile that particular function
> for different target.
> From https://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html:
> "target
> The target attribute is used to specify that a function is to be compiled with different target options than specified on the command line. This can be used for instance to have functions compiled with a different ISA (instruction set architecture) than the default. You can also use the ‘#pragma GCC target’ pragma to set more than one function to be compiled with specific target options. See Function Specific Option Pragmas, for details about the ‘#pragma GCC target’ pragma.
> For instance on a 386, you could compile one function with target("sse4.1,arch=core2") and another with target("sse4a,arch=amdfam10"). This is equivalent to compiling the first function with -msse4.1 and -march=core2 options, and the second function with -msse4a and -march=amdfam10 options. It is up to the user to make sure that a function is only invoked on a machine that supports the particular ISA it is compiled for (for example by using cpuid on 386 to determine what feature bits and architecture family are used).
>
>           int core2_func (void) __attribute__ ((__target__ ("arch=core2")));
>           int sse3_func (void) __attribute__ ((__target__ ("sse3")));
> You can either use multiple strings to specify multiple options, or separate the options with a comma (‘,’).
>
> The target attribute is presently implemented for i386/x86_64, PowerPC, and Nios II targets only. The options supported are specific to each target.
>
> On the 386, the following options are allowed:
> ...
>  ‘sse4.2’
> ‘no-sse4.2’"
>
> Wouldn't that suit your purposes?
> Probably you can even keep your function inline with that approach.
Very nice. Thank you. I will test it.


-- 
Sincerely,

Yerden Zhumabekov
State Technical Service
Astana, KZ

  parent reply	other threads:[~2014-11-19 11:59 UTC|newest]

Thread overview: 98+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-03  6:05 [PATCH 0/2] rewritten rte_hash_crc() call Yerden Zhumabekov
     [not found] ` <1409724351-23786-1-git-send-email-e_zhumabekov-8EHiFRVJVgQ@public.gmane.org>
2014-09-03  6:05   ` [PATCH 1/2] hash: add new rte_hash_crc_8byte call Yerden Zhumabekov
2014-09-03  6:05   ` [PATCH 2/2] hash: rte_hash_crc uses 8- and 4-byte CRC32 intrinsics Yerden Zhumabekov
2014-11-13 17:33   ` [PATCH 0/2] rewritten rte_hash_crc() call Thomas Monjalon
2014-11-14  0:52     ` Neil Horman
     [not found]       ` <20141114005211.GC14230-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2014-11-14  7:15         ` Yerden Zhumabekov
     [not found]           ` <5465AC00.1070602-8EHiFRVJVgQ@public.gmane.org>
2014-11-14 11:33             ` Neil Horman
     [not found]               ` <20141114113327.GA19147-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-11-14 11:57                 ` Yerden Zhumabekov
     [not found]                   ` <5465EE3F.2010404-8EHiFRVJVgQ@public.gmane.org>
2014-11-14 13:53                     ` Neil Horman
     [not found]                       ` <20141114135308.GD19147-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-11-14 14:33                         ` Thomas Monjalon
2014-11-14 16:43                         ` Yerden Zhumabekov
     [not found]                           ` <5466313B.6040407-8EHiFRVJVgQ@public.gmane.org>
2014-11-14 18:41                             ` Neil Horman
     [not found]                               ` <20141114184157.GF19147-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-11-15 21:45                                 ` Yerden Zhumabekov
2014-11-16 17:59   ` [PATCH v2 0/4] rte_hash_crc reworked to be platform-independent Yerden Zhumabekov
     [not found]     ` <1416160760-16087-1-git-send-email-e_zhumabekov-8EHiFRVJVgQ@public.gmane.org>
2014-11-17 11:31       ` Neil Horman
     [not found]         ` <20141117113110.GB17886-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-11-17 11:54           ` Yerden Zhumabekov
     [not found]             ` <5469E1ED.4040109-8EHiFRVJVgQ@public.gmane.org>
2014-11-25 17:05               ` Stephen Hemminger
2014-11-18  3:21       ` [PATCH v3 0/5] " Yerden Zhumabekov
     [not found]         ` <cover.1416280649.git.e_zhumabekov-8EHiFRVJVgQ@public.gmane.org>
2014-11-18  3:21           ` [PATCH v3 1/5] hash: add software CRC32 implementation Yerden Zhumabekov
     [not found]             ` <ea79d201b532a9f165396a9197b31d6d331738a6.1416280649.git.e_zhumabekov-8EHiFRVJVgQ@public.gmane.org>
2014-11-25 17:34               ` Stephen Hemminger
2014-11-18  3:21           ` [PATCH v3 2/5] hash: add new rte_hash_crc_8byte call Yerden Zhumabekov
2014-11-18  3:21           ` [PATCH v3 3/5] hash: add fallback to software CRC32 implementation Yerden Zhumabekov
     [not found]             ` <faece334ae2ae58553c0a19c5f8830993ae543f3.1416280649.git.e_zhumabekov-8EHiFRVJVgQ@public.gmane.org>
2014-11-18  4:56               ` Yerden Zhumabekov
     [not found]                 ` <546AD178.9070109-8EHiFRVJVgQ@public.gmane.org>
2014-11-18 13:33                   ` Neil Horman
     [not found]                     ` <20141118133307.GA32375-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-11-18 13:37                       ` Yerden Zhumabekov
2014-11-18 13:43                       ` Thomas Monjalon
2014-11-18  3:21           ` [PATCH v3 4/5] hash: rte_hash_crc() slices data into 8-byte pieces Yerden Zhumabekov
2014-11-18  3:25           ` [PATCH v3 5/5] test: remove redundant compile checks Yerden Zhumabekov
2014-11-16 17:59   ` [PATCH v2 1/4] hash: add software CRC32 implementation Yerden Zhumabekov
2014-11-16 17:59   ` [PATCH v2 2/4] hash: add new rte_hash_crc_8byte call Yerden Zhumabekov
2014-11-16 17:59   ` [PATCH v2 3/4] hash: add fallback to software CRC32 implementation Yerden Zhumabekov
     [not found]     ` <1416160760-16087-4-git-send-email-e_zhumabekov-8EHiFRVJVgQ@public.gmane.org>
2014-11-17 12:34       ` Ananyev, Konstantin
     [not found]         ` <2601191342CEEE43887BDE71AB977258213AE40F-kPTMFJFq+rEu0RiL9chJVbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-11-17 12:41           ` Yerden Zhumabekov
2014-11-17 14:06           ` Neil Horman
2014-11-16 17:59   ` [PATCH v2 4/4] hash: rte_hash_crc() slices data into 8-byte pieces Yerden Zhumabekov
2014-11-18 14:03   ` [PATCH v4 0/5] rte_hash_crc reworked to be platform-independent Yerden Zhumabekov
     [not found]     ` <cover.1416318389.git.e_zhumabekov-8EHiFRVJVgQ@public.gmane.org>
2014-11-18 14:03       ` [PATCH v4 1/5] hash: add software CRC32 implementation Yerden Zhumabekov
2014-11-18 14:03       ` [PATCH v4 2/5] hash: add new rte_hash_crc_8byte call Yerden Zhumabekov
2014-11-18 14:03       ` [PATCH v4 3/5] hash: add fallback to software CRC32 implementation Yerden Zhumabekov
     [not found]         ` <a875a94021448514bfbcf1409e4303cde50882f3.1416318389.git.e_zhumabekov-8EHiFRVJVgQ@public.gmane.org>
2014-11-18 14:41           ` Neil Horman
     [not found]             ` <20141118144138.GB32375-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-11-18 15:06               ` Yerden Zhumabekov
     [not found]                 ` <546B607B.9030808-8EHiFRVJVgQ@public.gmane.org>
2014-11-18 16:00                   ` Neil Horman
     [not found]                     ` <20141118160005.GC32375-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-11-18 16:04                       ` Bruce Richardson
2014-11-18 16:08                         ` Bruce Richardson
2014-11-18 16:38                         ` Neil Horman
2014-11-18 17:13                       ` Yerden Zhumabekov
     [not found]                         ` <546B7E2D.7050705-8EHiFRVJVgQ@public.gmane.org>
2014-11-18 17:29                           ` Wang, Shawn
     [not found]                             ` <12C2AAD9525203489F7B523D670129D91CCF3615-CFWIZfY9kHm7lkz2zA3lWedPMyk3kRfBmjCW/i4Lttk@public.gmane.org>
2014-11-19  4:07                               ` Yerden Zhumabekov
2014-11-18 17:46                           ` Neil Horman
     [not found]                             ` <20141118174619.GE32375-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-11-18 17:52                               ` Bruce Richardson
2014-11-18 21:36                                 ` Neil Horman
     [not found]                                   ` <20141118213624.GF32375-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-11-19  3:51                                     ` Yerden Zhumabekov
2014-11-19 10:16                                     ` Bruce Richardson
2014-11-19 11:34                                       ` Neil Horman
     [not found]                                         ` <20141119113408.GA10004-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-11-19 11:38                                           ` Bruce Richardson
2014-11-19 11:50                                             ` Ananyev, Konstantin
     [not found]                                               ` <2601191342CEEE43887BDE71AB977258213B6C4D-kPTMFJFq+rEu0RiL9chJVbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-11-19 11:59                                                 ` Yerden Zhumabekov [this message]
2014-11-19 15:05                                                 ` Neil Horman
     [not found]                                                   ` <20141119150533.GA28013-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2014-11-19 16:51                                                     ` Ananyev, Konstantin
2014-11-19 11:35                                       ` Yerden Zhumabekov
     [not found]                                         ` <546C8097.6000509-8EHiFRVJVgQ@public.gmane.org>
2014-11-19 15:07                                           ` Neil Horman
     [not found]                                             ` <20141119150725.GB28013-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2014-11-20  3:04                                               ` Yerden Zhumabekov
2014-11-18 17:58                               ` Yerden Zhumabekov
2014-11-18 14:03       ` [PATCH v4 4/5] hash: rte_hash_crc() slices data into 8-byte pieces Yerden Zhumabekov
2014-11-18 14:05       ` [PATCH v4 5/5] test: remove redundant compile checks Yerden Zhumabekov
2014-11-20  5:15   ` [PATCH v5 0/7] rte_hash_crc reworked to be platform-independent Yerden Zhumabekov
     [not found]     ` <cover.1416459284.git.e_zhumabekov-8EHiFRVJVgQ@public.gmane.org>
2014-11-20  5:16       ` [PATCH v5 1/7] hash: add software CRC32 implementation Yerden Zhumabekov
2014-11-20  5:16       ` [PATCH v5 2/7] hash: add assembly implementation of CRC32 intrinsics Yerden Zhumabekov
2014-11-20  5:16       ` [PATCH v5 3/7] hash: replace built-in functions implementing SSE4.2 Yerden Zhumabekov
2014-11-20  5:16       ` [PATCH v5 4/7] hash: add rte_hash_crc_8byte function Yerden Zhumabekov
     [not found]         ` <5bc163e39a2e8176f7e0b424c70bb051d2f5a0a8.1416459284.git.e_zhumabekov-8EHiFRVJVgQ@public.gmane.org>
2014-11-21 11:22           ` Neil Horman
     [not found]             ` <20141121112242.GA20661-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-11-21 11:26               ` Yerden Zhumabekov
2014-11-20  5:17       ` [PATCH v5 6/7] hash: rte_hash_crc() slices data into 8-byte pieces Yerden Zhumabekov
2014-11-20  5:17       ` [PATCH v5 7/7] test: remove redundant compile checks Yerden Zhumabekov
2014-11-20  5:17       ` [PATCH v5 5/7] hash: add fallback to software CRC32 implementation Yerden Zhumabekov
2014-11-27 21:04       ` [PATCH v5 0/7] rte_hash_crc reworked to be platform-independent Thomas Monjalon
2014-11-28  3:28         ` Yerden Zhumabekov
2015-01-29  8:48   ` [PATCH v6 " Yerden Zhumabekov
     [not found]     ` <cover.1417092208.git.e_zhumabekov-8EHiFRVJVgQ@public.gmane.org>
2015-01-29  8:48       ` [PATCH v6 1/7] hash: add software CRC32 implementation Yerden Zhumabekov
2015-01-29  8:48       ` [PATCH v6 2/7] hash: add assembly implementation of CRC32 intrinsics Yerden Zhumabekov
     [not found]         ` <3fdc339aa3f0206ae2200937b9791af69e83409e.1417092208.git.e_zhumabekov-8EHiFRVJVgQ@public.gmane.org>
2015-02-02  5:15           ` Liang, Cunming
     [not found]             ` <54CF0805.8040103-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-02-02  5:34               ` Yerden Zhumabekov
     [not found]                 ` <54CF0C49.5000002-8EHiFRVJVgQ@public.gmane.org>
2015-02-02  5:59                   ` Liang, Cunming
2015-01-29  8:49       ` [PATCH v6 3/7] hash: replace built-in functions implementing SSE4.2 Yerden Zhumabekov
2015-01-29  8:49       ` [PATCH v6 4/7] hash: add rte_hash_crc_8byte function Yerden Zhumabekov
2015-01-29  8:50       ` [PATCH v6 5/7] hash: add fallback to software CRC32 implementation Yerden Zhumabekov
2015-01-29  8:50       ` [PATCH v6 6/7] hash: rte_hash_crc() slices data into 8-byte pieces Yerden Zhumabekov
2015-01-29  8:50       ` [PATCH v6 7/7] test: remove redundant compile checks Yerden Zhumabekov
2015-02-01 14:13       ` [PATCH v6 0/7] rte_hash_crc reworked to be platform-independent Neil Horman
     [not found]         ` <20150201141356.GA3141-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2015-02-02  3:07           ` Yerden Zhumabekov
     [not found]             ` <54CEEA01.3090600-8EHiFRVJVgQ@public.gmane.org>
2015-02-02  3:31               ` Neil Horman
     [not found]                 ` <20150202033122.GA18728-0o1r3XBGOEbbgkc5XkKeNuvMHUBZFtU3YPYVAmT7z5s@public.gmane.org>
2015-02-02  5:18                   ` HA: " Жумабеков Ерден Мирзагулович
2015-02-02  5:39                   ` Yerden Zhumabekov
     [not found]                     ` <54CF0D86.3090507-8EHiFRVJVgQ@public.gmane.org>
2015-02-19 15:21                       ` Bruce Richardson
2015-02-23 17:36                         ` Thomas Monjalon
2015-02-24  3:00                           ` Yerden Zhumabekov
     [not found]                             ` <54EBE934.8080707-8EHiFRVJVgQ@public.gmane.org>
2015-02-24  3:10                               ` Thomas Monjalon
2015-02-24  9:12                                 ` Bruce Richardson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=546C862B.3090901@sts.kz \
    --to=e_zhumabekov-8ehifrvjvgq@public.gmane.org \
    --cc=bruce.richardson-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=dev-VfR2kkLFssw@public.gmane.org \
    --cc=konstantin.ananyev-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.