abrown opened PR #2095 from simd-const
to main
:
This change enables the
simd_const.wast
spec test and adds encodings for integer vectors and newInst::[move|load|store]
utility functions.Before merging:
- [ ] this should be rebased on @jlb6740's integer arithmetic changes since
simd_const.wast
contains a single use each ofi64x2.add
andi32x4.add
- [ ] I would like feedback on what others think about the
Inst::[move|load|store]
utility functions: are they the right level of abstraction? Is the de-duplication of code worth the overhead? Should we removeInst::xmm_mov
(and/or others)?
abrown requested cfallin for a review on PR #2095.
abrown requested cfallin and julian-seward1 for a review on PR #2095.
abrown requested cfallin, julian-seward1 and jlb6740 for a review on PR #2095.
abrown submitted PR Review.
abrown created PR Review Comment:
Looking around more, I guess this should just be merged in with
gen_move
?
cfallin submitted PR Review.
cfallin submitted PR Review.
cfallin created PR Review Comment:
I'd prefer not to have function names overlapping with reserved words -- though it's technically possible with this "raw identifier" syntax, it's quite obscure (IMHO at least -- I had to look it up) and potentially causes confusion for no good reason. Perhaps just
gen_move
?
cfallin created PR Review Comment:
I like having helpers on
Inst
here. However, I think the extension should be an optional behavior; it's easy to imagine reaching forInst::load()
in the future for some general use-case and getting an extension op when it wasn't really needed (e.g. most narrow arithmetic doesn't care about high bits).Could we define an enum for extension mode, something like the aarch64 backend's
NarrowValueMode
, to use here?
cfallin created PR Review Comment:
A doc comment would be helpful here -- from the name it's not immediately clear what this does (movable to/from a scalar register? movable within a scalar register? ...).
cfallin submitted PR Review.
cfallin created PR Review Comment:
Ah, yes, that would actually be the best solution, I think.
abrown submitted PR Review.
abrown created PR Review Comment:
Yeah, I will move this into
gen_move
.
abrown submitted PR Review.
abrown created PR Review Comment:
Got rid of this and used a comparison on
RegClass
instead.
abrown updated PR #2095 from simd-const
to main
:
This change enables the
simd_const.wast
spec test and adds encodings for integer vectors and newInst::[move|load|store]
utility functions.Before merging:
- [ ] this should be rebased on @jlb6740's integer arithmetic changes since
simd_const.wast
contains a single use each ofi64x2.add
andi32x4.add
- [ ] I would like feedback on what others think about the
Inst::[move|load|store]
utility functions: are they the right level of abstraction? Is the de-duplication of code worth the overhead? Should we removeInst::xmm_mov
(and/or others)?
abrown submitted PR Review.
abrown created PR Review Comment:
I added an
ExtKind
enum; with that in place we should now be able to removexmm_mov
and simplify the lowering considerably in a future PR.
abrown requested bnjbvr, julian-seward1 and jlb6740 for a review on PR #2095.
abrown edited PR #2095 from simd-const
to main
:
This change enables the
simd_const.wast
spec test and adds encodings for integer vectors and newInst::[move|load|store]
utility functions.Before merging:
- [ ] this should be rebased on @jlb6740's integer arithmetic changes since
simd_const.wast
contains a single use each ofi64x2.add
andi32x4.add
- [x] I would like feedback on what others think about the
Inst::[move|load|store]
utility functions: are they the right level of abstraction? Is the de-duplication of code worth the overhead? Should we removeInst::xmm_mov
(and/or others)?
abrown edited PR #2095 from simd-const
to main
:
This change enables the
simd_const.wast
spec test and adds encodings for integer vectors and newInst::[move|load|store]
utility functions.Before merging:
- [x] this should be rebased on @jlb6740's integer arithmetic changes since
simd_const.wast
contains a single use each ofi64x2.add
andi32x4.add
- [x] I would like feedback on what others think about the
Inst::[move|load|store]
utility functions: are they the right level of abstraction? Is the de-duplication of code worth the overhead? Should we removeInst::xmm_mov
(and/or others)?
abrown has marked PR #2095 as ready for review.
bnjbvr submitted PR Review.
abrown updated PR #2095 from simd-const
to main
:
This change enables the
simd_const.wast
spec test and adds encodings for integer vectors and newInst::[move|load|store]
utility functions.Before merging:
- [x] this should be rebased on @jlb6740's integer arithmetic changes since
simd_const.wast
contains a single use each ofi64x2.add
andi32x4.add
- [x] I would like feedback on what others think about the
Inst::[move|load|store]
utility functions: are they the right level of abstraction? Is the de-duplication of code worth the overhead? Should we removeInst::xmm_mov
(and/or others)?
abrown merged PR #2095.
Last updated: Dec 23 2024 at 12:05 UTC