This patch is to fix regression of D122875. X86 has fpext instructions
supporting rmb form, which takes advantage of fpext(fplat(X)) than
splat(fpext(X)).
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
| llvm/test/CodeGen/X86/prefer-fpext-splat.ll | ||
|---|---|---|
| 1 | Pre-commit the test to show the problem? | |
| llvm/test/CodeGen/X86/prefer-fpext-splat.ll | ||
|---|---|---|
| 6 | remove the global constant and use a function argument: define <4 x double> @prefer(float* %p) {
entry:
%0 = load float, float* %p, align 4 | |
| llvm/lib/Target/X86/X86ISelLowering.cpp | ||
|---|---|---|
| 6017 | Why not return Opc != ISD::FP_EXTEND? | |
| llvm/test/CodeGen/X86/prefer-fpext-splat.ll | ||
|---|---|---|
| 2–6 | Please can you add sse/avx1/avx2 test coverage as well just to ensure non-avx512 targets prefer this as well? | |
| llvm/test/CodeGen/X86/prefer-fpext-splat.ll | ||
|---|---|---|
| 7–8 | While there, please add i8/i16/i32/i64/double/half tests | |
| llvm/test/CodeGen/X86/prefer-fpext-splat.ll | ||
|---|---|---|
| 27–54 | Change to ptr. | |
Comment Actions
Minor suggestion: could you add more comments in the description? The title is kind of abstract.
| llvm/test/CodeGen/X86/prefer-fpext-splat.ll | ||
|---|---|---|
| 6 | Precommit please | |
Why not return Opc != ISD::FP_EXTEND?