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

refactor: Reimplement _mm_movelh_ps for Arm64 #579

Merged
merged 1 commit into from
Jan 6, 2023

Conversation

howjmay
Copy link
Contributor

@howjmay howjmay commented Jan 6, 2023

Accelerate _mm_movelh_ps for about 6.71%.
Test benchmark is listed below.

old average time: 4.062780e-05
new average time: 3.790102e-05
old time std: 1.375459e-06
new time std: 1.348056e-06

The benchmark was generated by following test

    const float *_a = impl.mTestFloatPointer1;
    const float *_b = impl.mTestFloatPointer2;
    __m128 a = load_m128(_a);
    __m128 b = load_m128(_b);

    clock_t t;
    double time_taken;
    t = clock();
    for (int i = 0; i < 10000; i++) {
        old_mm_movehl_ps(a, b);
    }
    t = clock() - t;
    time_taken = ((double) t) / CLOCKS_PER_SEC;
    printf("old: %f\n", time_taken);

    t = clock();
    for (int i = 0; i < 10000; i++) {
        new_mm_movehl_ps(a, b);
    }
    t = clock() - t;
    time_taken = ((double) t) / CLOCKS_PER_SEC;
    printf("new: %f\n", time_taken);

Accelerate _mm_movelh_ps for about 6.71%.
Test benchmark listed below.

old average time: 4.062780e-05
new average time: 3.790102e-05
old time std: 1.375459e-06
new time std: 1.348056e-06
@jserv jserv merged commit 4f43ec8 into DLTcollab:master Jan 6, 2023
@howjmay howjmay deleted the movelh_ps branch January 6, 2023 03:16
fengjixuchui added a commit to fengjixuchui/sse2neon that referenced this pull request Jan 6, 2023
Merge pull request DLTcollab#579 from howjmay/movelh_ps
mr-c added a commit to mr-c/simde that referenced this pull request Oct 12, 2023
mr-c added a commit to mr-c/simde that referenced this pull request Oct 13, 2023
mr-c added a commit to simd-everywhere/simde that referenced this pull request Oct 13, 2023
nemequ pushed a commit to simd-everywhere/simde-no-tests that referenced this pull request Oct 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants