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

NEON: implement all intrinsics supported by architecture A64-part1 #1090

Merged
merged 42 commits into from
Oct 24, 2023

Conversation

yyctw
Copy link
Contributor

@yyctw yyctw commented Oct 23, 2023

Hi all, this is Eric from Andes Technology Corporation. This PR is part of the previous PR and includes the following:
Add 368 initial implementations and corresponding test cases in 88 families which are listed below:

  • abd, abdl_high, add, addhn_high, bsl, ceq, ceqz, cgez, cgtz, cle,
  • cltz, cmla, cmla_rot180, cmla_rot270, cmla_rot90, cnt, copy_lane, cvt, cvt_n, cvtm,
  • cvtp, dot, dot_lane, dup_n, eor, fms_n, ld1, ld3, ld4, maxnm,
  • maxv, minnm, minv, mull, mull_high, mvn, pmin, qrdmulh_lane, qrshl, qrshrn_high_n,
  • qrshrun_high_n, qshl_n, qshlu_n, qshrn_high_n, qshrn_n, qshrun_n, qtbl, qtbx, raddhn, raddhn_high,
  • rbit, reinterpret, rev16, rev32, rev64, rnd, rndi, rndm, rndp, rshrn_high_n,
  • rsubhn, rsubhn_high, shr_n, shrn_n, sli_n, sri_n, st1, st1_lane, st1_x2, st1_x3,
  • st1_x4, st1q_x2, st1q_x3, st1q_x4, st2_lane, st3, st3_lane, st4, st4_lane, tbl,
  • tbx, trn, trn1, trn2, tst, uzp, uzp1, uzp2

@yyctw yyctw force-pushed the A64-1 branch 2 times, most recently from 1a08b3b to c763294 Compare October 23, 2023 06:42
@mr-c
Copy link
Collaborator

mr-c commented Oct 23, 2023

The build error for "Windows MSVC-Aarch64" reminds me of this note in the .appveyor.yml.

# "meson test -C build" fails due to excessively long command line

So maybe try replacing

meson test -C build --print-errorlogs $(meson test -C build --list | grep -v emul)

with ninja -C build test

Copy link
Collaborator

@mr-c mr-c left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Quick fix for the native-aliases build failure

simde/arm/neon/rsubhn_high.h Outdated Show resolved Hide resolved
simde/arm/neon/rsubhn_high.h Outdated Show resolved Hide resolved
simde/arm/neon/rsubhn_high.h Outdated Show resolved Hide resolved
simde/arm/neon/rsubhn_high.h Outdated Show resolved Hide resolved
simde/arm/neon/rsubhn_high.h Outdated Show resolved Hide resolved
simde/arm/neon/rsubhn_high.h Outdated Show resolved Hide resolved
1. Correct the native-aliases name.
2. Replace the test command in "Windows MSVC-Aarch64"
@yyctw
Copy link
Contributor Author

yyctw commented Oct 23, 2023

Quick fix for the native-aliases build failure

It has been fixed.

@yyctw yyctw requested a review from mr-c October 23, 2023 07:43
Copy link
Collaborator

@mr-c mr-c left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Initial review of the 1st 50 files; I'll review the next batch when these comments are resolved.

simde/arm/neon/add.h Outdated Show resolved Hide resolved
simde/arm/neon/bsl.h Outdated Show resolved Hide resolved
simde/arm/neon/ceq.h Outdated Show resolved Hide resolved
simde/arm/neon/ceqz.h Outdated Show resolved Hide resolved
simde/arm/neon/cmla.h Outdated Show resolved Hide resolved
simde/arm/neon/qrshl.h Outdated Show resolved Hide resolved
simde/arm/neon/qshlu_n.h Outdated Show resolved Hide resolved
simde/arm/neon/qshrun_n.h Outdated Show resolved Hide resolved
simde/arm/neon/qtbl.h Outdated Show resolved Hide resolved
simde/arm/neon/qtbx.h Outdated Show resolved Hide resolved
@mr-c mr-c added this to the 0.8.0 milestone Oct 23, 2023
@yyctw
Copy link
Contributor Author

yyctw commented Oct 23, 2023

Initial review of the 1st 50 files; I'll review the next batch when these comments are resolved.

@mr-c I have addressed all the comments. My apologies for inadvertently deleting and adding the Copyright. Thank you for your review!

@yyctw yyctw requested a review from mr-c October 23, 2023 15:43
Copy link
Collaborator

@mr-c mr-c left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1st 75 files reviewed. Some errant copyright statements still.

Thank you for including the test generation code!

simde/arm/neon/rbit.h Outdated Show resolved Hide resolved
simde/arm/neon/rev16.h Outdated Show resolved Hide resolved
simde/arm/neon/rev32.h Outdated Show resolved Hide resolved
simde/arm/neon/rnd.h Outdated Show resolved Hide resolved
simde/arm/neon/rndi.h Outdated Show resolved Hide resolved
simde/arm/neon/st1q_x4.h Outdated Show resolved Hide resolved
simde/arm/neon/st4_lane.h Outdated Show resolved Hide resolved
simde/arm/neon/tbl.h Outdated Show resolved Hide resolved
simde/arm/neon/tbx.h Outdated Show resolved Hide resolved
simde/arm/neon/tst.h Outdated Show resolved Hide resolved
@yyctw yyctw requested a review from mr-c October 24, 2023 01:25
@yyctw
Copy link
Contributor Author

yyctw commented Oct 24, 2023

1st 75 files reviewed. Some errant copyright statements still.

Thank you for including the test generation code!

Already fixed.

Copy link
Collaborator

@mr-c mr-c left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@mr-c mr-c merged commit 2eedece into simd-everywhere:master Oct 24, 2023
84 of 85 checks passed
@mr-c
Copy link
Collaborator

mr-c commented Oct 24, 2023

Really impressive, thank you @yyctw !

simd-everywhere/implementation-status@71ae00c !!!

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.

2 participants