[PATCH] D24345: [X86][SSE] Improve recognition of i64 sitofp conversions can be performed as i32 (PR29078)

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 8 07:31:55 PDT 2016


RKSimon created this revision.
RKSimon added reviewers: eli.friedman, mkuper, zvi, andreadb, spatel.
RKSimon added a subscriber: llvm-commits.
RKSimon set the repository for this revision to rL LLVM.

Until AVX512DQ we only support i64/vXi64 sitofp conversion as scalars.

This patch sees if the sign bit extends far enough that we can truncate to a i32 type and then perform sitofp without loss of precision.

Sibling patch to D24343 - once that is applied the uitofp equivalent tests will reduce with this patch as well.

Note: the signum64a codegen change is an interesting one, it looks we could improve this if we updated truncateVectorCompareWithPACKSS to support 64-bit vector outputs.

Repository:
  rL LLVM

https://reviews.llvm.org/D24345

Files:
  lib/Target/X86/X86ISelLowering.cpp
  test/CodeGen/X86/i64-to-float.ll
  test/CodeGen/X86/sse-fsignum.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D24345.70697.patch
Type: text/x-patch
Size: 13554 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160908/cdacbcac/attachment-0001.bin>


More information about the llvm-commits mailing list