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

Commit

Permalink
Revert of Turbofan: Add MachineOperators for SIMD. (patchset #1 id:1 of
Browse files Browse the repository at this point in the history
https://codereview.chromium.org/1850383002/ )

Reason for revert:
The first revert did help after all. See comments on:
https://codereview.chromium.org/1848433003/

Original issue's description:
> Reland of Turbofan: Add MachineOperators for SIMD. (patchset #1 id:1 of https://codereview.chromium.org/1850373002/ )
>
> Reason for revert:
> Revert didn't help. Still we need to figure out what bothers the msan build.
>
> Original issue's description:
> > Revert of Turbofan: Add MachineOperators for SIMD. (patchset #5 id:70001 of https://codereview.chromium.org/1848433003/ )
> >
> > Reason for revert:
> > [Sheriff] Speculative revert. Compile now times out on msan:
> > https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/builds/7705
> >
> > Original issue's description:
> > > Turbofan: Add MachineOperators for SIMD.
> > >
> > > Takes the SIMD runtime intrinsics as a starting point for defining TF machine operators. The rationale for omitting functions is:
> > >
> > >  - UInt constructors. int and uint aren't distinguished in wasm.
> > >  - Check functions.
> > >  - 'FromXxxBits' functions. These are essentially casts.
> > >  - Simple Load / Store functions. Existing load / store with SIMD type should work.
> > >  - Uint functions, except where their behavior is bitwise different from the Int function.
> > >
> > > Skipped fns:
> > >
> > > Float32x4Check
> > > Float32x4FromInt32x4Bits
> > > Float32x4FromUint32x4Bits
> > > Float32x4FromInt16x8Bits
> > > Float32x4FromUint16x8Bits
> > > Float32x4FromInt8x16Bits
> > > Float32x4FromUint8x16Bits
> > > Float32x4Load
> > > Float32x4Store
> > >
> > > Int32x4Check
> > > Int32x4FromUint32x4
> > > Int32x4FromFloat32x4Bits
> > > Int32x4FromUint32x4Bits
> > > Int32x4FromInt16x8Bits
> > > Int32x4FromUint16x8Bits
> > > Int32x4FromInt8x16Bits
> > > Int32x4FromUint8x16Bits
> > > Int32x4Load
> > > Int32x4Store
> > >
> > > CreateUint32x4
> > > Uint32x4Check
> > > Uint32x4ExtractLane
> > > Uint32x4ReplaceLane
> > > Uint32x4Add
> > > Uint32x4Sub
> > > Uint32x4Mul
> > > Uint32x4And
> > > Uint32x4Or
> > > Uint32x4Xor
> > > Uint32x4Not
> > > Uint32x4Equal
> > > Uint32x4NotEqual
> > > Uint32x4Select
> > > Uint32x4Swizzle
> > > Uint32x4Shuffle
> > > Uint32x4FromInt32x4
> > > Uint32x4FromFloat32x4Bits
> > > Uint32x4FromInt32x4Bits
> > > Uint32x4FromInt16x8Bits
> > > Uint32x4FromUint16x8Bits
> > > Uint32x4FromInt8x16Bits
> > > Uint32x4FromUint8x16Bits
> > > Uint32x4Load
> > > Uint32x4Load1
> > > Uint32x4Load2
> > > Uint32x4Load3
> > > Uint32x4Store
> > > Uint32x4Store1
> > > Uint32x4Store2
> > > Uint32x4Store3
> > >
> > > Bool32x4Check
> > >
> > > Int16x8Check
> > > Int16x8FromUint16x8
> > > Int16x8FromFloat32x4Bits
> > > Int16x8FromInt32x4Bits
> > > Int16x8FromUint32x4Bits
> > > Int16x8FromUint16x8Bits
> > > Int16x8FromInt8x16Bits
> > > Int16x8FromUint8x16Bits
> > > Int16x8Load
> > > Int16x8Store
> > >
> > > CreateUint16x8
> > > Uint16x8Check
> > > Uint16x8ExtractLane
> > > Uint16x8ReplaceLane
> > > Uint16x8Add
> > > Uint16x8Sub
> > > Uint16x8Mul
> > > Uint16x8And
> > > Uint16x8Or
> > > Uint16x8Xor
> > > Uint16x8Not
> > > Uint16x8Equal
> > > Uint16x8NotEqual
> > > Uint16x8Select
> > > Uint16x8Swizzle
> > > Uint16x8Shuffle
> > > Uint16x8FromInt16x8
> > > Uint16x8FromFloat32x4Bits
> > > Uint16x8FromInt32x4Bits
> > > Uint16x8FromUint32x4Bits
> > > Uint16x8FromInt16x8Bits
> > > Uint16x8FromInt8x16Bits
> > > Uint16x8FromUint8x16Bits
> > > Uint16x8Load
> > > Uint16x8Store
> > >
> > > Bool16x8Check
> > >
> > > Int8x16Check
> > > Int8x16FromUint8x16
> > > Int8x16FromFloat32x4Bits
> > > Int8x16FromInt32x4Bits
> > > Int8x16FromUint32x4Bits
> > > Int8x16FromInt16x8Bits
> > > Int8x16FromUint16x8Bits
> > > Int8x16FromUint8x16Bits
> > > Int8x16Load
> > > Int8x16Store
> > >
> > > CreateUint8x16
> > > Uint8x16Check
> > > Uint8x16ExtractLane
> > > Uint8x16ReplaceLane
> > > Uint8x16Add
> > > Uint8x16Sub
> > > Uint8x16Mul
> > > Uint8x16And
> > > Uint8x16Or
> > > Uint8x16Xor
> > > Uint8x16Not
> > > Uint8x16Equal
> > > Uint8x16NotEqual
> > > Uint8x16Select
> > > Uint8x16Swizzle
> > > Uint8x16Shuffle
> > > Uint8x16FromInt8x16
> > > Uint8x16FromFloat32x4Bits
> > > Uint8x16FromInt32x4Bits
> > > Uint8x16FromUint32x4Bits
> > > Uint8x16FromInt16x8Bits
> > > Uint8x16FromUint16x8Bits
> > > Uint8x16FromInt8x16Bits
> > > Uint8x16Load
> > > Uint8x16Store
> > >
> > > Bool8x16Check
> > >
> > > LOG=N
> > > BUG=v8:4124
> > >
> > > Committed: https://crrev.com/3831d41e4ce7b162775732cb6ac1f8139e60aa30
> > > Cr-Commit-Position: refs/heads/master@{#35213}
> >
> > TBR=bradnelson@chromium.org,gdeepti@chromium.org,titzer@chromium.org,mtrofin@chromium.org,bradnelson@google.com,bmeurer@chromium.org,bbudge@chromium.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=v8:4124
> >
> > Committed: https://crrev.com/8481ec6016992e0b9ffb70137e9ff8fcd4135bba
> > Cr-Commit-Position: refs/heads/master@{#35220}
>
> TBR=bradnelson@chromium.org,gdeepti@chromium.org,titzer@chromium.org,mtrofin@chromium.org,bradnelson@google.com,bmeurer@chromium.org,bbudge@chromium.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=v8:4124
>
> Committed: https://crrev.com/1f46e3ee8cec6b06b30b569e5688de095c4661ff
> Cr-Commit-Position: refs/heads/master@{#35221}

TBR=bradnelson@chromium.org,gdeepti@chromium.org,titzer@chromium.org,mtrofin@chromium.org,bradnelson@google.com,bmeurer@chromium.org,bbudge@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4124

Review URL: https://codereview.chromium.org/1846413002

Cr-Commit-Position: refs/heads/master@{#35222}
  • Loading branch information
mi-ac authored and Commit bot committed Apr 2, 2016
1 parent 1f46e3e commit 8625c48
Show file tree
Hide file tree
Showing 5 changed files with 6 additions and 604 deletions.
186 changes: 1 addition & 185 deletions src/compiler/machine-operator.cc
Original file line number Diff line number Diff line change
Expand Up @@ -202,191 +202,7 @@ MachineRepresentation StackSlotRepresentationOf(Operator const* op) {
V(Int32PairMul, Operator::kNoProperties, 4, 0, 2) \
V(Word32PairShl, Operator::kNoProperties, 3, 0, 2) \
V(Word32PairShr, Operator::kNoProperties, 3, 0, 2) \
V(Word32PairSar, Operator::kNoProperties, 3, 0, 2) \
V(CreateFloat32x4, Operator::kNoProperties, 4, 0, 1) \
V(Float32x4ExtractLane, Operator::kNoProperties, 2, 0, 1) \
V(Float32x4ReplaceLane, Operator::kNoProperties, 3, 0, 1) \
V(Float32x4Abs, Operator::kNoProperties, 1, 0, 1) \
V(Float32x4Neg, Operator::kNoProperties, 1, 0, 1) \
V(Float32x4Sqrt, Operator::kNoProperties, 1, 0, 1) \
V(Float32x4RecipApprox, Operator::kNoProperties, 1, 0, 1) \
V(Float32x4RecipSqrtApprox, Operator::kNoProperties, 1, 0, 1) \
V(Float32x4Add, Operator::kCommutative, 2, 0, 1) \
V(Float32x4Sub, Operator::kNoProperties, 2, 0, 1) \
V(Float32x4Mul, Operator::kCommutative, 2, 0, 1) \
V(Float32x4Div, Operator::kNoProperties, 2, 0, 1) \
V(Float32x4Min, Operator::kCommutative, 2, 0, 1) \
V(Float32x4Max, Operator::kCommutative, 2, 0, 1) \
V(Float32x4MinNum, Operator::kCommutative, 2, 0, 1) \
V(Float32x4MaxNum, Operator::kCommutative, 2, 0, 1) \
V(Float32x4Equal, Operator::kCommutative, 2, 0, 1) \
V(Float32x4NotEqual, Operator::kCommutative, 2, 0, 1) \
V(Float32x4LessThan, Operator::kNoProperties, 2, 0, 1) \
V(Float32x4LessThanOrEqual, Operator::kNoProperties, 2, 0, 1) \
V(Float32x4GreaterThan, Operator::kNoProperties, 2, 0, 1) \
V(Float32x4GreaterThanOrEqual, Operator::kNoProperties, 2, 0, 1) \
V(Float32x4Select, Operator::kNoProperties, 3, 0, 1) \
V(Float32x4Swizzle, Operator::kNoProperties, 5, 0, 1) \
V(Float32x4Shuffle, Operator::kNoProperties, 6, 0, 1) \
V(Float32x4FromInt32x4, Operator::kNoProperties, 1, 0, 1) \
V(Float32x4FromUint32x4, Operator::kNoProperties, 1, 0, 1) \
V(Float32x4Load1, Operator::kNoProperties, 2, 0, 1) \
V(Float32x4Load2, Operator::kNoProperties, 2, 0, 1) \
V(Float32x4Load3, Operator::kNoProperties, 2, 0, 1) \
V(Float32x4Store1, Operator::kNoProperties, 3, 0, 1) \
V(Float32x4Store2, Operator::kNoProperties, 3, 0, 1) \
V(Float32x4Store3, Operator::kNoProperties, 3, 0, 1) \
V(CreateInt32x4, Operator::kNoProperties, 4, 0, 1) \
V(Int32x4ExtractLane, Operator::kNoProperties, 2, 0, 1) \
V(Int32x4ReplaceLane, Operator::kNoProperties, 3, 0, 1) \
V(Int32x4Neg, Operator::kNoProperties, 1, 0, 1) \
V(Int32x4Add, Operator::kCommutative, 2, 0, 1) \
V(Int32x4Sub, Operator::kNoProperties, 2, 0, 1) \
V(Int32x4Mul, Operator::kCommutative, 2, 0, 1) \
V(Int32x4Min, Operator::kCommutative, 2, 0, 1) \
V(Int32x4Max, Operator::kCommutative, 2, 0, 1) \
V(Int32x4And, Operator::kAssociative | Operator::kCommutative, 2, 0, 1) \
V(Int32x4Or, Operator::kAssociative | Operator::kCommutative, 2, 0, 1) \
V(Int32x4Xor, Operator::kAssociative | Operator::kCommutative, 2, 0, 1) \
V(Int32x4Not, Operator::kNoProperties, 1, 0, 1) \
V(Int32x4ShiftLeftByScalar, Operator::kNoProperties, 2, 0, 1) \
V(Int32x4ShiftRightByScalar, Operator::kNoProperties, 2, 0, 1) \
V(Int32x4Equal, Operator::kCommutative, 2, 0, 1) \
V(Int32x4NotEqual, Operator::kCommutative, 2, 0, 1) \
V(Int32x4LessThan, Operator::kNoProperties, 2, 0, 1) \
V(Int32x4LessThanOrEqual, Operator::kNoProperties, 2, 0, 1) \
V(Int32x4GreaterThan, Operator::kNoProperties, 2, 0, 1) \
V(Int32x4GreaterThanOrEqual, Operator::kNoProperties, 2, 0, 1) \
V(Int32x4Select, Operator::kNoProperties, 3, 0, 1) \
V(Int32x4Swizzle, Operator::kNoProperties, 5, 0, 1) \
V(Int32x4Shuffle, Operator::kNoProperties, 6, 0, 1) \
V(Int32x4FromFloat32x4, Operator::kNoProperties, 1, 0, 1) \
V(Int32x4Load1, Operator::kNoProperties, 2, 0, 1) \
V(Int32x4Load2, Operator::kNoProperties, 2, 0, 1) \
V(Int32x4Load3, Operator::kNoProperties, 2, 0, 1) \
V(Int32x4Store1, Operator::kNoProperties, 3, 0, 1) \
V(Int32x4Store2, Operator::kNoProperties, 3, 0, 1) \
V(Int32x4Store3, Operator::kNoProperties, 3, 0, 1) \
V(Uint32x4Min, Operator::kCommutative, 2, 0, 1) \
V(Uint32x4Max, Operator::kCommutative, 2, 0, 1) \
V(Uint32x4ShiftLeftByScalar, Operator::kNoProperties, 2, 0, 1) \
V(Uint32x4ShiftRightByScalar, Operator::kNoProperties, 2, 0, 1) \
V(Uint32x4LessThan, Operator::kNoProperties, 2, 0, 1) \
V(Uint32x4LessThanOrEqual, Operator::kNoProperties, 2, 0, 1) \
V(Uint32x4GreaterThan, Operator::kNoProperties, 2, 0, 1) \
V(Uint32x4GreaterThanOrEqual, Operator::kNoProperties, 2, 0, 1) \
V(Uint32x4FromFloat32x4, Operator::kNoProperties, 1, 0, 1) \
V(CreateBool32x4, Operator::kNoProperties, 4, 0, 1) \
V(Bool32x4ExtractLane, Operator::kNoProperties, 2, 0, 1) \
V(Bool32x4ReplaceLane, Operator::kNoProperties, 3, 0, 1) \
V(Bool32x4And, Operator::kAssociative | Operator::kCommutative, 2, 0, 1) \
V(Bool32x4Or, Operator::kAssociative | Operator::kCommutative, 2, 0, 1) \
V(Bool32x4Xor, Operator::kAssociative | Operator::kCommutative, 2, 0, 1) \
V(Bool32x4Not, Operator::kNoProperties, 1, 0, 1) \
V(Bool32x4AnyTrue, Operator::kNoProperties, 1, 0, 1) \
V(Bool32x4AllTrue, Operator::kNoProperties, 1, 0, 1) \
V(Bool32x4Swizzle, Operator::kNoProperties, 5, 0, 1) \
V(Bool32x4Shuffle, Operator::kNoProperties, 6, 0, 1) \
V(Bool32x4Equal, Operator::kCommutative, 2, 0, 1) \
V(Bool32x4NotEqual, Operator::kCommutative, 2, 0, 1) \
V(CreateInt16x8, Operator::kNoProperties, 8, 0, 1) \
V(Int16x8ExtractLane, Operator::kNoProperties, 2, 0, 1) \
V(Int16x8ReplaceLane, Operator::kNoProperties, 3, 0, 1) \
V(Int16x8Neg, Operator::kNoProperties, 1, 0, 1) \
V(Int16x8Add, Operator::kCommutative, 2, 0, 1) \
V(Int16x8AddSaturate, Operator::kCommutative, 2, 0, 1) \
V(Int16x8Sub, Operator::kNoProperties, 2, 0, 1) \
V(Int16x8SubSaturate, Operator::kNoProperties, 2, 0, 1) \
V(Int16x8Mul, Operator::kCommutative, 2, 0, 1) \
V(Int16x8Min, Operator::kCommutative, 2, 0, 1) \
V(Int16x8Max, Operator::kCommutative, 2, 0, 1) \
V(Int16x8And, Operator::kAssociative | Operator::kCommutative, 2, 0, 1) \
V(Int16x8Or, Operator::kAssociative | Operator::kCommutative, 2, 0, 1) \
V(Int16x8Xor, Operator::kAssociative | Operator::kCommutative, 2, 0, 1) \
V(Int16x8Not, Operator::kNoProperties, 1, 0, 1) \
V(Int16x8ShiftLeftByScalar, Operator::kNoProperties, 2, 0, 1) \
V(Int16x8ShiftRightByScalar, Operator::kNoProperties, 2, 0, 1) \
V(Int16x8Equal, Operator::kCommutative, 2, 0, 1) \
V(Int16x8NotEqual, Operator::kCommutative, 2, 0, 1) \
V(Int16x8LessThan, Operator::kNoProperties, 2, 0, 1) \
V(Int16x8LessThanOrEqual, Operator::kNoProperties, 2, 0, 1) \
V(Int16x8GreaterThan, Operator::kNoProperties, 2, 0, 1) \
V(Int16x8GreaterThanOrEqual, Operator::kNoProperties, 2, 0, 1) \
V(Int16x8Select, Operator::kNoProperties, 3, 0, 1) \
V(Int16x8Swizzle, Operator::kNoProperties, 9, 0, 1) \
V(Int16x8Shuffle, Operator::kNoProperties, 10, 0, 1) \
V(Uint16x8AddSaturate, Operator::kCommutative, 2, 0, 1) \
V(Uint16x8SubSaturate, Operator::kNoProperties, 2, 0, 1) \
V(Uint16x8Min, Operator::kCommutative, 2, 0, 1) \
V(Uint16x8Max, Operator::kCommutative, 2, 0, 1) \
V(Uint16x8ShiftLeftByScalar, Operator::kNoProperties, 2, 0, 1) \
V(Uint16x8ShiftRightByScalar, Operator::kNoProperties, 2, 0, 1) \
V(Uint16x8LessThan, Operator::kNoProperties, 2, 0, 1) \
V(Uint16x8LessThanOrEqual, Operator::kNoProperties, 2, 0, 1) \
V(Uint16x8GreaterThan, Operator::kNoProperties, 2, 0, 1) \
V(Uint16x8GreaterThanOrEqual, Operator::kNoProperties, 2, 0, 1) \
V(CreateBool16x8, Operator::kNoProperties, 8, 0, 1) \
V(Bool16x8ExtractLane, Operator::kNoProperties, 2, 0, 1) \
V(Bool16x8ReplaceLane, Operator::kNoProperties, 3, 0, 1) \
V(Bool16x8And, Operator::kAssociative | Operator::kCommutative, 2, 0, 1) \
V(Bool16x8Or, Operator::kAssociative | Operator::kCommutative, 2, 0, 1) \
V(Bool16x8Xor, Operator::kAssociative | Operator::kCommutative, 2, 0, 1) \
V(Bool16x8Not, Operator::kNoProperties, 1, 0, 1) \
V(Bool16x8AnyTrue, Operator::kNoProperties, 1, 0, 1) \
V(Bool16x8AllTrue, Operator::kNoProperties, 1, 0, 1) \
V(Bool16x8Swizzle, Operator::kNoProperties, 9, 0, 1) \
V(Bool16x8Shuffle, Operator::kNoProperties, 10, 0, 1) \
V(Bool16x8Equal, Operator::kCommutative, 2, 0, 1) \
V(Bool16x8NotEqual, Operator::kCommutative, 2, 0, 1) \
V(CreateInt8x16, Operator::kNoProperties, 16, 0, 1) \
V(Int8x16ExtractLane, Operator::kNoProperties, 2, 0, 1) \
V(Int8x16ReplaceLane, Operator::kNoProperties, 3, 0, 1) \
V(Int8x16Neg, Operator::kNoProperties, 1, 0, 1) \
V(Int8x16Add, Operator::kCommutative, 2, 0, 1) \
V(Int8x16AddSaturate, Operator::kCommutative, 2, 0, 1) \
V(Int8x16Sub, Operator::kNoProperties, 2, 0, 1) \
V(Int8x16SubSaturate, Operator::kNoProperties, 2, 0, 1) \
V(Int8x16Mul, Operator::kCommutative, 2, 0, 1) \
V(Int8x16Min, Operator::kCommutative, 2, 0, 1) \
V(Int8x16Max, Operator::kCommutative, 2, 0, 1) \
V(Int8x16And, Operator::kAssociative | Operator::kCommutative, 2, 0, 1) \
V(Int8x16Or, Operator::kAssociative | Operator::kCommutative, 2, 0, 1) \
V(Int8x16Xor, Operator::kAssociative | Operator::kCommutative, 2, 0, 1) \
V(Int8x16Not, Operator::kNoProperties, 1, 0, 1) \
V(Int8x16ShiftLeftByScalar, Operator::kNoProperties, 2, 0, 1) \
V(Int8x16ShiftRightByScalar, Operator::kNoProperties, 2, 0, 1) \
V(Int8x16Equal, Operator::kCommutative, 2, 0, 1) \
V(Int8x16NotEqual, Operator::kCommutative, 2, 0, 1) \
V(Int8x16LessThan, Operator::kNoProperties, 2, 0, 1) \
V(Int8x16LessThanOrEqual, Operator::kNoProperties, 2, 0, 1) \
V(Int8x16GreaterThan, Operator::kNoProperties, 2, 0, 1) \
V(Int8x16GreaterThanOrEqual, Operator::kNoProperties, 2, 0, 1) \
V(Int8x16Select, Operator::kNoProperties, 3, 0, 1) \
V(Int8x16Swizzle, Operator::kNoProperties, 17, 0, 1) \
V(Int8x16Shuffle, Operator::kNoProperties, 18, 0, 1) \
V(Uint8x16AddSaturate, Operator::kCommutative, 2, 0, 1) \
V(Uint8x16SubSaturate, Operator::kNoProperties, 2, 0, 1) \
V(Uint8x16Min, Operator::kCommutative, 2, 0, 1) \
V(Uint8x16Max, Operator::kCommutative, 2, 0, 1) \
V(Uint8x16ShiftLeftByScalar, Operator::kNoProperties, 2, 0, 1) \
V(Uint8x16ShiftRightByScalar, Operator::kNoProperties, 2, 0, 1) \
V(Uint8x16LessThan, Operator::kNoProperties, 2, 0, 1) \
V(Uint8x16LessThanOrEqual, Operator::kNoProperties, 2, 0, 1) \
V(Uint8x16GreaterThan, Operator::kNoProperties, 2, 0, 1) \
V(Uint8x16GreaterThanOrEqual, Operator::kNoProperties, 2, 0, 1) \
V(CreateBool8x16, Operator::kNoProperties, 16, 0, 1) \
V(Bool8x16ExtractLane, Operator::kNoProperties, 2, 0, 1) \
V(Bool8x16ReplaceLane, Operator::kNoProperties, 3, 0, 1) \
V(Bool8x16And, Operator::kAssociative | Operator::kCommutative, 2, 0, 1) \
V(Bool8x16Or, Operator::kAssociative | Operator::kCommutative, 2, 0, 1) \
V(Bool8x16Xor, Operator::kAssociative | Operator::kCommutative, 2, 0, 1) \
V(Bool8x16Not, Operator::kNoProperties, 1, 0, 1) \
V(Bool8x16AnyTrue, Operator::kNoProperties, 1, 0, 1) \
V(Bool8x16AllTrue, Operator::kNoProperties, 1, 0, 1) \
V(Bool8x16Swizzle, Operator::kNoProperties, 17, 0, 1) \
V(Bool8x16Shuffle, Operator::kNoProperties, 18, 0, 1) \
V(Bool8x16Equal, Operator::kCommutative, 2, 0, 1) \
V(Bool8x16NotEqual, Operator::kCommutative, 2, 0, 1)
V(Word32PairSar, Operator::kNoProperties, 3, 0, 2)

#define PURE_OPTIONAL_OP_LIST(V) \
V(Word32Ctz, Operator::kNoProperties, 1, 0, 1) \
Expand Down
Loading

0 comments on commit 8625c48

Please sign in to comment.