intel-intrinsics icon indicating copy to clipboard operation
intel-intrinsics copied to clipboard

Deprecate loadUnaligned and storeUnaligned from public API

Open p0nce opened this issue 4 years ago • 2 comments

Concrete context always has a type and size information, so there isn't such a need for those in the public API. You can always use _mm_loadu_ps and friends.

p0nce avatar Jan 10 '21 19:01 p0nce

  • [x] Remove non-LDC use of loadUnaligned
  • [x] Remove non-LDC use of storeUnaligned
  • [x] Remove emulated loadUnaligned and storeUnaligned

p0nce avatar Feb 07 '21 00:02 p0nce

Reminder for myself: When making new code, do not use loadUnaligned or storeUnaligned unless for LDC code paths.

The issues with those is that it needs type-specific overloads, that always correspond to one intrinsic. loadUnaligned overloads ends up being untested and unoptimized, while the corresponding intrinsics is tested and optimized and already ported for all compilers, so it's really duplication.

p0nce avatar Mar 04 '22 21:03 p0nce

Related to #102 , using __vector directly is often faster

p0nce avatar Sep 04 '22 16:09 p0nce

Done, shufflevector is the same and should go though

p0nce avatar Sep 25 '22 17:09 p0nce