Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

compile ARM - qcrs/prim.h #2

Closed
hurdad opened this issue Oct 8, 2012 · 7 comments
Closed

compile ARM - qcrs/prim.h #2

hurdad opened this issue Oct 8, 2012 · 7 comments

Comments

@hurdad
Copy link

hurdad commented Oct 8, 2012

Trying to compile on an ARM box:

In file included from /root/qfs/src/cc/qcrs/rs_table.h:33:0,
from /root/qfs/src/cc/qcrs/decode.c:32:
/root/qfs/src/cc/qcrs/prim.h: In function ‘mask’:
/root/qfs/src/cc/qcrs/prim.h:41:5: error: incompatible types when returning type ‘int’ but ‘v16’ was expected
/root/qfs/src/cc/qcrs/prim.h: In function ‘mul2’:
/root/qfs/src/cc/qcrs/prim.h:49:8: error: incompatible types when assigning to type ‘v16’ from type ‘int’

Not sure if this has to do with SSE functions?

I think the CMakeLists.txt files might need to be updated to support ARM?

Please advise.

-alex

@ts2012
Copy link
Contributor

ts2012 commented Oct 8, 2012

Thank you for bringing this up, Alex.
Reed-Solomon encoding in QFS is supported only on x86 architecture with SSE3 at this time. Interested parties are welcome to port the code to other platforms by providing primitive operations replacements in src/cc/qcrs/prim.h

-Thilee

@ts2012
Copy link
Contributor

ts2012 commented Oct 11, 2012

Alex,

What command did you use to upload the file? The sample 'cptoqfs' given in the wiki page uses Reed-Solomon, and may not work if you use it with RS stripped out. Run 'cptoqfs -h' for usage.

In any case, you may want to check a couple of things.

Before running 'sample_server.py -a install':

  • stop the sample servers (-a stop) and uninstall (-a uninstall).
  • ensure they are gone ('ps aux | grep "qfsbase|qfsstat"' should report nothing. there shouldn't be a ~/qfsbase/)

After running 'sample_server.py -a install':

  • There should be a ~/qfsbase directory and the config files underneath for meta & chunkservers.
  • 'ps' should list metaserver, chunkserver and qfsstatus

Run cptoqfs without RS:

  • 'echo 'Hello World' | cptoqfs -s localhost -p 20000 -k /qfs/tmp/helloworld -d -'
  • if it still does not work see what the log files ~/qfsbase/meta/MetaServer.[log|out] and ~/qfsbase/chunk[12]/ChunkServer.[log|out] say.

Let me know if you run into any trouble.

  • Thilee

From: Alex Hurd <[email protected]mailto:[email protected]>
Reply-To: quantcast/qfs <[email protected]mailto:[email protected]>
Date: Thu, 11 Oct 2012 04:32:31 -0700
To: quantcast/qfs <[email protected]mailto:[email protected]>
Cc: Thilee Subramaniam <[email protected]mailto:[email protected]>
Subject: Re: [qfs] compile ARM - qcrs/prim.h (#2)

Thilee,

I was able to create a replacement primitives, as well as completing the build process. However I am unable to upload a file to the qfs after running 'sample_server.py -a install', I will take a look at it tomorrow. Thanks.

-alex


Reply to this email directly or view it on GitHubhttps://github.com//issues/2#issuecomment-9336743.

@hurdad
Copy link
Author

hurdad commented Oct 11, 2012

I ended up running 'make test-release' and it passed the tests.

@hurdad
Copy link
Author

hurdad commented Oct 13, 2012

Thilee, should I create a fork with the updated primitives?

@ts2012
Copy link
Contributor

ts2012 commented Oct 14, 2012

Yes please. Create a fork with your changes and submit a pull request. Thanks.

Alex Hurd [email protected] wrote:

Thilee, should I create a fork with the updated primitives?


Reply to this email directly or view it on GitHubhttps://github.com//issues/2#issuecomment-9411960.

@hurdad
Copy link
Author

hurdad commented Oct 14, 2012

ok, I am having some issues modifying the CMakeList.txt to correctly support ARM as well as the other x86 architectures.

@ts2012
Copy link
Contributor

ts2012 commented Oct 24, 2012

Closing issue as this is duplicate of #3.

@ts2012 ts2012 closed this as completed Oct 24, 2012
mikeov added a commit that referenced this issue Jan 28, 2017
… with abort. Remove .gitignore. Eliminated compiler warnings.

Squashed commit of the following:

commit 4f28f0189cc4dd68e8e643026e6b6151429c4af6
Author: Mike Ovsiannikov <[email protected]>
Date:   Fri Jan 27 00:13:22 2017 -0800

    Move into ext/gf-complete

commit d61b4d377a6a3f202de8a3541abf6383313adab7
Author: John Coyle <[email protected]>
Date:   Mon Dec 5 20:22:55 2016 -0500

    gf_cpu.c: fix pclmul detection and add portable cpuid feature bit defs

    Correct invalid check for pclmul support. Was checking SSE3 (1 << 0) vs. PCLMUL (1 << 1).

    Fixes: http://tracker.ceph.com/issues/18092
    Signed-off-by: John Coyle <[email protected]>
    (cherry picked from commit 7c2fcc5bd021c81caf02486c0a330776f91ec0b0)

commit 6ac5310254fbeaaa0f651132cb377c2de4e5314e
Author: Kefu Chai <[email protected]>
Date:   Fri Nov 18 03:53:50 2016 +0000

    gf_w32.c: silence the -Wmaybe-uninitialized warning

    in gf_w32_cfmgk_multiply_region_from_single(), follow warning is
    reported by gcc:

    gf-complete/src/gf_w32.c:410:5: warning: ‘a’ may be used uninitialized
    in this function [-Wmaybe-uninitialized]
       g = _mm_insert_epi64 (a, g_star, 0);
         ^

    actually, we are using `a` as a dummy parameter for initializing `g` and
    `q`. and only the lower lower 64 bits of them are used when doing
    calculation. but their lower 64 bits are always initialized using
    _mm_insert_epi64(). so this is a false alarm.

    but we can silence this warning by moving the statement initializing `a`
    up before passing it to  _mm_insert_epi64(). this change does not hurt
    the performance.

    Signed-off-by: Kefu Chai <[email protected]>
    (cherry picked from commit 9fbc44259355b00d1271c21bf14493d039160ccf)

commit a6847973cba329ae079d3bd26341a4ec2906f012
Merge: 185295f 0690ba8
Author: bassamtabbara <[email protected]>
Date:   Wed Sep 14 20:22:27 2016 +0000

    Merge branch 'simd-runtime-detection' into 'master'

    Support for runtime detection of SIMD

    This merge request adds support for runtime SIMD detection. The idea is that you would build gf-complete with full SIMD support, and gf_init will select the appropriate function at runtime based on the capabilities of the target machine. This would eliminate the need to build different versions of the code for different processors (you still need to build for different archs). Ceph for example has 3-4 flavors of jerasure on Intel (and does not support PCLMUL optimizations as a result of using to many binaries). Numerous libraries have followed as similar approach include zlib.

    When reviewing this merge request I recommend that you look at each of the 5 commits independently. The first 3 commits don't change the existing logic. Instead they add debugging functions and test scripts that facilitate testing of the 4th and commit. The 4th commit is where all the new logic goes along with tests. The 5th commit fixes build scripts.

    I've tested this on x86_64, arm, and aarch64 using QEMU. Numerous tests have been added that help this code and could help with future testing of gf-complete. Also I've compared the functions selected with the old code (prior to runtime SIMD support) with the new code and all functions are identical. Here's a gist with the test results prior to SIMD extensions: https://gist.github.com/bassamtabbara/d9a6dcf0a749b7ab01bc2953a359edec.

    See merge request !18

commit 0690ba86a81faff99a3383b5907ddc02a317eea0
Author: Bassam Tabbara <[email protected]>
Date:   Tue Sep 13 11:11:40 2016 -0700

    Added --enable flags for debugging runtime SIMD

commit 0e5c920fb69f2d962db1df045d1b71b9b012b902
Author: Bassam Tabbara <[email protected]>
Date:   Tue Sep 13 10:19:24 2016 -0700

    gf_multby_one now checks runtime SIMD support

commit ad11042132c7db78e8ae57a364c37df74572e8b6
Author: Bassam Tabbara <[email protected]>
Date:   Tue Sep 6 23:48:39 2016 -0700

    Simplify SIMD make scripts

    ax_ext.m4 no longer performs any CPU checks. Instead it just checks
    if the the compile supports SIMD flags.

    Runtime detection will choose the right methods base on CPU
    instructions available.

    Intel AVX support is still done through the build since it would
    require a major refactoring of the code base to support it at runtime.
    For now I added a configuration flag --enable-avx that can be used
    to compile with AVX support.

    Also use cpu intrinsics instead of __asm__

commit 4339569f14c95a8895a347845f8ed6e18b345ace
Author: Bassam Tabbara <[email protected]>
Date:   Sat Sep 3 08:43:13 2016 -0700

    Support for runtime SIMD detection

    This commits adds support for runtime detection of SIMD instructions. The idea is that you would build once with all supported SIMD functions and the same binaries could run on different machines with varying support for SIMD. At runtime gf-complete will select the right functions based on the processor.

    gf_cpu.c has the logic to detect SIMD instructions. On Intel processors this is done through cpuid. For ARM on linux we use getauxv.

    The logic in gf_w*.c has been changed to check for runtime SIMD support and fallback to generic code.

    Also a new test has been added. It compares the functions selected by gf_init when we enable/disable SIMD support through build flags, with runtime enabling/disabling. The test checks if the results are identical.

commit 7761438c63e18f380979a3bf5647574243708abd
Author: Bassam Tabbara <[email protected]>
Date:   Fri Sep 2 17:23:36 2016 -0700

    Add SIMD test helpers

    This commit adds a couple of scripts that help test SIMD functionality
    on different machines through QEMU.

    tools/test_simd_qemu.sh will automatically start qemu, run tests
    and stop it. it uses the Ubuntu cloud images which are built for
    x86_64, arm and arm64.

    tools/test_simd.sh run a number of tests including compiling
    with different flags, unit tests, and gathering the functions
    selected in gf_init (and when compiling with DEBUG_FUNCTIONS)

commit 87f0d4395dbfe0ae559e964668b71f85819378a0
Author: Bassam Tabbara <[email protected]>
Date:   Fri Sep 2 17:19:04 2016 -0700

    Add support for printing functions selected in gf_init

    There is currently no way to figure out which functions were selected
    during gf_init and as a result of SIMD options. This is not even possible
    in gdb since most functions are static.

    This commit adds a new macro SET_FUNCTION that records the name of the
    function selected during init inside the gf_internal structure. This macro
    only works when DEBUG_FUNCTIONS is defined during compile. Otherwise the
    code works exactly as it did before this change.

    The names of selected functions will be used during testing of SIMD
    runtime detection.

    All calls such as:

    gf->multiply.w32 = gf_w16_shift_multiply;

    need to be replaced with the following:

    SET_FUNCTION(gf,multiply,w32,gf_w16_shift_multiply)

    Also added a new flag to tools/gf_methods that will print the names of
    functions selected during gf_init.

commit 22352ca094e242d7c93a2ed822f89a07eeb34c1a
Author: Bassam Tabbara <[email protected]>
Date:   Fri Sep 2 17:16:18 2016 -0700

    Remove generated autotools files from the build. Also update
    .gitignore to ignore some autotools files and tests.

commit 185295f247698f727fd3bb11c4795e1741bb359e
Merge: 51a1abb f940bf3
Author: Loic Dachary <[email protected]>
Date:   Tue Sep 13 19:23:39 2016 +0000

    Merge branch 'wip-valgrind' into 'master'

    enable valgrind for tests

    See merge request !9

commit 51a1abb9185ec6ea35817620d13322047f4fde4d
Merge: 8fe7382 643743d
Author: Loic Dachary <[email protected]>
Date:   Tue Sep 13 10:34:23 2016 +0000

    Merge branch 'neon_fixes' into 'master'

    NEON fixes/tweaks

    This merge request fixes some issues and adds some tweaks to NEON code:

    * SPLIT(16,4) ALTMAP implementation was broken as it only processed half the amount of data. As such, this fixed implementation is significantly slower than the old code (which is to be expected). Fixes #2
    * SPLIT(16,4) implementations now merge the ARMv8 and older code path, similar to SPLIT(32,4). This fixes the ALTMAP variant, and also enables the non-ALTMAP version to have consistent sizing
    * Unnecessary VTRN removed in non-ALTMAP SPLIT(16,4) as NEON allows (de)interleaving during load/store; because of this, ALTMAP isn't so useful in NEON
      * This can also be done for SPLIT(32,4), but I have not implemented it
    * I also pulled the `if(xor)` conditional from non-ALTMAP SPLIT(16,4) to outside the loop. It seems to improve performance a bit on my Cortex A7
      * It probably should be implemented everywhere else, but I have not done this
    * CARRY_FREE was incorrectly enabled on all sizes of w, when it's only available for w=4 and w=8

    See merge request !16

commit f940bf3b5be7eec6fe3e38a11ab65592b1dc10db
Author: Loic Dachary <[email protected]>
Date:   Tue Sep 13 11:41:40 2016 +0200

    log-zero-ext: workaround for uninitialized memory

    Workaround until issue #13 is dealt with.

    Signed-off-by: Loic Dachary <[email protected]>

commit e2dd917ea1490c85f0edc0e3af70fd6dbdc6ee4f
Author: Loic Dachary <[email protected]>
Date:   Tue Sep 13 10:25:13 2016 +0200

    increase the verbosity of make check failures

    Signed-off-by: Loic Dachary <[email protected]>

commit 22cd7b15e8d65f855f2739bf0e20d9f1319c4c4b
Author: Loic Dachary <[email protected]>
Date:   Sun Jan 11 11:00:37 2015 +0100

    add --enable-valgrind for make check

    If --enable-valgrind is given to ./configure, all tests are run with
    valgrind set to fail if an error is reported ( --error-exitcode=1 )

    Signed-off-by: Loic Dachary <[email protected]>

commit 62b702d568ae0e764219ea47e165556f7b39392b
Author: Loic Dachary <[email protected]>
Date:   Sun Jan 11 11:03:17 2015 +0100

    do not memcpy if src and dst are the same

    This is harmless really but triggers a valgrind error.

    Signed-off-by: Loic Dachary <[email protected]>

commit 8fe7382e2a1f7763be8b12db283cc1570eb64518
Merge: 363da20 9f9f005
Author: Loic Dachary <[email protected]>
Date:   Tue Sep 13 06:59:08 2016 +0000

    Merge branch 'manual' into 'master'

    HTML manual fixes

    Fixes to HTML manual, for mistakes I've noticed.
    I'm sure there's more, but this is a start...

    See merge request !14

commit 643743d0482ca09a9dfa57beed196f172a22a78e
Author: animetosho <[email protected]>
Date:   Sat Nov 14 16:32:25 2015 +1000

    Move conditional outside loop for NEON SPLIT4 implementation
    Seems to improve performance a fair bit

commit 05057e5635e5ef7fb5be3156f477866cce98fbdb
Author: animetosho <[email protected]>
Date:   Thu Nov 12 22:17:53 2015 +1000

    Eliminate unnecessary VTRNs in SPLIT(16,4) NEON implementation
    Also makes the ARMv8 version consistent with the older one, in terms of processing width

commit 438283c12d8378c449b78e011cb4f9c0ff33dcc3
Author: animetosho <[email protected]>
Date:   Thu Nov 12 21:17:13 2015 +1000

    Use similar strategy for SPLIT(16,4) ALTMAP NEON implementation as SPLIT(32,4)

commit f373b138aae6ee052ca711e90837ca11bbedd156
Author: animetosho <[email protected]>
Date:   Thu Nov 12 21:09:44 2015 +1000

    Initial fix for SPLIT(16,4) ALTMAP NEON (non ARMv8)

commit 7a9a09f32cf29c3ceaa99108738c5a68d60de95a
Author: animetosho <[email protected]>
Date:   Thu Nov 12 21:06:34 2015 +1000

    CARRY_FREE is currently only available for w=4 and w=8 on NEON

commit 9f9f005a3fda204b4e4dadb6e27fc97708aa0afb
Author: animetosho <[email protected]>
Date:   Sat Oct 31 14:29:39 2015 +1000

    Fix a number of conversion issues in the HTML manual

commit 363da207236617b1d50f04bb191a14f0de364303
Merge: d1b6bbf 547f67e
Author: KMG <[email protected]>
Date:   Fri Sep 4 01:23:27 2015 +0000

    Merge branch 'wip-manual' into 'master'

    convert manual from PDF to HTML

    See merge request !11

commit d1b6bbf706b2628ab21cee2eb51a7cfe8cf04bcd
Author: Loic Dachary <[email protected]>
Date:   Wed Sep 2 19:11:51 2015 +0200

    add -Wsign-compare and address the warnings

    * (1 << w) are changed into ((uint32_t)1 << w)
    * int are changed into uint32_t

    gf.c: gf_composite_get_default_poly:

       a larger unsigned were assigned to unsigned integers in which case
       the type of the assigned variable is changed to be the same as the
       value assigned to it.

    gf_w16.c: GF_MULTBY_TWO

       setting the parameter to a variable instead of passing the expression
       resolves the warning for some reason.

    Signed-off-by: Loic Dachary <[email protected]>

commit 284a97a0d9299721a62e357f8a17a31c16533fe1
Author: Loic Dachary <[email protected]>
Date:   Wed Sep 2 19:02:40 2015 +0200

    ignore test-driver file

    Ignore it because it is rebuild by autogen.sh

    Signed-off-by: Loic Dachary <[email protected]>

commit af22f913ed60310516f6ab4c08389884b45338a4
Merge: 5f31e27 2f6db51
Author: Loic Dachary <[email protected]>
Date:   Wed Sep 2 16:05:33 2015 +0000

    Merge branch 'wip-da-SCA-coverity' into 'master'

    Fix issues found by Coverity in the Ceph project

    Remove dead code and fix potential integer overflow issues

    See merge request !12

commit 2f6db512fb83f2d8e84e8097ebd2595c6ec8f8eb
Author: Danny Al-Gaaf <[email protected]>
Date:   Thu Jun 18 09:01:37 2015 +0200

    gf_w64.c: fix integer overflow

    Fix for Coverity issue (from Ceph):

    CID 1193089 (#1 of 1): Unintentional integer overflow (OVERFLOW_BEFORE_WIDEN)
     overflow_before_widen: Potentially overflowing expression 1 << g_r with type
     int (32 bits, signed) is evaluated using 32-bit arithmetic, and then used in
     a context that expects an expression of type uint64_t (64 bits, unsigned).

    CID 1193090 (#1 of 1): Unintentional integer overflow (OVERFLOW_BEFORE_WIDEN)
     overflow_before_widen: Potentially overflowing expression 1 << g_s with type
     int (32 bits, signed) is evaluated using 32-bit arithmetic, and then used in
     a context that expects an expression of type uint64_t (64 bits, unsigned).

    Signed-off-by: Danny Al-Gaaf <[email protected]>

commit 1aef8694bc62a053e35cc1c74c67f1d15d8d1b6a
Author: Danny Al-Gaaf <[email protected]>
Date:   Thu Jun 18 09:00:03 2015 +0200

    gf_w64.c: fix integer overflow

    Fix for Coverity issue (from Ceph):

    CID 1193088 (#1 of 1): Unintentional integer overflow (OVERFLOW_BEFORE_WIDEN)
     overflow_before_widen: Potentially overflowing expression 1 << g_s with type
     int (32 bits, signed) is evaluated using 32-bit arithmetic, and then used in
     a context that expects an expression of type uint64_t (64 bits, unsigned).

    Signed-off-by: Danny Al-Gaaf <[email protected]>

commit e127bb1fb9b1025094a0e0ce50d2e44c38c4e97f
Author: Danny Al-Gaaf <[email protected]>
Date:   Thu Jun 18 08:58:20 2015 +0200

    gf_w64.c: fix integer overflow

    Fix for Coverity issue (from Ceph):

    CID 1193087 (#1 of 1): Unintentional integer overflow (OVERFLOW_BEFORE_WIDEN)
     overflow_before_widen: Potentially overflowing expression 1 << g_r with type
      int (32 bits, signed) is evaluated using 32-bit arithmetic, and then used
      in a context that expects an expression of type uint64_t (64 bits, unsigned).

    Signed-off-by: Danny Al-Gaaf <[email protected]>

commit 98e5e37159f4c7634305aa65c9bc98a36488a4a9
Author: Danny Al-Gaaf <[email protected]>
Date:   Thu Jun 18 08:55:49 2015 +0200

    gf_w64.c: fix integer overflow

    Fix for Coverity issue (from Ceph):

    CID 1193086 (#1 of 1): Unintentional integer overflow (OVERFLOW_BEFORE_WIDEN)
     overflow_before_widen: Potentially overflowing expression 1 << g_r with type
      int (32 bits, signed) is evaluated using 32-bit arithmetic, and then used in
      a context that expects an expression of type uint64_t (64 bits, unsigned).

    Signed-off-by: Danny Al-Gaaf <[email protected]>

commit 7972291e1f1fb68d05332cccd46a738b0d83b1be
Author: Danny Al-Gaaf <[email protected]>
Date:   Wed Jun 17 10:46:44 2015 +0200

    src/gf_w128.c: remove dead code and unused variable

    Fix for Coverity issue:

    CID 1297812 (#1 of 1): Constant variable guards dead code (DEADCODE)
     dead_error_begin: Execution cannot reach this statement: fprintf(stderr,
      "Code conta....
     Local variable no_default_flag is assigned only once, to a constant
      value, making it effectively constant throughout its scope. If this
      is not the intent, examine the logic to see if there is a missing
      assignment that would make no_default_flag not remain constant.

    Signed-off-by: Danny Al-Gaaf <[email protected]>

commit da671b490833332afb72e02480b9100535864cbf
Author: Danny Al-Gaaf <[email protected]>
Date:   Wed Jun 17 10:43:38 2015 +0200

    src/gf_w64.c: remove dead code

    Fix for Coverity issue:

    CID 1297852 (#1 of 1): 'Constant'; variable guards dead code (DEADCODE)
     dead_error_begin: Execution cannot reach this statement:
      fprintf(stderr, "Code conta....
     Local variable no_default_flag is assigned only once, to a constant value,
      making it effectively constant throughout its scope. If this is not the
      intent, examine the logic to see if there is a missing assignment that
      would make no_default_flag not remain constant.

    Signed-off-by: Danny Al-Gaaf <[email protected]>

commit 547f67ec985fe829e11ecac4957025acad433ae0
Author: Loic Dachary <[email protected]>
Date:   Wed Jan 14 16:15:27 2015 +0100

    manual: convert from PDF to HTML

    It makes it easier to update.

    Signed-off-by: Loic Dachary <[email protected]>

commit 5f31e2719d4b66f1d5354b7424a81bf3423de7b7
Merge: dd53895 15ce865
Author: KMG <[email protected]>
Date:   Thu Jan 8 14:59:07 2015 +0000

    Merge branch 'wip-documentation' into 'master'

     jerasure.org is http, not https

    See merge request !4

commit 15ce8650c7e0dc7fbbd0e5142dd0927af7a19f2d
Author: Loic Dachary <[email protected]>
Date:   Mon Dec 29 15:16:31 2014 +0100

    jerasure.org is http, not https

    Signed-off-by: Loic Dachary <[email protected]>

commit dd5389542ebbcbe0094a032f182a218c51502d1d
Merge: 9a65216 79f34a1
Author: KMG <[email protected]>
Date:   Mon Dec 29 03:27:23 2014 +0000

    Merge branch 'wip-dirstamp-ignore' into 'master'

    dirstamp ignore

    See merge request !1

commit 9a652166c4211c2357c3bfc28afd299ebef6d309
Merge: 695d83e e7131cf
Author: KMG <[email protected]>
Date:   Mon Dec 29 03:27:02 2014 +0000

    Merge branch 'wip-exit-v2' into 'master'

    exit v2

    See merge request !2

commit 695d83ea597e9a5f4566c2d65183f13247f85d83
Merge: e0e400a 58eebab
Author: KMG <[email protected]>
Date:   Mon Dec 29 03:26:44 2014 +0000

    Merge branch 'wip-documentation' into 'master'

    documentation

    updates to replace URLs that do not contain useful information

    See merge request !3

commit 58eebabd204998364355eee293402929502bf1a9
Author: Loic Dachary <[email protected]>
Date:   Thu Dec 25 11:55:49 2014 +0100

    documentation: update with jerasure.org new home

    Signed-off-by: Loic Dachary <[email protected]>

commit cbbf35b6d262f926f523e03de73d0dc8e2b1a0e6
Author: Loic Dachary <[email protected]>
Date:   Thu Dec 25 11:51:38 2014 +0100

    Revert "Removed PDF from the repo and added a note in the README that describes how to"

    This reverts commit 9311b4fc107da2f2e9a2624520cfe2ffd216af53.

commit 79f34a1b461d6449c9b11577b1522a696880cfaf
Author: Greg Farnum <[email protected]>
Date:   Tue Dec 9 15:01:00 2014 -0800

    gitignore: add src/.dirstamp

    Signed-off-by: Greg Farnum <[email protected]>

commit e7131cfd854a54e59459bc8fa1a98e867cf0ac2b
Author: Loic Dachary <[email protected]>
Date:   Mon Dec 1 21:50:17 2014 +0100

    use assert(0) instead of exit(1)

    When a fatal error (unaligned memory etc.) is detected, gf-complete should
    assert(3) instead of exit(3) to give a chance to the calling program to
    catch the exception and display a stack trace. Although it is possible
    for gdb to display the stack trace and break on exit, libraries are not
    usually expected to terminate the calling program in this way.

    Signed-off-by: Loic Dachary <[email protected]>
    (cherry picked from commit 29427efac2ce362fce8e4f5f5f1030feba942b73)

commit e0e400aaf68a3b4d9f10ee3e73baddb48cb45ed9
Merge: 70dd94a 29427ef
Author: kmgreen2 <[email protected]>
Date:   Sat Dec 6 08:09:55 2014 -0800

    Merge pull request #1 from dachary/wip-assert

    use assert(0) instead of exit(1)

commit 29427efac2ce362fce8e4f5f5f1030feba942b73
Author: Loic Dachary <[email protected]>
Date:   Mon Dec 1 21:50:17 2014 +0100

    use assert(0) instead of exit(1)

    When a fatal error (unaligned memory etc.) is detected, gf-complete should
    assert(3) instead of exit(3) to give a chance to the calling program to
    catch the exception and display a stack trace. Although it is possible
    for gdb to display the stack trace and break on exit, libraries are not
    usually expected to terminate the calling program in this way.

    Signed-off-by: Loic Dachary <[email protected]>

commit 70dd94ae38f2d20dd78532a6dfd1310fdfb4a884
Merge: 62d4b81 6fdd8bc
Author: Kevin Greenan <[email protected]>
Date:   Fri Oct 24 14:19:31 2014 -0700

    Merged in jannau/gf-complete/neon (pull request #25)

    arm neon optimisations

commit 6fdd8bc3d32cb2f7fa55d2de9dc7cc5bb2f885aa
Author: Janne Grunau <[email protected]>
Date:   Wed Sep 17 16:15:27 2014 +0200

    arm: NEON optimisations for gf_w64

    Optimisations for 4,64 split table region multiplications. Only used on
    ARMv8-A since it is not faster on ARMv7-A.

commit 370c88b9015cbe874aca81442a5d8f6f99bfb654
Author: Janne Grunau <[email protected]>
Date:   Wed Sep 17 16:13:02 2014 +0200

    arm: NEON optimisations for gf_w32

    Optimisations for 4,32 split table multiplications.

    Selected time_tool.sh results on a 1.7 GHz cortex-a9:
    Region Best (MB/s):   346.67   W-Method: 32 -m SPLIT 32 4 -r SIMD -
    Region Best (MB/s):    92.89   W-Method: 32 -m SPLIT 32 4 -r NOSIMD -
    Region Best (MB/s):   258.17   W-Method: 32 -m SPLIT 32 4 -r SIMD -r ALTMAP -
    Region Best (MB/s):   162.00   W-Method: 32 -m SPLIT 32 8 -
    Region Best (MB/s):   160.53   W-Method: 32 -m SPLIT 8 8 -
    Region Best (MB/s):    32.74   W-Method: 32 -m COMPOSITE 2 - -
    Region Best (MB/s):   199.79   W-Method: 32 -m COMPOSITE 2 - -r ALTMAP -

commit 474010a91d35fef5ca7dea77205b6a5c7e68c3e9
Author: Janne Grunau <[email protected]>
Date:   Wed Sep 17 16:10:25 2014 +0200

    arm: NEON optimisations for gf_w16

    Optimisations for the 4,16 split table region multiplications.

    Selected time_tool.sh 16 -A -B results for a 1.7 GHz cortex-a9:
    Region Best (MB/s):   532.14   W-Method: 16 -m SPLIT 16 4 -r SIMD -
    Region Best (MB/s):   212.34   W-Method: 16 -m SPLIT 16 4 -r NOSIMD -
    Region Best (MB/s):   801.36   W-Method: 16 -m SPLIT 16 4 -r SIMD -r ALTMAP -
    Region Best (MB/s):    93.20   W-Method: 16 -m SPLIT 16 4 -r NOSIMD -r ALTMAP -
    Region Best (MB/s):   273.99   W-Method: 16 -m SPLIT 16 8 -
    Region Best (MB/s):   270.81   W-Method: 16 -m SPLIT 8 8 -
    Region Best (MB/s):    70.42   W-Method: 16 -m COMPOSITE 2 - -
    Region Best (MB/s):   393.54   W-Method: 16 -m COMPOSITE 2 - -r ALTMAP -

commit bec15359de5273d06673c43b8e73c70f97396041
Author: Janne Grunau <[email protected]>
Date:   Wed Sep 3 16:57:06 2014 +0200

    arm: NEON optimisations for gf_w8

    Optimisations for the 4,4 split table region multiplication and carry
    less multiplication using NEON's polynomial long multiplication.
    arm: w8: NEON carry less multiplication

    Selected time_tool.sh results for a 1.7GHz cortex-a9:
    Region Best (MB/s):   375.86   W-Method: 8 -m CARRY_FREE -
    Region Best (MB/s):   142.94   W-Method: 8 -m TABLE -
    Region Best (MB/s):   225.01   W-Method: 8 -m TABLE -r DOUBLE -
    Region Best (MB/s):   211.23   W-Method: 8 -m TABLE -r DOUBLE -r LAZY -
    Region Best (MB/s):   160.09   W-Method: 8 -m LOG -
    Region Best (MB/s):   123.61   W-Method: 8 -m LOG_ZERO -
    Region Best (MB/s):   123.85   W-Method: 8 -m LOG_ZERO_EXT -
    Region Best (MB/s):  1183.79   W-Method: 8 -m SPLIT 8 4 -r SIMD -
    Region Best (MB/s):   177.68   W-Method: 8 -m SPLIT 8 4 -r NOSIMD -
    Region Best (MB/s):    87.85   W-Method: 8 -m COMPOSITE 2 - -
    Region Best (MB/s):   428.59   W-Method: 8 -m COMPOSITE 2 - -r ALTMAP -

commit 1311a44f7a27b38217a94e9d7a5dbe3ae3dde035
Author: Janne Grunau <[email protected]>
Date:   Wed Sep 17 15:12:05 2014 +0200

    arm: NEON optimisations for gf_w4

    Optimisations for the single table region multiplication and carry less
    multiplication using NEON's polynomial multiplication of 8-bit values.

    The single polynomial multiplication is not that useful but vector
    version is for region multiplication.

    Selected time_tool.sh results for a 1.7GHz cortex-a9:
    Region Best (MB/s):   672.72   W-Method: 4 -m CARRY_FREE -
    Region Best (MB/s):   265.84   W-Method: 4 -m BYTWO_p -
    Region Best (MB/s):   329.41   W-Method: 4 -m TABLE -r DOUBLE -
    Region Best (MB/s):   278.63   W-Method: 4 -m TABLE -r QUAD -
    Region Best (MB/s):   329.81   W-Method: 4 -m TABLE -r QUAD -r LAZY -
    Region Best (MB/s):  1318.03   W-Method: 4 -m TABLE -r SIMD -
    Region Best (MB/s):   165.15   W-Method: 4 -m TABLE -r NOSIMD -
    Region Best (MB/s):    99.73   W-Method: 4 -m LOG -

commit 3a1be40ea87ecc81e737aee6819ff96a6721f011
Author: Janne Grunau <[email protected]>
Date:   Thu Sep 4 10:47:10 2014 +0200

    arm: NEON optimisations for XOR in gf_multby_one

commit 36e75c3efec08b1e9bdb9c1f69a5b0018abd8ac7
Author: Janne Grunau <[email protected]>
Date:   Fri Sep 5 13:33:04 2014 +0200

    use posix_memalign to align memory for SIMD region tests

    Properly emulate aligned allocation if posix_memalign is not available.

commit eb5ce0ca4206ed4f74009c1b9a3a72407693448b
Author: Janne Grunau <[email protected]>
Date:   Thu Sep 4 18:29:58 2014 +0200

    configure: add ARM/AArch64 NEON support

    Checks for arm_neon.h header.

commit 568df90edc6ae07744de45de8665fb86ce6c84ee
Author: Janne Grunau <[email protected]>
Date:   Fri Sep 19 12:30:57 2014 +0200

    simd: rename the region flags from SSE to SIMD

    SSE is not the only supported SIMD instruction set. Keep the old names
    for backward compatibility.

commit 2a2f1e306f1759e5e52771a643a3a2df54552069
Author: Janne Grunau <[email protected]>
Date:   Wed Sep 24 16:02:19 2014 +0200

    check: split unit tests and support paralell execution

commit f6828cfbc1bf24d686e6e24ce9822e69f824351d
Author: Janne Grunau <[email protected]>
Date:   Thu Aug 7 00:54:21 2014 +0200

    build: fix out of source tree build

commit d315d20d569f7da176eb7445b8c21ea055083f06
Author: Janne Grunau <[email protected]>
Date:   Thu Aug 7 00:52:55 2014 +0200

    build: make CFLAGS user setable

    There is no need to force the non-default CFLAGS on users trying to set
    them via enviroment variable or on configure command.

commit 62d4b81a833477e596c3ec264f83c08901eeea5b
Merge: 87d7e8f dfffff2
Author: Kevin Greenan <[email protected]>
Date:   Fri Oct 3 08:55:35 2014 -0700

    Merged in dachary/gf-complete/wip-static-code-analysis (pull request #24)

    static code analysis fixes

commit dfffff27407a78a37ee5b4329bf4d5298e509890
Author: Loic Dachary <[email protected]>
Date:   Wed Sep 17 10:02:12 2014 +0200

    remove dead code in create_gf_from_argv

    Since there can only be one -m, base cannot be set by -m COMPOSITE and
    then deallocated on the second -m if it is bugous. The second -m will
    exit on error at _gf_errno = GF_E_TWOMULT;.

    Signed-off-by: Loic Dachary <[email protected]>

commit 7c06749ab8b162e205ad4bd47d8e910435dfdc71
Author: Loic Dachary <[email protected]>
Date:   Wed Sep 17 09:26:14 2014 +0200

    disable gf_error_check test that requires >> 64

    Because >> 64 does not have a defined behavior.

    Signed-off-by: Loic Dachary <[email protected]>

commit 87d7e8fbb08205cb739235cfb5524c85e1d884c2
Merge: c25310f 6f16092
Author: Kevin Greenan <[email protected]>
Date:   Sat Aug 23 11:14:11 2014 -0700

    Merged in beol/gf-complete (pull request #23)

    On CPU that doesn't support SSE4.2 instructions set, this will fail

commit 6f160921dca0e61f90bbc1fe42e9ee1b4b90676e
Author: Leo Laksmana <[email protected]>
Date:   Sat Aug 23 18:08:31 2014 +0800

    On CPU that doesn't support SSE4.2 instructions set, this will fail
    because incorrect header is included.

    smmintrin.h => SSE4.1
    nmmintrin.h => SSE4.2

commit c25310f215bc97a37944339d331b000ba806d505
Author: Adam Disney <[email protected]>
Date:   Mon Jun 16 13:04:15 2014 -0400

    Removed comments marking CARRY_FREE_GK additions.

commit f48f2d38afba9f7c56d6d9d1256e193ff1ad7f6b
Merge: 5be1fec 5832024
Author: Adam Disney <[email protected]>
Date:   Mon Jun 16 12:44:45 2014 -0400

    Merge remote-tracking branch 'dalgaaf/wip-da-sca-20140513'

commit 5be1fecbcb8bc7fc2370185ec9faa36ae367b58a
Author: Adam Disney <[email protected]>
Date:   Mon Jun 16 12:27:19 2014 -0400

    Fixed a few minor warnings when running autogen.sh.

commit d08de3bdcb80748f884850db4cdb4630148c2398
Merge: 259d91a d631535
Author: Adam Disney <[email protected]>
Date:   Mon Jun 16 12:24:06 2014 -0400

    Merge remote-tracking branch 'jayrde/wip-autoconf-cleanup'

    Conflicts:
    	.gitignore
    	INSTALL
    	Makefile.in
    	aclocal.m4
    	config.guess
    	config.sub
    	configure
    	examples/Makefile.in
    	include/config.h.in
    	include/config.h.in~
    	install-sh
    	ltmain.sh
    	m4/libtool.m4
    	m4/ltversion.m4
    	missing
    	src/Makefile.in
    	test/Makefile.in
    	tools/Makefile.in

commit 259d91ad43aefc30ee8a5a01c200897358371401
Author: Kevin Greenan <[email protected]>
Date:   Mon Jun 9 12:36:05 2014 -0700

    autoreconf'd to reflect addition of --disable-sse

commit a11dc931ffed995c9635b058424fb21a0eea5994
Author: Kevin Greenan <[email protected]>
Date:   Mon Jun 9 11:21:01 2014 -0700

    Adding option to disable SSE in autoconf script

commit 9311b4fc107da2f2e9a2624520cfe2ffd216af53
Author: Kevin Greenan <[email protected]>
Date:   Mon Jun 9 08:34:50 2014 -0700

    Removed PDF from the repo and added a note in the README that describes how to
    get the manual.

commit 6bb1ebb9f4579d8faafb6124da33178da217a133
Author: Adam Disney <[email protected]>
Date:   Fri Jun 6 13:09:04 2014 -0400

    Implemented CARRY_FREE_GK. Sections added are tagged with a comment //ADAM
      for easy navigation.

commit 5832024d68c229934fd603ceac1ddb5f675d1509
Author: Danny Al-Gaaf <[email protected]>
Date:   Wed May 14 16:15:52 2014 +0200

    gf_w32.c: remove dead assignment with no effect

    Signed-off-by: Danny Al-Gaaf <[email protected]>

commit 40b9f8f9687539624df1b55c6a03c0d324c5c01f
Author: Danny Al-Gaaf <[email protected]>
Date:   Wed May 14 16:12:59 2014 +0200

    gf_time.c: remove dead assignment to 'elapsed'

    Signed-off-by: Danny Al-Gaaf <[email protected]>

commit 83f1eee1c2cda2bdbafde7568d1fd0d843533c56
Author: Danny Al-Gaaf <[email protected]>
Date:   Wed May 14 16:10:49 2014 +0200

    gf_w32.c: fix/remove some dead assignments

    Signed-off-by: Danny Al-Gaaf <[email protected]>

commit bfa6671fa99fb0fcba30fc86fbf30827d42c8a58
Author: Danny Al-Gaaf <[email protected]>
Date:   Wed May 14 16:09:55 2014 +0200

    gf_w16.c: fix/remove some dead assignments

    Signed-off-by: Danny Al-Gaaf <[email protected]>

commit eb3bb91d84864469ec32bc4ad25ce32420f15f7f
Author: Danny Al-Gaaf <[email protected]>
Date:   Wed May 14 16:00:05 2014 +0200

    gf_w128.c: remove some dead assignments

    Signed-off-by: Danny Al-Gaaf <[email protected]>

commit 925802a06a6ebc2fe9a1d770356c5ab5fbdd6615
Author: Danny Al-Gaaf <[email protected]>
Date:   Wed May 14 15:44:06 2014 +0200

    gf_w8.c: fix dead assignment report from scan-build

    Fix dead assignment in case of INTEL_SSSE3 defined.

    Signed-off-by: Danny Al-Gaaf <[email protected]>

commit c0dd8e0fe2e75ef4aaa5576f1cc7a57a447cc7b7
Author: Danny Al-Gaaf <[email protected]>
Date:   Wed May 14 10:49:20 2014 +0200

    gf_w64.c: remove dead assignments and unused variable 'm2'

    The 'm2' variable in gf_w64_clm_multiply_region_from_single_2() isn't
    used except for calculations on 'm2' which are not used later in the code.

    Signed-off-by: Danny Al-Gaaf <[email protected]>

commit 277819a972f6f95b0a590c5162897543fecf9680
Author: Danny Al-Gaaf <[email protected]>
Date:   Wed May 14 10:46:05 2014 +0200

    gf_w64.c: remove dead assigments in gf_w64_shift_multiply()

    These assigments are never used and directly overwritten later
    in the function.

    Signed-off-by: Danny Al-Gaaf <[email protected]>

commit 3e242830b089e74e9bc35a0960757ea2b53d4a21
Author: Danny Al-Gaaf <[email protected]>
Date:   Wed May 14 09:55:57 2014 +0200

    tools/gf_poly.c: fix undefined allocation of 0 bytes

    Due to man page of malloc the behaviour in case of allocation size of
    0 bytes is undefined: "If size was equal to 0, either NULL or a
    pointer suitable to be passed  to free() is returned"

    Fix for clang scan-build report:

    Unix API     Undefined allocation of 0 bytes (CERT MEM04-C; CWE-131)

    210 poly = (gf_general_t *) malloc(sizeof(gf_general_t)*(n+1));

        9 Call to 'malloc' has an allocation size of 0 bytes

    Signed-off-by: Danny Al-Gaaf <[email protected]>

commit f6936562b27f5716fa82c4d29767932319d211c0
Author: Danny Al-Gaaf <[email protected]>
Date:   Tue May 13 19:29:32 2014 +0200

    gf_w32.c: fix dereference of undefined pointer value

    Check for array boundaries of 't' in while loop header.

    Signed-off-by: Danny Al-Gaaf <[email protected]>

commit cb87c41f282dccc1b3649e3ea3fb80d19f820310
Author: Danny Al-Gaaf <[email protected]>
Date:   Tue May 13 19:24:47 2014 +0200

    test/gf_unit.c: free memory after usage

    Signed-off-by: Danny Al-Gaaf <[email protected]>

commit 33492be5db5d801d8fab5d0e01fc2c372c6ec9f6
Author: Danny Al-Gaaf <[email protected]>
Date:   Tue May 13 19:06:13 2014 +0200

    gf_inline_time.c: fix memory leak

    Free all with malloc allocated memory before exit. Change
    if checks against 'w' to be a if-else check to prevent checking
    after already matched.

    Signed-off-by: Danny Al-Gaaf <[email protected]>

commit 9d53ea590b243170900d82111f6f04d75977e1cb
Merge: 1559c2b df2c84d
Author: Kevin Greenan <[email protected]>
Date:   Sun Apr 27 09:24:00 2014 -0700

    Merged in dalgaaf/gf-complete/wip-da-coverity-rebased (pull request #21)

    Fixes for some issues found via Coverity in the Ceph project.

commit df2c84d2322976b411fd6b1d60471fc3a0b8e74c
Author: Danny Al-Gaaf <[email protected]>
Date:   Wed Mar 19 23:51:26 2014 +0100

    gf_w4.c: remove some dead code

    Fix for coverity issue from Ceph project:

    CID 1193093 (#1 of 1): Structurally dead code (UNREACHABLE)
     unreachable: This code cannot be reached: "return gf_w4_double_table_i...".

    Signed-off-by: Danny Al-Gaaf <[email protected]>

commit 0c04d6e3db792dbd979507e35d5df89f107e43be
Author: Danny Al-Gaaf <[email protected]>
Date:   Wed Mar 19 23:45:28 2014 +0100

    gf.c: fix pointless expression

    Remove identical expression, reorganize code in gf_error_check()
    to be identical handled trough all checks. Removed (raltmap && arg1 != 4)
    check - this is dead code (arg1 is always 4 in this code path).

    Fix for coverity issue from Ceph project:

    CID 1193071 (#1 of 1): Same on both sides (CONSTANT_EXPRESSION_RESULT)
     pointless_expression: The expression (arg1 == 4 && arg2 == 32) ||
     (arg1 == 4 && arg2 == 32) does not accomplish anything because it
     evaluates to either of its identical operands, arg1 == 4 && arg2 == 32.
     Did you intend the operands to be different?

    Signed-off-by: Danny Al-Gaaf <[email protected]>

commit 13f0e8888f9ae3bcd78a57514f9a9235a903492b
Author: Danny Al-Gaaf <[email protected]>
Date:   Wed Mar 19 23:25:59 2014 +0100

    fix comment/message on GF_E_SP128_A/GF_E_SP128_S

    Swap comments/messages on GF_E_SP128_A/GF_E_SP128_S.

    Signed-off-by: Danny Al-Gaaf <[email protected]>

commit fa5ec8112b66471559a4e983085703401e2fd866
Author: Danny Al-Gaaf <[email protected]>
Date:   Wed Mar 19 22:57:27 2014 +0100

    gf_w8.c: add missing breaks

    Since there is no comment indicating fallthrough on purpose added a
    break in switch value 5 and 6.

    Fix for coverity issue from Ceph project:

    CID 1193084 (#1 of 1): Missing break in switch (MISSING_BREAK)
     unterminated_case: This case (value 5) is not terminated by a 'break'
     statement.

    Signed-off-by: Danny Al-Gaaf <[email protected]>

commit 3b6364e5f20e0a5a6e3aa8dd143e5fdd8fc867ad
Author: Danny Al-Gaaf <[email protected]>
Date:   Wed Mar 19 22:47:14 2014 +0100

    gf_w4.c: add missing breaks

    Since there is no comment indicating fallthrough on purpose added a
    break in switch value 5 and 6.

    Fix for coverity issue from Ceph project:

    CID 1193082 (#1 of 1): Missing break in switch (MISSING_BREAK)
     unterminated_case: This case (value 5) is not terminated by a 'break'
     statement.

    CID 1193083 (#1 of 1): Missing break in switch (MISSING_BREAK)
     unterminated_case: This case (value 6) is not terminated by a 'break'
     statement.

    Signed-off-by: Danny Al-Gaaf <[email protected]>

commit 86b994df05ce792b792411b813f1c11f077ddb52
Author: Danny Al-Gaaf <[email protected]>
Date:   Wed Mar 19 22:32:35 2014 +0100

    gf_w32.c: add missing breaks

    Since there is no comment indicating fallthrough on purpose added a
    break in switch value 3 and 5/before default.

    Fix for coverity issue from Ceph project:

    CID 1193080 (#1 of 1): Missing break in switch (MISSING_BREAK)
     unterminated_case: This case (value 3) is not terminated by a 'break'
     statement.

    CID 1193081 (#1 of 1): Missing break in switch (MISSING_BREAK)
     unterminated_case: This case (value 5) is not terminated by a 'break'
     statement.

    Signed-off-by: Danny Al-Gaaf <[email protected]>

commit e958b0437dd91b66457522b414091ea06deb5677
Author: Danny Al-Gaaf <[email protected]>
Date:   Wed Mar 19 22:26:30 2014 +0100

    gf_w16.c: add missing break

    Since there is no comment indicating fallthrough on purpose added a
    break in switch value 5/before default.

    Fix for coverity issue from Ceph project:

    CID 1193079 (#1 of 1): Missing break in switch (MISSING_BREAK)
     unterminated_case: This case (value 5) is not terminated by a 'break'
     statement.

    Signed-off-by: Danny Al-Gaaf <[email protected]>

commit 173f82442dbaf85ba99ecb0ac64d76170ba866e5
Author: Danny Al-Gaaf <[email protected]>
Date:   Wed Mar 19 18:30:16 2014 +0100

    gf_general.c: fix pointless expression

    Instead of checking w128[0] twice check for w128[0] and w128[1].

    Fix for coverity issue from Ceph project:

    CID 1193072 (#1 of 1): Same on both sides (CONSTANT_EXPRESSION_RESULT)
     pointless_expression: The expression v1->w128[0] == v2->w128[0] &&
     v1->w128[0] == v2->w128[0] does not accomplish anything because it
     evaluates to either of its identical operands, v1->w128[0] == v2->w128[0].
     Did you intend the operands to be different?

    Signed-off-by: Danny Al-Gaaf <[email protected]>

commit 1559c2b51575c6ddd0005232e899ba1af4340610
Merge: e26cd5a a0ae760
Author: Kevin Greenan <[email protected]>
Date:   Thu Apr 10 19:01:49 2014 -0700

    Merged in dachary/gf-complete/wip-uint-8 (pull request #19)

    prefer uint8_t to char in pointer arithmetic

commit e26cd5aa3788631238acb7c70830ce63efd70f59
Merge: 8a96cbb b5ac258
Author: Kevin Greenan <[email protected]>
Date:   Thu Apr 10 10:46:20 2014 -0700

    Merged in dachary/gf-complete/wip-hard-coded-note (pull request #18)

    TODO reminder for KMG/JSP about hardcoded constant

commit a0ae760ed39c54e9ed63dae1e65dfb31dff44260
Author: Loic Dachary <[email protected]>
Date:   Thu Apr 10 17:21:38 2014 +0200

    prefer uint8_t to char in pointer arithmetic

    Signed-off-by: Loic Dachary <[email protected]>

commit 564f019f49285c5befa471366025f42a3e59d552
Author: Loic Dachary <[email protected]>
Date:   Thu Apr 10 17:20:42 2014 +0200

    Show pointer arithmetic warnings by default

    So that a void* being used in pointer arithmetic does not go unnoticed.

    Signed-off-by: Loic Dachary <[email protected]>

commit b5ac2580c29f5cc021003c094ee981eeea0b9008
Author: Loic Dachary <[email protected]>
Date:   Thu Apr 10 16:59:38 2014 +0200

    TODO reminder for KMG/JSP about hardcoded constant

    Signed-off-by: Loic Dachary <[email protected]>

commit 8a96cbb37113a851ec63b65a396520a1113529f1
Author: Kevin Greenan <[email protected]>
Date:   Wed Apr 2 10:35:21 2014 -0700

    Ran autogen to pick-up the changes needed to run 'make check'

commit 31baa175198de1a0a3d9f8829e39a87cba373624
Merge: 4c84a3b c18b97c
Author: Kevin Greenan <[email protected]>
Date:   Wed Apr 2 10:21:40 2014 -0700

    Merged in dachary/gf-complete/wip-make-check (pull request #11)

    add make check target and basic tests

commit c18b97cd0295849189d877b042701b2ef51d21f8
Author: Loic Dachary <[email protected]>
Date:   Sat Mar 29 11:51:27 2014 +0100

    add make check target and basic tests

    To conveniently run tests as

     $ make check
     ============================================================================
     Testsuite summary for gf-complete 1.0
     ============================================================================
     # TOTAL: 1
     # PASS:  1
     # SKIP:  0
     # XFAIL: 0
     # FAIL:  0
     # XPASS: 0
     # ERROR: 0
     ============================================================================

    The run-tests.sh script loops over gf_methods and is introduced because
    autotools does not allow tests to have parameters in the Makefile.am

    Signed-off-by: Loic Dachary <[email protected]>

commit 4c84a3b6507e9d1a13b1b7e00c3227829fbeaff2
Merge: 37d6a1b ce61fb0
Author: Kevin Greenan <[email protected]>
Date:   Mon Mar 31 08:53:14 2014 -0700

    Merged in dachary/gf-complete/wip-compilation-warnings (pull request #12)

    fix void* arithmetic compilation warning

commit 37d6a1b21784f0e7c48fcd6edeaf3875aba6587e
Merge: 1aef638 d569220
Author: Kevin Greenan <[email protected]>
Date:   Mon Mar 31 08:42:20 2014 -0700

    Merged in dachary/gf-complete/wip-sse4 (pull request #13)

    do not compile if used in SSE4 code path only

commit 1aef6384e7ce82d7ac02551fcca5d7bf28cc3242
Merge: c61ad61 47a2598
Author: Kevin Greenan <[email protected]>
Date:   Mon Mar 31 08:04:23 2014 -0700

    Merged in dachary/gf-complete/wip-gitignore (pull request #10)

    .gitignore: ignore autotools stuff

commit d569220629d476d687859968fc4bee3194eca16f
Author: Loic Dachary <[email protected]>
Date:   Sun Mar 30 00:06:48 2014 +0100

    do not compile if used in SSE4 code path only

    Acknowledge that gf_w128_split_4_128_multiply_region and
    gf_w128_split_4_128_sse_multiply_region are only used when the
    INTEL_SSE4 flag is present, even though they only need INTEL_SSSE3

    It suppresses a compilation warning complaining about them not being
    used if INTEL_SSE4 is absent and INTEL_SSSE3 is present.

    Signed-off-by: Loic Dachary <[email protected]>

commit ce61fb053da692477877dc2370c637efb4df43ff
Author: Loic Dachary <[email protected]>
Date:   Sat Mar 29 23:51:34 2014 +0100

    fix void* arithmetic compilation warning

    Signed-off-by: Loic Dachary <[email protected]>

commit 47a25981c1a3c81f6baf9dd811ec3ac0dc122727
Author: Sage Weil <[email protected]>
Date:   Thu Mar 27 11:40:06 2014 -0700

    .gitignore: ignore autotools stuff

    Signed-off-by: Sage Weil <[email protected]>
    (cherry picked from commit c70286782425b1f792313e4fd1ce1773c72dcd76)

commit c61ad61b439188fa9ec7cf8747fe3bd47f7ef17f
Merge: 3127a3c 87ed689
Author: Kevin Greenan <[email protected]>
Date:   Fri Mar 28 09:09:43 2014 -0700

    Merged in dachary/gf-complete/wip-gitignore (pull request #6)

    create a .gitignore

commit 3127a3cc9793051df630b3ce67b6628eea1078f9
Merge: f8ff1e2 20a242d
Author: Kevin Greenan <[email protected]>
Date:   Fri Mar 28 08:26:19 2014 -0700

    Merged in dachary/gf-complete/wip-compilation-warnings (pull request #3)

    fix compilation warnings

commit 20a242d9ddbb1d27988b93ce3ce5d24ee10deb15
Author: Loic Dachary <[email protected]>
Date:   Thu Mar 6 15:18:42 2014 +0100

    remove unused static function gf_w128_group_r_sse_init

    Signed-off-by: Loic Dachary <[email protected]>

commit 87ed6898ad41a08a591e1ba37d69e11f7537fdbd
Author: Loic Dachary <[email protected]>
Date:   Tue Mar 18 18:53:32 2014 +0100

    create a .gitignore

    Signed-off-by: Loic Dachary <[email protected]>

commit d631535472d3b2335c764831cda4b1bec26da1ba
Author: Jens Rosenboom <[email protected]>
Date:   Tue Mar 18 22:37:31 2014 +0100

    ignore more library files and eecutables

commit 034c73cdf5dc937fff3c83bbf1c1731e78c8e3d2
Author: Jens Rosenboom <[email protected]>
Date:   Tue Mar 18 22:31:14 2014 +0100

    fixup AM_INIT_AUTOMAKE call

commit 343c23a920244cc8c410db2d030c783060ff2be7
Author: Jens Rosenboom <[email protected]>
Date:   Tue Mar 18 22:24:37 2014 +0100

    add autogen.sh call to README

commit 0914fdf84d447d0286fe0f60ea4dd89075a2cf4b
Author: Jens Rosenboom <[email protected]>
Date:   Tue Mar 18 22:24:10 2014 +0100

    cleanup unused flag leftover from commit fb0bbdcf

commit 8690e8594952b1d022a302840a2dd41d67098046
Merge: 3b9a588 d66837d
Author: Jens Rosenboom <[email protected]>
Date:   Tue Mar 18 22:15:21 2014 +0100

    Merge branch 'wip-autoconf-cleanup' of https://bitbucket.org/jayrde/gf-complete into wip-autoconf-cleanup

commit 3b9a5880e600aa71e53b64e5b6290cc5e6b18f99
Author: Jens Rosenboom <[email protected]>
Date:   Tue Mar 18 22:01:17 2014 +0100

    remove obsolete files

commit d66837d5212886552d30f4911271a94a86f8f184
Author: Jens Rosenboom <[email protected]>
Date:   Tue Mar 18 21:00:06 2014 +0000

    Created new branch wip-autoconf-cleanup

commit 756cd5c331f623fd5f07d2032ad89e6ffc8dd37e
Author: Jens Rosenboom <[email protected]>
Date:   Tue Mar 18 21:55:20 2014 +0100

    add more autogenerated files to be ignored

commit 2758e242fe5a397e7716d1d9b351b31f09650428
Author: Jens Rosenboom <[email protected]>
Date:   Tue Mar 18 21:53:24 2014 +0100

    remove autogenerated files from repository

commit 9b5f56ed1810574fec3ff868488bca86a9b50606
Author: Jens Rosenboom <[email protected]>
Date:   Tue Mar 18 21:53:01 2014 +0100

    add .gitignore

commit cfcc1881ea715f90a959fa27e98edb10cdf92c54
Author: Loic Dachary <[email protected]>
Date:   Thu Mar 6 15:01:55 2014 +0100

    remove unused argument from SSE_AB2

    Signed-off-by: Loic Dachary <[email protected]>

commit 5c5b312a767afae3ae47774d0fbd98701c14794e
Author: Loic Dachary <[email protected]>
Date:   Thu Mar 6 15:00:10 2014 +0100

    main() returns int

    Signed-off-by: Loic Dachary <[email protected]>

commit 191b86b5d25a42e747e1bd7733de6c532c9df45c
Author: Loic Dachary <[email protected]>
Date:   Thu Mar 6 15:11:24 2014 +0100

    remove unused variables from #if SSE blocs

    Signed-off-by: Loic Dachary <[email protected]>

commit 59cb51046bf9a6b24e9abd622ea33fbaf7bb80e7
Author: Loic Dachary <[email protected]>
Date:   Thu Mar 6 14:50:44 2014 +0100

    remove spurious i < in for loop

    Signed-off-by: Loic Dachary <[email protected]>

commit cc45e190265171dca5b7a8317906a7ddd730b082
Author: Loic Dachary <[email protected]>
Date:   Thu Mar 6 17:48:12 2014 +0100

    do not use gf_internal_t when it is null

    Signed-off-by: Loic Dachary <[email protected]>

commit 3c4a451b509cfc3d51f9906326a66ac3e95de9d4
Author: Loic Dachary <[email protected]>
Date:   Thu Mar 6 14:48:34 2014 +0100

    silence some warnings for unset variables

    By setting them when they are defined and when the compiler fails to see
    the logic is ok.

    Signed-off-by: Loic Dachary <[email protected]>

commit d8863ceff7c4e462c997cbdd8f5b53ea165df3fe
Author: Loic Dachary <[email protected]>
Date:   Thu Mar 6 13:22:30 2014 +0100

    remove duplicate headers from src

    Signed-off-by: Loic Dachary <[email protected]>

commit 29899ad4439aca07ccd2efe2a8b7086efdec72b0
Author: Loic Dachary <[email protected]>
Date:   Thu Mar 6 17:32:30 2014 +0100

    move #if to avoid unused warning

    Signed-off-by: Loic Dachary <[email protected]>

commit 0020ff80920c6fc84ab454568e71ba78448a0809
Author: Loic Dachary <[email protected]>
Date:   Thu Mar 6 01:04:58 2014 +0100

    initialize pointer early in the function

    otherwise it may be used uninitialized

    Signed-off-by: Loic Dachary <[email protected]>

commit d36bd6e54090c2a2d8971349f6998d499beeb133
Author: Loic Dachary <[email protected]>
Date:   Thu Mar 6 01:04:12 2014 +0100

    cast void* to char* for pointer arithmetic

    Signed-off-by: Loic Dachary <[email protected]>

commit f043479e3c9d3f7296d49c0d5d9547ec3e73631f
Author: Loic Dachary <[email protected]>
Date:   Thu Mar 6 00:58:10 2014 +0100

    remove unused variables

    In some places move variables in the scope of the CPP define where they
    are used.

    Signed-off-by: Loic Dachary <[email protected]>

commit 4bf474daf7e30b8e4b110d8edf43506e3b76b345
Author: Loic Dachary <[email protected]>
Date:   Thu Mar 6 14:16:53 2014 +0100

    increase compilation warning level to -Wall

    and remove unused CXXFLAGS

    Signed-off-by: Loic Dachary <[email protected]>

commit f8ff1e2f64fc88bf74861a0ceec44d130ff1902c
Author: Jim Plank <[email protected]>
Date:   Wed Jan 29 16:37:12 2014 -0500

    Formatting

commit 9ee4bbdff51fb7e9bff4ac285b9a04b7aafb3ca3
Author: Jim Plank <[email protected]>
Date:   Wed Jan 29 16:06:38 2014 -0500

    Formatting

commit c374b37b9c21515282ce339a6b7394452caddd70
Author: Jim Plank <[email protected]>
Date:   Wed Jan 29 16:05:14 2014 -0500

    Updated manual and readme.

commit 814240e336a6a7ff07111869299aaa5baf2b775c
Author: Jim Plank <[email protected]>
Date:   Sat Jan 25 10:33:23 2014 -0500

    Changed %d to %u in gf_general.c

commit dcf65692b0fd4af0bc4f51cd88d96eb11e0146a3
Author: Kevin Greenan <[email protected]>
Date:   Tue Jan 7 08:36:44 2014 -0800

    Updated autoconf to put BSD license in COPYING.

commit 02bc991f68fb12f3e9af455a98de58f1f5664540
Author: Kevin Greenan <[email protected]>
Date:   Thu Jan 2 10:01:31 2014 -0800

    Added more header files to the distribution, which will allow
    clients of the lib to take advantage of even more stuff.

commit ee0e03bda83e87e5f052ec8e03b1440ce9a177a0
Author: Jim Plank <[email protected]>
Date:   Wed Jan 1 12:04:37 2014 -0500

    Revision 1.02 is done.  Manual updated.

commit f0c32c94bcc2cc5037cb714c75f8ec0ad2e1e2ef
Author: Jim Plank <[email protected]>
Date:   Wed Jan 1 11:00:40 2014 -0500

    Removed GROUP/128/SSE.  It wasn't compiling, and it needed an overhaul.
    I'll do it someday when I'm bored.

commit fb0bbdcf62a8cc82268207285a2f94808672dfdb
Author: Jim Plank <[email protected]>
Date:   Tue Dec 31 20:08:18 2013 -0500

    Fixed the problem with PCLMUL and gf_complete.h.  Removed
    ARCH_64 from everything but 128/GROUP/SSE.  Fortunately, no
    one ever uses that.

commit 8900c0e635bc809f2667647eb71156b0732112d3
Author: Kevin Greenan <[email protected]>
Date:   Mon Dec 30 22:12:43 2013 -0800

    Make INTEL_SSE4_PCLMUL flag consistent (was INTEL_PCLMUL in gf.c)

commit 5687b9c2ccdf55449fb5a727a10a0232bd649c28
Author: Kevin Greenan <[email protected]>
Date:   Mon Dec 30 22:50:04 2013 -0800

    Third.1 time's a charm (autoconf non-sense for PCLMUL).

commit 137b7ccd758dc06cea8bd54f68be23e5ef85a002
Author: Kevin Greenan <[email protected]>
Date:   Mon Dec 30 22:40:18 2013 -0800

    Revert "Third time's a charm (autoconf non-sense for PCLMUL)."

    The commit was not successfully pushed (not sure what happened).

    This reverts commit 762926920aa6b0067443e7c085bddf22d03a1d04.

commit 762926920aa6b0067443e7c085bddf22d03a1d04
Author: Kevin Greenan <[email protected]>
Date:   Mon Dec 30 21:26:47 2013 -0800

    Third time's a charm (autoconf non-sense for PCLMUL).

commit a98f6c1115aa94b4834a17dcd48f230c63503fde
Author: Kevin Greenan <[email protected]>
Date:   Mon Dec 30 16:31:54 2013 -0800

    Added entry to configure.ac to avoid running autotools during normal build.

commit a97563f0e4960a145b2c981b5b09627e3c66a2ad
Author: Kevin Greenan <[email protected]>
Date:   Mon Dec 30 14:14:08 2013 -0800

    Added PCLMUL to the autoconf macro...

commit 393fa02fd98b0a881b478c3157c436dd61071864
Author: Jim Plank <[email protected]>
Date:   Mon Dec 30 15:55:37 2013 -0500

    Some wordsmithing.

commit 2c583ca7118a49f15f9fa38dde24248fca4a83ae
Author: Jim Plank <[email protected]>
Date:   Mon Dec 30 13:42:50 2013 -0500

    Version numbering, and pointing only to bitbucket.

commit 52376d9cc63fda140e3266cd7f08876dd2556d7d
Author: Jim Plank <[email protected]>
Date:   Sun Dec 29 17:01:42 2013 -0500

    Copmiler errors with %llx.

commit 88bb18c651e48c527de540564471dff34fdc0d9c
Author: Jim Plank <[email protected]>
Date:   Sun Dec 29 16:51:37 2013 -0500

    Added time_tool.sh to tools for quick timing.
    Modified gf_methods to be a little more flexible.

commit 8eec6d46764dde8f11090d6bb0ff9111d535c793
Merge: bc2f7c1 ef18bcc
Author: James Plank <[email protected]>
Date:   Sat Dec 28 14:29:06 2013 -0500

    Merged in kmgreen2/gf-complete-testautoconf (pull request #2)

    Autoconf

commit ef18bccc3a063790e29c6cb33f37974b5f1c1ae4
Author: Kevin Greenan <[email protected]>
Date:   Tue Dec 10 09:00:32 2013 -0800

    Group for w=128 was failing because SSE4 is enabled, but not ARCH_64 (on my Linux VM).  Ensure that both are defined
    when init'ing group for w=128.

commit e1c76b4dd48a3ab323e20e94ebe984d7ded7c183
Author: Kevin Greenan <[email protected]>
Date:   Sat Dec 7 16:00:12 2013 -0800

    Added exhaustive test support (Ethan's changes to gf_unit and gf_methods) and overrode autoconf's defaults for CFLAGS.

commit 87bb2604175e7471e05394782d2edb6fd05b4fa5
Author: Kevin Greenan <[email protected]>
Date:   Thu Dec 5 08:35:18 2013 -0800

    Adding flag for SSSE3.  Must have missed it when I updated the ax_ext() macro.

commit 639c106d23ea155c3498aaade127b3583a94cc6c
Author: Kevin Greenan <[email protected]>
Date:   Wed Dec 4 21:54:26 2013 -0800

    Build failed...  It was because the some headers were in the wrong place.

    It was working for me because the headers were installed in /usr/local/include
    on my Linux box.

commit e0d7928749d0896be595d8d81dfe97cb75043123
Author: Kevin Greenan <[email protected]>
Date:   Wed Dec 4 21:27:29 2013 -0800

    Copy README.txt to README

commit 153dd20988bf9e91f10f8c5564f2c4d6a2fc50cd
Author: Kevin Greenan <[email protected]>
Date:   Tue Nov 26 07:09:36 2013 -0800

    Setting up autoconf/automake for GF-Complete

    Also re-organized the directory structure.

    Signed-off-by: Kevin Greenan <[email protected]>

commit bc2f7c1c3685cd086d82f48215f4a0ccdf716072
Author: Jim Plank <[email protected]>
Date:   Tue Nov 12 13:06:53 2013 -0500

    Revision 1.01.

commit 07b0399e0ccaee74953dff3477c9b2fb1389a4e6
Author: Jim Plank <[email protected]>
Date:   Tue Nov 12 12:59:36 2013 -0500

    Lazy table bug.  Thanks, Kevin.

commit 7bb3797a5075ebbab3ab291986f1e8e4419b0aa7
Author: Jim Plank <[email protected]>
Date:   Fri Nov 8 23:21:22 2013 -0500

    Added SPLIT SSE STDMAP for w=128

commit 10b7d7653238451f3d450350033f90d960932fb1
Author: Jim Plank <[email protected]>
Date:   Wed Oct 9 11:35:06 2013 -0400

    Added headers to the include files, and gf_size() to the documentation.

commit b0e2ae07abefbc7f5d3c7b19e165fe275b1eafcc
Author: Jim Plank <[email protected]>
Date:   Wed Oct 9 11:00:24 2013 -0400

    Put headers on the C files.

commit 110523d6f311d7ee81835566b5594e6feb2ce9dd
Author: Jim Plank <[email protected]>
Date:   Wed Oct 9 10:36:37 2013 -0400

    GF-Complete Release 1.0.

    Please see the user's manual for details.

commit 79a46d18b687f3e470a35becb21a68bab41d53f5
Author: Ethan L. Miller <[email protected]>
Date:   Thu Sep 19 15:57:07 2013 -0700

    Optimized version of GF(2^64) multiply using Intel SIMD carry-free multiply.

commit b36cada55702be4c8c3411c6afb20c31c3693466
Author: Jim Plank <[email protected]>
Date:   Tue Apr 9 16:29:46 2013 -0400

    Man, that was an idiotic bug in division for w=16.  I had d_antilog pointing
    to the log table rather than the antilog table.  Not unrelatedly, the unit
    tester is now testing division.

commit a351a6501b1bdc429ce975d514ccb91e2c7be019
Author: Jim Plank <[email protected]>
Date:   Mon Apr 8 11:38:56 2013 -0400

    Fixed bug with logtable division.

commit 345a4de1713f9ea4301552f442b9479b4862b6ab
Author: Jim Plank <[email protected]>
Date:   Mon Apr 1 16:26:10 2013 -0400

    See the last commit.  I forgot to do commit -a.

commit 5c214745b6a095d57b9d83c831091a0e68558ef0
Author: Jim Plank <[email protected]>
Date:   Mon Apr 1 16:24:25 2013 -0400

    Added inline functions for w=4, 8 and 16.  Plus gf_inline_time.c to time
    the inline functions.  I see that gf_unit at present is not testing division --
    that's a problem which we need to fix.

    Multiplication for w=4 & 8 is a little less than 2x faster when inlined.
    w=16 is quite a bit slower.  If I had the patience, I'd test logzero inlined,
    but I don't really have the patience at present.

commit d05a931f046f3700f64f9c389c8796bededb7562
Author: Jim Plank <[email protected]>
Date:   Fri Mar 8 16:31:42 2013 -0500

    Added LOG_ZERO_EXT and modified LOG_ZERO.  The new LOG_ZERO doesn't have an entry
    for two times the sentinel, because it's only needed for single multiplication.
    I haven't fixed w=16 yet with this.  Monday maybe?  Timings on our lab machines
    show no big difference.  We'd only expect a difference in single multiplies, and
    it's in the noise really.

    UNIX> gf_time 8 MDG 0 10240 10240 LOG - -
    Seed: 0
          Multiply:             0.231191 s   Mops:    100.000       432.542 Mega-ops/s
            Divide:             0.229992 s   Mops:    100.000       434.797 Mega-ops/s
     Region-Random: XOR: 0      0.095446 s     MB:    100.000      1047.712 MB/s
     Region-Random: XOR: 1      0.115485 s     MB:    100.000       865.914 MB/s
    UNIX> gf_time 8 MDG 0 10240 10240 LOG_ZERO - -
    Seed: 0
          Multiply:             0.228568 s   Mops:    100.000       437.506 Mega-ops/s
            Divide:             0.227718 s   Mops:    100.000       439.140 Mega-ops/s
     Region-Random: XOR: 0      0.085062 s     MB:    100.000      1175.613 MB/s
     Region-Random: XOR: 1      0.095891 s     MB:    100.000      1042.846 MB/s
    UNIX> gf_time 8 MDG 0 10240 10240 LOG_ZERO_EXT - -
    Seed: 0
          Multiply:             0.228960 s   Mops:    100.000       436.758 Mega-ops/s
            Divide:             0.227758 s   Mops:    100.000       439.063 Mega-ops/s
     Region-Random: XOR: 0      0.085180 s     MB:    100.000      1173.981 MB/s
     Region-Random: XOR: 1      0.095931 s     MB:    100.000      1042.421 MB/s
    UNIX>

commit 47896e9ddcd26da694d6775bf7fcadc7feebf385
Author: Jim Plank <[email protected]>
Date:   Mon Mar 4 17:06:43 2013 -0500

    Killing all of these junk files. They should not be in the repository.

commit 4d5f453827d1d100d83d003d807edd52672c943e
Author: Jim Plank <[email protected]>
Date:   Mon Mar 4 17:05:18 2013 -0500

    Killing junk.txt

commit b2d6666ed75a0c7a54bfdd2e9aed8a83396d55f5
Author: Jim Plank <[email protected]>
Date:   Mon Mar 4 17:02:24 2013 -0500

    Added clm region multiplication for w=64.  I should make this the default,
    but I haven't yet.  Speed is nice and fast, but not as fast ast SPLIT 64 4 SSE,ALTMAP:

    UNIX> gf_time 64 R 0 10240 10240 -
    Seed: 0
     Region-Random: XOR: 0      0.661736 s     MB:    100.000       151.118 MB/s
     Region-Random: XOR: 1      0.659374 s     MB:    100.000       151.659 MB/s
    Region-By-Zero: XOR: 0      0.002128 s     MB:    100.000     46989.738 MB/s
    Region-By-Zero: XOR: 1      0.000248 s     MB:    100.000    402911.047 MB/s
     Region-By-One: XOR: 0      0.002168 s     MB:    100.000     46131.808 MB/s
     Region-By-One: XOR: 1      0.003946 s     MB:    100.000     25344.758 MB/s
     Region-By-Two: XOR: 0      0.377993 s     MB:    100.000       264.555 MB/s
     Region-By-Two: XOR: 1      0.382269 s     MB:    100.000       261.596 MB/s
    UNIX> gf_time 64 R 0 10240 10240 SPLIT 64 4 SSE,ALTMAP -
    Seed: 0
     Region-Random: XOR: 0      0.050045 s     MB:    100.000      1998.211 MB/s
     Region-Random: XOR: 1      0.049198 s     MB:    100.000      2032.597 MB/s
    Region-By-Zero: XOR: 0      0.002100 s     MB:    100.000     47619.255 MB/s
    Region-By-Zero: XOR: 1      0.000260 s     MB:    100.000    384445.830 MB/s
     Region-By-One: XOR: 0      0.002139 s     MB:    100.000     46743.609 MB/s
     Region-By-One: XOR: 1      0.003928 s     MB:    100.000     25457.053 MB/s
     Region-By-Two: XOR: 0      0.048678 s     MB:    100.000      2054.330 MB/s
     Region-By-Two: XOR: 1      0.048800 s     MB:    100.000      2049.161 MB/s
    UNIX> gf_time 64 R 0 10240 10240 SHIFT SSE -
    Seed: 0
     Region-Random: XOR: 0      0.108492 s     MB:    100.000       921.724 MB/s
     Region-Random: XOR: 1      0.110783 s     MB:    100.000       902.663 MB/s
    Region-By-Zero: XOR: 0      0.002077 s     MB:    100.000     48155.040 MB/s
    Region-By-Zero: XOR: 1      0.000254 s     MB:    100.000    393461.914 MB/s
     Region-By-One: XOR: 0      0.002088 s     MB:    100.000     47902.056 MB/s
     Region-By-One: XOR: 1      0.003885 s     MB:    100.000     25739.822 MB/s
     Region-By-Two: XOR: 0      0.107280 s     MB:    100.000       932.142 MB/s
     Region-By-Two: XOR: 1      0.110782 s     MB:    100.000       902.676 MB/s
    UNIX>

commit 5c719db2b9c7c2da63e4d51dfcb2b8b926524d9c
Merge: cf6a5df 82a365d
Author: Ethan Miller <[email protected]>
Date:   Mon Mar 4 10:20:44 2013 -0800

    Merged in jimplank/gf-complete-unit-bytwo (pull request #1)

    Unit & w=64 bytwo.  Made a few more changes.

commit 82a365dae1b1597d5775f23ad344467d1a24c0b4
Author: Jim Plank <[email protected]>
Date:   Fri Mar 1 17:23:38 2013 -0500

    Getting the defaults and flags working with carryless multiply.  Regions next!

commit ed9bc0f6c4c6ab8de0ab630fde2adc20153d13af
Author: Jim Plank <[email protected]>
Date:   Fri Mar 1 15:42:29 2013 -0500

    Unit & w=64 bytwo.

commit cf6a5dfa29207fed0c1305d06eaff708e535633a
Author: Ethan L. Miller <[email protected]>
Date:   Fri Feb 15 15:41:46 2013 -0800

    Basic 64-bit multiply using intrinsics working.

commit 6219bb9867071c9fdba322544c996743f03ac6ef
Author: Ethan L. Miller <[email protected]>
Date:   Fri Feb 15 11:58:45 2013 -0800

    Adding support for carry-less multiply.

commit e6fd0a544be315a9a17709b938a04239b2101f03
Author: elm <elm@36f187d4-5712-4624-889c-152d48957efa>
Date:   Fri Feb 15 18:11:22 2013 +0000

    Updated the way we track CPU features.  Much more stable now.

    git-svn-id: svn://mamba.eecs.utk.edu/home/plank/svn/Galois-Library@100 36f187d4-5712-4624-889c-152d48957efa

commit 327f637b833e53165fe727d5b81266def29395d2
Author: plank <plank@36f187d4-5712-4624-889c-152d48957efa>
Date:   Wed Feb 13 01:32:10 2013 +0000

    Wordsmithing.

    git-svn-id: svn://mamba.eecs.utk.edu/home/plank/svn/Galois-Library@99 36f187d4-5712-4624-889c-152d48957efa

commit 64386c048bd40009b4f3d931f6a7685d0e2c3314
Author: plank <plank@36f187d4-5712-4624-889c-152d48957efa>
Date:   Wed Feb 13 01:10:11 2013 +0000

    Added whats_my_sse.c, so users can test the sse crap themselves.

    git-svn-id: svn://mamba.eecs.utk.edu/home/plank/svn/Galois-Library@98 36f187d4-5712-4624-889c-152d48957efa

commit 61d75c53f1de666d36f5803b813ad48b5ccc7f2a
Author: plank <plank@36f187d4-5712-4624-889c-152d48957efa>
Date:   Sun Feb 10 21:04:32 2013 +0000

    Bugs with SSE4.  Shit.

    git-svn-id: svn://mamba.eecs.utk.edu/home/plank/svn/Galois-Library@97 36f187d4-5712-4624-889c-152d48957efa

commit 92a5441ea4daa385c5e0239dcb0ac7463116da6a
Author: plank <plank@36f187d4-5712-4624-889c-152d48957efa>
Date:   Sun Feb 10 19:57:20 2013 +0000

    This holds the files that should be included as part of the release.

    git-svn-id: svn://mamba.eecs.utk.edu/home/plank/svn/Galois-Library@96 36f187d4-5712-4624-889c-152d48957efa

commit d0f2d55cce42f9a3a16d20c91f6c547acf66f43c
Author: plank <plank@36f187d4-5712-4624-889c-152d48957efa>
Date:   Sun Feb 10 19:56:15 2013 +0000

    Putting on the finishing touches.

    git-svn-id: svn://mamba.eecs.utk.edu/home/plank/svn/Galois-Library@95 36f187d4-5712-4624-889c-152d48957efa

commit 4e5e5cd17d4d0f63928ea45f7f8b434b8d114992
Author: plank <plank@36f187d4-5712-4624-889c-152d48957efa>
Date:   Sat Feb 9 17:45:44 2013 +0000

    Making it work with the maunal.

   …
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants