[PATCH] [X86] Teach load folding to accept scalar _Int users of MOVSS/MOVSD.

Ahmed Bougacha ahmed.bougacha at gmail.com
Thu Jun 18 16:38:48 PDT 2015


Hi spatel,

This fixes PR23349:  the _Int instructions are special, in that they operate on the full VR128 instead of FR32.  The load folding then looks at MOVSS, at the user, and bails out when it sees a size mismatch.

What we really know is that the rm_Int instructions don't load the higher lanes, so folding is fine.

This happens for the straightforward intrinsic code, e.g.:

    _mm_add_ss(a, _mm_load_ss(p));

http://reviews.llvm.org/D10554

Files:
  lib/Target/X86/X86InstrInfo.cpp
  test/CodeGen/X86/fold-load-binops.ll

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D10554.27971.patch
Type: text/x-patch
Size: 7594 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150618/47140f27/attachment.bin>


More information about the llvm-commits mailing list