This revision was automatically updated to reflect the committed changes.
Closed by commit rL343343: [X86] Add the movbe instruction intrinsics from icc.
(authored by ctopper, committed by ).
Herald added a subscriber: llvm-commits.
Changed prior to commit:
https://reviews.llvm.org/D52586?vs=16
This revision was automatically updated to reflect the committed changes.
Closed by commit rC343343: [X86] Add the movbe instruction intrinsics from icc.
(authored by ctopper, committed by ).
Repository:
rC Clang
https://reviews.llvm.org/D52586
Files:
lib/Basic/Targets/X86.cpp
lib/Headers
spatel accepted this revision.
spatel added a comment.
This revision is now accepted and ready to land.
LGTM
https://reviews.llvm.org/D52586
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-c
craig.topper updated this revision to Diff 167416.
craig.topper added a comment.
Add comment. Fix typo. Add preprocessor define checks to the various CPUs that
have MOVBE
https://reviews.llvm.org/D52586
Files:
lib/Basic/Targets/X86.cpp
lib/Headers/immintrin.h
test/CodeGen/movbe-builtins.
spatel added a comment.
The struct hack isn't obvious to me. Without that, we would produce a load with
default alignment based on the size of the load (i132 -> align 4, etc)? But we
want to force align 1 regardless of the load size, so the __packed__ attribute
on the struct gets us that IIUC.
craig.topper created this revision.
craig.topper added reviewers: spatel, RKSimon.
These intrinsics exist in icc. They can be found on the Intel Intrinsics Guide
website.
All the backend support is in place to pattern match a load+bswap or a
bswap+store pattern to the MOVBE instructions. So we