[PATCH] [x86] Provide execution domains for scalar floating point operations.

Chandler Carruth chandlerc at gmail.com
Wed Feb 4 03:48:52 PST 2015


While we might think of these as not executing in the "packed" domain,
in fact they do. They use the same set of resources as the packed
floating point operations in every sense, and we want to ensure that we
use the correct shuffle, load, and store instructions when interacting
with them.

Fixing this today is largely aesthetic because we just ended up using
'packed single' as the fallback default. But it removes a false
domain break and will ensure that if the default is the integer domain
that doesn't interfere with producing good floating point code.

Note that this use a 'let ExeDomain = ... in' mechanism rather than
threading it through all of the multiclasses the way I did in r228135.
I'm interested in which approach seems more appropriate, and I'm happy
to make them both converge on that.

http://reviews.llvm.org/D7402

Files:
  lib/Target/X86/X86InstrSSE.td
  test/CodeGen/X86/sink-hoist.ll
  test/CodeGen/X86/sse-minmax.ll
  test/CodeGen/X86/sse-scalar-fp-arith.ll

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D7402.19310.patch
Type: text/x-patch
Size: 19841 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150204/4340f765/attachment.bin>


More information about the llvm-commits mailing list