GlobalISel: Translate llvm.powi intrinsic
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Fri, 17 Jul 2020 14:26:23 +0000 (10:26 -0400)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Tue, 21 Jul 2020 22:13:04 +0000 (18:13 -0400)
commit7941dc504107799440e7efab974026c506b4dbd3
tree37e4e0b914b54458f580ca21f22dfe54dc543ddd
parent1168119c2f0eb46774e5358df957bf90084bf75a
GlobalISel: Translate llvm.powi intrinsic

There are a few questionable things about this intrinsic and existing
DAG implementation. For some reason the intrinsic hardcodes the second
operand to be scalar-only i32, and SelectionDAG builder makes a
legalization decision based on whether the operand is constant.
llvm/include/llvm/Support/TargetOpcodes.def
llvm/include/llvm/Target/GenericOpcodes.td
llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir