Skip to content
This repository has been archived by the owner on Apr 3, 2020. It is now read-only.

Implement SIMD APIs with C++ runtime functions and Float32x4Array and Int32x4Array element load and store for IA32 port #1

Merged
merged 1 commit into from
Feb 28, 2014

Conversation

fenghaitao
Copy link
Contributor

I'd like to get your early code review feedback when implementing the Float322x4Array and Int32x4Array element load and store for ARM port and X64 port.

In our SIMD prototype implementation, in X64 port, for Float322x4Array and Int32x4Array element load and store, we always use SSE2, i.e., use movups to move elements, but it depends on the SIMD register allocation and introducing movups into assembler. To make this commit independent, I will implement something similar as submitted in the second patch set for IA32.

// --- S I M D ---
Handle<String> name = factory()->InternalizeUtf8String("SIMD");
Handle<JSFunction> cons = factory()->NewFunction(name,
factory()->the_hole_value());
Copy link
Contributor

Choose a reason for hiding this comment

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

incorrect indent?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

@fenghaitao
Copy link
Contributor Author

I have implemented Float322x4Array and Int32x4Array element load and store for ARM port and X64 port and merged the previous two commits into one commit. Please take another look.

@@ -3232,6 +3264,68 @@ void LCodeGen::DoLoadKeyedExternalArray(LLoadKeyed* instr) {
} else { // loading doubles, not floats.
__ vldr(result, scratch0(), base_offset);
}
} else if (IsFloat32x4ElementsKind(elements_kind)) {
Copy link
Contributor

Choose a reason for hiding this comment

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

The logic of codes for Flaot32x4 and Int32x4 are almost same. Would it better to use a template implementation?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.

@fenghaitao
Copy link
Contributor Author

All comments are addressed. It is ready to be merged.

@huningxin
Copy link
Contributor

Thanks for the update. I verified the patch in my local build and testing.
Now LGTM.

fenghaitao added a commit that referenced this pull request Feb 28, 2014
Implement SIMD APIs with C++ runtime functions and Float32x4Array and Int32x4Array element load and store for IA32 port
@fenghaitao fenghaitao merged commit 68a92e4 into crosswalk-project:master Feb 28, 2014
types, implement the SIMD operations on the Float32x4 and Int32x4 with
C++ runtime functions and implement Float32x4Array and Int32x4Array
element loading and storing.
asifhisam pushed a commit to asifhisam/v8-crosswalk that referenced this pull request Sep 9, 2019
Revision: 64fbb30

BUG=v8:6059
LOG=N
NOTRY=true
NOPRESUBMIT=true
NOTREECHECKS=true

Change-Id: Id6028ef39a890392f581f63df32debeddf7969d1
Reviewed-on: https://chromium-review.googlesource.com/456342
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/branch-heads/5.8@{crosswalk-project#39}
Cr-Branched-From: eda659c-refs/heads/5.8.283@{crosswalk-project#1}
Cr-Branched-From: 4310cd0-refs/heads/master@{#43429}
asifhisam pushed a commit to asifhisam/v8-crosswalk that referenced this pull request Sep 9, 2019
Cr-Commit-Position: refs/branch-heads/5.8@{crosswalk-project#40}
Cr-Branched-From: eda659c-refs/heads/5.8.283@{crosswalk-project#1}
Cr-Branched-From: 4310cd0-refs/heads/master@{#43429}
asifhisam pushed a commit to asifhisam/v8-crosswalk that referenced this pull request Sep 9, 2019
BUG=v8:6121
NOTRY=true
NOPRESUBMIT=true
TBR=hablich@chromium.org

Review-Url: https://codereview.chromium.org/2776963003
Cr-Commit-Position: refs/branch-heads/5.8@{crosswalk-project#41}
Cr-Branched-From: eda659c-refs/heads/5.8.283@{crosswalk-project#1}
Cr-Branched-From: 4310cd0-refs/heads/master@{#43429}
asifhisam pushed a commit to asifhisam/v8-crosswalk that referenced this pull request Sep 9, 2019
Cr-Commit-Position: refs/branch-heads/5.8@{crosswalk-project#42}
Cr-Branched-From: eda659c-refs/heads/5.8.283@{crosswalk-project#1}
Cr-Branched-From: 4310cd0-refs/heads/master@{#43429}
asifhisam pushed a commit to asifhisam/v8-crosswalk that referenced this pull request Sep 9, 2019
… marked as escaped

Revision: 0cfd2fe

BUG=chromium:699251
LOG=N
NOTRY=true
NOPRESUBMIT=true
NOTREECHECKS=true
TBR=bmeurer@chromium.org

Review-Url: https://codereview.chromium.org/2772273002
Cr-Commit-Position: refs/branch-heads/5.8@{crosswalk-project#43}
Cr-Branched-From: eda659c-refs/heads/5.8.283@{crosswalk-project#1}
Cr-Branched-From: 4310cd0-refs/heads/master@{#43429}
asifhisam pushed a commit to asifhisam/v8-crosswalk that referenced this pull request Sep 9, 2019
Cr-Commit-Position: refs/branch-heads/5.8@{crosswalk-project#44}
Cr-Branched-From: eda659c-refs/heads/5.8.283@{crosswalk-project#1}
Cr-Branched-From: 4310cd0-refs/heads/master@{#43429}
asifhisam pushed a commit to asifhisam/v8-crosswalk that referenced this pull request Sep 9, 2019
Revision: 7273f70

BUG=v8:6146
LOG=N
NOTRY=true
NOPRESUBMIT=true
NOTREECHECKS=true

Change-Id: I5dc0fc5a593e2b66ed928e8451ed10c46c1ce6bf
Reviewed-on: https://chromium-review.googlesource.com/464867
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/branch-heads/5.8@{crosswalk-project#45}
Cr-Branched-From: eda659c-refs/heads/5.8.283@{crosswalk-project#1}
Cr-Branched-From: 4310cd0-refs/heads/master@{#43429}
asifhisam pushed a commit to asifhisam/v8-crosswalk that referenced this pull request Sep 9, 2019
Cr-Commit-Position: refs/branch-heads/5.8@{crosswalk-project#46}
Cr-Branched-From: eda659c-refs/heads/5.8.283@{crosswalk-project#1}
Cr-Branched-From: 4310cd0-refs/heads/master@{#43429}
asifhisam pushed a commit to asifhisam/v8-crosswalk that referenced this pull request Sep 9, 2019
…rce compilation

Revision: 2629f81

BUG=chromium:693338
LOG=N
NOTRY=true
NOPRESUBMIT=true
NOTREECHECKS=true

Change-Id: I93dac5a5d7dc794816e61eb8229f587ce6482bcc
Reviewed-on: https://chromium-review.googlesource.com/465106
Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
Cr-Commit-Position: refs/branch-heads/5.8@{crosswalk-project#47}
Cr-Branched-From: eda659c-refs/heads/5.8.283@{crosswalk-project#1}
Cr-Branched-From: 4310cd0-refs/heads/master@{#43429}
asifhisam pushed a commit to asifhisam/v8-crosswalk that referenced this pull request Sep 9, 2019
Cr-Commit-Position: refs/branch-heads/5.8@{crosswalk-project#48}
Cr-Branched-From: eda659c-refs/heads/5.8.283@{crosswalk-project#1}
Cr-Branched-From: 4310cd0-refs/heads/master@{#43429}
asifhisam pushed a commit to asifhisam/v8-crosswalk that referenced this pull request Sep 9, 2019
Revision: c019e53

BUG=chromium:706642
LOG=N
NOTRY=true
NOPRESUBMIT=true
NOTREECHECKS=true

Change-Id: I61e9d2decb269b33aefcc6e77d6c09bab3a2a994
Reviewed-on: https://chromium-review.googlesource.com/465828
Reviewed-by: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/branch-heads/5.8@{crosswalk-project#49}
Cr-Branched-From: eda659c-refs/heads/5.8.283@{crosswalk-project#1}
Cr-Branched-From: 4310cd0-refs/heads/master@{#43429}
asifhisam pushed a commit to asifhisam/v8-crosswalk that referenced this pull request Sep 9, 2019
Cr-Commit-Position: refs/branch-heads/5.8@{crosswalk-project#50}
Cr-Branched-From: eda659c-refs/heads/5.8.283@{crosswalk-project#1}
Cr-Branched-From: 4310cd0-refs/heads/master@{#43429}
asifhisam pushed a commit to asifhisam/v8-crosswalk that referenced this pull request Sep 9, 2019
Revision: fd5b3e7

TBR=hablich@chromium.org
BUG=v8:6062
LOG=N
NOTRY=true
NOPRESUBMIT=true
NOTREECHECKS=true

Change-Id: Ib6bcc8512f0031c301236238e5e6d6a47706f291
Reviewed-on: https://chromium-review.googlesource.com/471408
Reviewed-by: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/branch-heads/5.8@{crosswalk-project#51}
Cr-Branched-From: eda659c-refs/heads/5.8.283@{crosswalk-project#1}
Cr-Branched-From: 4310cd0-refs/heads/master@{#43429}
asifhisam pushed a commit to asifhisam/v8-crosswalk that referenced this pull request Sep 9, 2019
Cr-Commit-Position: refs/branch-heads/5.8@{crosswalk-project#52}
Cr-Branched-From: eda659c-refs/heads/5.8.283@{crosswalk-project#1}
Cr-Branched-From: 4310cd0-refs/heads/master@{#43429}
asifhisam pushed a commit to asifhisam/v8-crosswalk that referenced this pull request Sep 9, 2019
Revision: a4c6126

BUG=chromium:706234
LOG=N
NOTRY=true
NOPRESUBMIT=true
NOTREECHECKS=true

Change-Id: I7bcdc5788373be211c5c563dd974627eedd06719
Reviewed-on: https://chromium-review.googlesource.com/472629
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/branch-heads/5.8@{crosswalk-project#53}
Cr-Branched-From: eda659c-refs/heads/5.8.283@{crosswalk-project#1}
Cr-Branched-From: 4310cd0-refs/heads/master@{#43429}
asifhisam pushed a commit to asifhisam/v8-crosswalk that referenced this pull request Sep 9, 2019
Cr-Commit-Position: refs/branch-heads/5.8@{crosswalk-project#54}
Cr-Branched-From: eda659c-refs/heads/5.8.283@{crosswalk-project#1}
Cr-Branched-From: 4310cd0-refs/heads/master@{#43429}
asifhisam pushed a commit to asifhisam/v8-crosswalk that referenced this pull request Sep 9, 2019
This fixes behavior for HeapNumber {index} arguments passed to
AdvanceStringIndex.

Previously, we'd blindly treat {index} as a Smi. Passing a HeapNumber instead
would result in a Smi addition on the tagged HeapNumber pointer.

Backmerge of commit ed5496f.

BUG=chromium:709015
NOPRESUBMIT=true
NOTRY=true

Review-Url: https://codereview.chromium.org/2808033002
Cr-Commit-Position: refs/branch-heads/5.8@{crosswalk-project#55}
Cr-Branched-From: eda659c-refs/heads/5.8.283@{crosswalk-project#1}
Cr-Branched-From: 4310cd0-refs/heads/master@{#43429}
asifhisam pushed a commit to asifhisam/v8-crosswalk that referenced this pull request Sep 9, 2019
Backmerge of commit ae45935
and 1ccf6c0.

BUG=v8:5437,chromium:708247
NOPRESUBMIT=true
NOTRY=true

Review-Url: https://codereview.chromium.org/2808023002
Cr-Commit-Position: refs/branch-heads/5.8@{crosswalk-project#56}
Cr-Branched-From: eda659c-refs/heads/5.8.283@{crosswalk-project#1}
Cr-Branched-From: 4310cd0-refs/heads/master@{#43429}
asifhisam pushed a commit to asifhisam/v8-crosswalk that referenced this pull request Sep 9, 2019
Cr-Commit-Position: refs/branch-heads/5.8@{crosswalk-project#57}
Cr-Branched-From: eda659c-refs/heads/5.8.283@{crosswalk-project#1}
Cr-Branched-From: 4310cd0-refs/heads/master@{#43429}
asifhisam pushed a commit to asifhisam/v8-crosswalk that referenced this pull request Sep 9, 2019
Merged: [parser] Fix crash when lazy arrow func params contain destructuring assignments.
Revision: bc39a51

Merged: [parser] don't rewrite destructuring assignments in params for lazy top level arrow functions
Revision: 5f782db

BUG=chromium:704811,chromium:706234,chromium:706761,v8:6182
LOG=N
NOTRY=true
NOPRESUBMIT=true
NOTREECHECKS=true

Change-Id: If5c04c3b9f6ac9c6879052b6a34446f895624200
Reviewed-on: https://chromium-review.googlesource.com/474746
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/branch-heads/5.8@{crosswalk-project#58}
Cr-Branched-From: eda659c-refs/heads/5.8.283@{crosswalk-project#1}
Cr-Branched-From: 4310cd0-refs/heads/master@{#43429}
asifhisam pushed a commit to asifhisam/v8-crosswalk that referenced this pull request Sep 9, 2019
Cr-Commit-Position: refs/branch-heads/5.8@{crosswalk-project#59}
Cr-Branched-From: eda659c-refs/heads/5.8.283@{crosswalk-project#1}
Cr-Branched-From: 4310cd0-refs/heads/master@{#43429}
asifhisam pushed a commit to asifhisam/v8-crosswalk that referenced this pull request Sep 9, 2019
Revision: c5c570f

NOTRY=true
NOPRESUBMIT=true
NOTREECHECKS=true
R=hablich@chromium.org
BUG=v8:6032

Review-Url: https://codereview.chromium.org/2733333003
Cr-Commit-Position: refs/branch-heads/5.8@{crosswalk-project#60}
Cr-Branched-From: eda659c-refs/heads/5.8.283@{crosswalk-project#1}
Cr-Branched-From: 4310cd0-refs/heads/master@{#43429}
asifhisam pushed a commit to asifhisam/v8-crosswalk that referenced this pull request Sep 9, 2019
Cr-Commit-Position: refs/branch-heads/5.8@{crosswalk-project#61}
Cr-Branched-From: eda659c-refs/heads/5.8.283@{crosswalk-project#1}
Cr-Branched-From: 4310cd0-refs/heads/master@{#43429}
asifhisam pushed a commit to asifhisam/v8-crosswalk that referenced this pull request Sep 9, 2019
…e.push.

Revision: 1fceaf9

BUG=v8:5267,v8:6241
LOG=N
NOTRY=true
NOPRESUBMIT=true
NOTREECHECKS=true

Change-Id: I7cd3fa5cfb61bcd49e57eba704639943fbd8d220
Reviewed-on: https://chromium-review.googlesource.com/476731
Reviewed-by: Michael Hablich <hablich@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/branch-heads/5.8@{crosswalk-project#62}
Cr-Branched-From: eda659c-refs/heads/5.8.283@{crosswalk-project#1}
Cr-Branched-From: 4310cd0-refs/heads/master@{#43429}
asifhisam pushed a commit to asifhisam/v8-crosswalk that referenced this pull request Sep 9, 2019
Cr-Commit-Position: refs/branch-heads/5.8@{crosswalk-project#63}
Cr-Branched-From: eda659c-refs/heads/5.8.283@{crosswalk-project#1}
Cr-Branched-From: 4310cd0-refs/heads/master@{#43429}
asifhisam pushed a commit to asifhisam/v8-crosswalk that referenced this pull request Sep 9, 2019
Merged: [turbofan] Properly represent the float64 hole.
Revision: 8c0c5e8

Merged: [turbofan] Remove unused word32 truncation case for CheckFloat64Hole.
Revision: 2eeb085

BUG=chromium:684208,chromium:684208,chromium:709753,chromium:709753,v8:5267,v8:5267
LOG=N
NOTRY=true
NOPRESUBMIT=true
NOTREECHECKS=true
TBR=bmeurer@chromium.org

Review-Url: https://codereview.chromium.org/2819653002 .
Cr-Commit-Position: refs/branch-heads/5.8@{crosswalk-project#64}
Cr-Branched-From: eda659c-refs/heads/5.8.283@{crosswalk-project#1}
Cr-Branched-From: 4310cd0-refs/heads/master@{#43429}
asifhisam pushed a commit to asifhisam/v8-crosswalk that referenced this pull request Sep 9, 2019
…ect#1 id:1 of https://codereview.chromium.org/2819653002/ )

Reason for revert:
Breaks the build

Original issue's description:
> Merged: Squashed multiple commits.
>
> Merged: [turbofan] Properly represent the float64 hole.
> Revision: 8c0c5e8
>
> Merged: [turbofan] Remove unused word32 truncation case for CheckFloat64Hole.
> Revision: 2eeb085
>
> BUG=chromium:684208,chromium:684208,chromium:709753,chromium:709753,v8:5267,v8:5267
> LOG=N
> NOTRY=true
> NOPRESUBMIT=true
> NOTREECHECKS=true
> TBR=bmeurer@chromium.org
>
> Review-Url: https://codereview.chromium.org/2819653002 .
> Cr-Commit-Position: refs/branch-heads/5.8@{crosswalk-project#64}
> Cr-Branched-From: eda659c-refs/heads/5.8.283@{crosswalk-project#1}
> Cr-Branched-From: 4310cd0-refs/heads/master@{#43429}
> Committed: https://chromium.googlesource.com/v8/v8/+/46013d6901425e3820a5f6378c5d1770f536dfb5

TBR=bmeurer@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:684208,chromium:684208,chromium:709753,chromium:709753,v8:5267,v8:5267

Review-Url: https://codereview.chromium.org/2820603002
Cr-Commit-Position: refs/branch-heads/5.8@{crosswalk-project#65}
Cr-Branched-From: eda659c-refs/heads/5.8.283@{crosswalk-project#1}
Cr-Branched-From: 4310cd0-refs/heads/master@{#43429}
asifhisam pushed a commit to asifhisam/v8-crosswalk that referenced this pull request Sep 9, 2019
Cr-Commit-Position: refs/branch-heads/5.8@{crosswalk-project#66}
Cr-Branched-From: eda659c-refs/heads/5.8.283@{crosswalk-project#1}
Cr-Branched-From: 4310cd0-refs/heads/master@{#43429}
asifhisam pushed a commit to asifhisam/v8-crosswalk that referenced this pull request Sep 9, 2019
Loading the map, performing a side-effect, and then using the stored
pointer for the fast-path check is another antipattern that can lead to
unintended shapes on the fast path.

Backmerge of commit db61537.

BUG=chromium:709029
TBR=yangguo@chromium.org
NOPRESUBMIT=true
NOTRY=true

Review-Url: https://codereview.chromium.org/2818683005
Cr-Commit-Position: refs/branch-heads/5.8@{crosswalk-project#67}
Cr-Branched-From: eda659c-refs/heads/5.8.283@{crosswalk-project#1}
Cr-Branched-From: 4310cd0-refs/heads/master@{#43429}
asifhisam pushed a commit to asifhisam/v8-crosswalk that referenced this pull request Sep 9, 2019
Cr-Commit-Position: refs/branch-heads/5.8@{crosswalk-project#68}
Cr-Branched-From: eda659c-refs/heads/5.8.283@{crosswalk-project#1}
Cr-Branched-From: 4310cd0-refs/heads/master@{#43429}
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants