[all-commits] [llvm/llvm-project] 57eb56: [X86] Swap the 0 and the fudge factor in the const...

topperc via All-commits all-commits at lists.llvm.org
Tue Jan 14 17:07:22 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 57eb56b83926675dd8a554fc8a8e28ee57278f90
      https://github.com/llvm/llvm-project/commit/57eb56b83926675dd8a554fc8a8e28ee57278f90
  Author: Craig Topper <craig.topper at intel.com>
  Date:   2020-01-14 (Tue, 14 Jan 2020)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/avx512-intrinsics-fast-isel.ll
    M llvm/test/CodeGen/X86/fildll.ll
    M llvm/test/CodeGen/X86/fp-cvt.ll
    M llvm/test/CodeGen/X86/fp-intrinsics.ll
    M llvm/test/CodeGen/X86/fp-strict-scalar-inttofp.ll
    M llvm/test/CodeGen/X86/fp80-strict-scalar.ll
    M llvm/test/CodeGen/X86/half.ll
    M llvm/test/CodeGen/X86/pr15309.ll
    M llvm/test/CodeGen/X86/pr44396.ll
    M llvm/test/CodeGen/X86/scalar-int-to-fp.ll
    M llvm/test/CodeGen/X86/uint64-to-float.ll
    M llvm/test/CodeGen/X86/vec-strict-inttofp-128.ll
    M llvm/test/CodeGen/X86/vec-strict-inttofp-256.ll
    M llvm/test/CodeGen/X86/vec-strict-inttofp-512.ll

  Log Message:
  -----------
  [X86] Swap the 0 and the fudge factor in the constant pool for the 32-bit mode i64->f32/f64/f80 uint_to_fp algorithm.

This allows us to generate better code for selecting the fixup
to load.

Previously when the sign was set we had to load offset 0. And
when it was clear we had to load offset 4. This required a testl,
setns, zero extend, and finally a mul by 4. By switching the offsets
we can just shift the sign bit into the lsb and multiply it by 4.


  Commit: 76291e1158c2aedddfe0be0ea69452ea6dc2db24
      https://github.com/llvm/llvm-project/commit/76291e1158c2aedddfe0be0ea69452ea6dc2db24
  Author: Craig Topper <craig.topper at intel.com>
  Date:   2020-01-14 (Tue, 14 Jan 2020)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [X86] Drop an unneeded FIXME. NFC

The extload on X87 is free.


Compare: https://github.com/llvm/llvm-project/compare/ab0356470612...76291e1158c2


More information about the All-commits mailing list