[PATCH] D52586: [X86] Add the movbe instruction intrinsics from icc.

Craig Topper via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Sep 26 18:26:01 PDT 2018


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 just need to get the frontend to emit the correct IR. The pointer arguments in icc are declared as void so I had to jump through a packed struct to forcing a specific alignment on the load/store. Same trick we use in the unaligned vector load/store intrinsics


https://reviews.llvm.org/D52586

Files:
  lib/Basic/Targets/X86.cpp
  lib/Headers/immintrin.h
  test/CodeGen/movbe-builtins.c

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D52586.167228.patch
Type: text/x-patch
Size: 4431 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180927/8986af98/attachment.bin>


More information about the cfe-commits mailing list