[PATCH] D57857: [PowerPC] custom lower `v2f64 fpext v2f32`

Lei Huang via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 6 15:46:19 PST 2019


lei created this revision.
lei added reviewers: power-llvm-team, hfinkel, echristo.
Herald added subscribers: jsji, kbarton, hiraditya, nemanjai.
Herald added a project: LLVM.

Reduces scalarization overhead via custom lowering of `v2f64 fpext v2f32`

eg. For the following IR

  %0 = load <2 x float>, <2 x float>* %Ptr, align 8
  %1 = fpext <2 x float> %0 to <2 x double>
  ret <2 x double> %1

Pre custom lowering:

  ld r3, 0(r3)
  mtvsrd f0, r3
  xxswapd vs34, vs0
  xscvspdpn f0, vs0
  xxsldwi vs1, vs34, vs34, 3
  xscvspdpn f1, vs1
  xxmrghd vs34, vs0, vs1

After custom lowering:

  lfd f0, 0(r3)
  xxmrghw vs0, vs0, vs0
  xvcvspdp vs34, vs0

spec2017 improvements:

- parest by 1.16%
- blender by 1.24%.

spec2006 improvements:

- mcf by 2%
- xalancbmk by 1.29%


Repository:
  rL LLVM

https://reviews.llvm.org/D57857

Files:
  llvm/lib/Target/PowerPC/PPCISelLowering.cpp
  llvm/lib/Target/PowerPC/PPCISelLowering.h
  llvm/lib/Target/PowerPC/PPCInstrVSX.td
  llvm/test/CodeGen/PowerPC/reduce_scalarization.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D57857.185655.patch
Type: text/x-patch
Size: 10275 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190206/a036166a/attachment.bin>


More information about the llvm-commits mailing list