[llvm] [X86] handle vector floating point extension from scalar in inline assembly (PR #189159)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Fri Apr 10 06:07:13 PDT 2026
================
@@ -537,7 +537,13 @@ getCopyToParts(SelectionDAG &DAG, const SDLoc &DL, SDValue Val, SDValue *Parts,
// If the parts cover more bits than the value has, promote the value.
if (PartVT.isFloatingPoint() && ValueVT.isFloatingPoint()) {
assert(NumParts == 1 && "Do not know what to promote to!");
- Val = DAG.getNode(ISD::FP_EXTEND, DL, PartVT, Val);
+ if (PartVT.isVector()) {
+ ValueVT = EVT::getFloatingPointVT(PartBits);
+ Val = DAG.getNode(ISD::FP_EXTEND, DL, ValueVT, Val);
----------------
arsenm wrote:
I wouldn't expect anything involving inline assembly to imply a hidden FP_EXTEND. Does GCC do this?
https://github.com/llvm/llvm-project/pull/189159
More information about the llvm-commits
mailing list