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
Unit Tests
Unit Tests
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 | 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 | ||
---|---|---|
4 | While there, please add i8/i16/i32/i64/double/half tests |
llvm/test/CodeGen/X86/prefer-fpext-splat.ll | ||
---|---|---|
10 | 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?