LuoYuanke added inline comments.

================
Comment at: llvm/lib/Target/X86/X86InstrFoldTables.cpp:1852
+  { X86::VFCMULCPHZrr,             X86::VFCMULCPHZrm,             0 },
+  { X86::VFCMULCSHZrr,             X86::VFCMULCSHZrm,             
TB_NO_REVERSE },
   { X86::VFMADDPD4Yrr,             X86::VFMADDPD4Ymr,             0 },
----------------
craig.topper wrote:
> LuoYuanke wrote:
> > pengfei wrote:
> > > LuoYuanke wrote:
> > > > Why FR32X version is not needed for complex scalar instructions?
> > > Do you mean complex ss/sd? We don't have these instructions.
> > No, I mean we have both X86::XXX and X86::XXX_Int for other instructions. 
> > One is FR16X which can be unfolded, one is VR128X which can't. For example, 
> > VFNMADD213SHZm and VFNMADD213SHZm_Int. 
> The VFCMULCSHZrr instructions produce two 16-bit values packed into the lower 
> 32 bits. That would mean we would need a FR32X result, but it couldn't 
> interact meaningfully with any other FR32X instruction since its really two 
> values.
> 
> I think we only have FR32/FR64 instructions for things that have generic IR 
> equivalents or that we create from other generic IR operations. Like I think 
> we have an FR32 RCP and RSQRT because we can convert float div or 1/sqrt to 
> them.
Thanks, Craig. I understand now. :)


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D105269/new/

https://reviews.llvm.org/D105269

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to