[PATCH] D43616: [X86][MMX] Improve handling of 64-bit MMX constants

Simon Pilgrim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 22 05:43:58 PST 2018


RKSimon created this revision.
RKSimon added reviewers: craig.topper, spatel.

64-bit MMX constant generation usually ends up lowering into SSE instructions before being spilled/reloaded as a MMX type.

This patch bitcasts the constant to a double value to allow correct loading directly to the MMX register.

I've added MMX constant asm comment support to improve testing, it's better to always print the double values as hex constants as MMX is mainly an integer unit (and even with 3DNow! its just floats).


Repository:
  rL LLVM

https://reviews.llvm.org/D43616

Files:
  lib/Target/X86/X86ISelLowering.cpp
  lib/Target/X86/X86MCInstLower.cpp
  test/CodeGen/X86/fast-isel-bc.ll
  test/CodeGen/X86/vector-shuffle-mmx.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D43616.135404.patch
Type: text/x-patch
Size: 5038 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180222/a9455c97/attachment.bin>


More information about the llvm-commits mailing list