This is the following patch of D68686. It adds strict node support for instructions fadd/fsub/fmul/fdiv
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
| llvm/lib/Target/X86/X86InstrAVX512.td | ||
|---|---|---|
| 5400 | These are scalar instructions, but you didn't make f32/f64 Legal in X86ISelLowering.cpp | |
| llvm/lib/Target/X86/X86ISelLowering.cpp | ||
|---|---|---|
| 778 | If SSE isn't enabled, isn't this broken for f32. Similar for SSE2 and f64? | |
| llvm/lib/Target/X86/X86ISelLowering.cpp | ||
|---|---|---|
| 778 | I don't think it will break X87 types, but it does seems to be weird that legalize X87 strict nodes at the same time before X87 patches. | |
| llvm/lib/Target/X86/X86InstrSSE.td | ||
|---|---|---|
| 2776–2779 | Are there tests for this? There's also AVX512_scalar_math_fp_patterns that would need to be updated too. | |
Adding testcase for scalar_math_patterns and AVX512_scalar_math_fp_patterns.
Moving setOperationAction(ISD::STRICT_FADD/STRICT_FSUB/STRICT_FDIV/STRICT_FMUL, MVT::v2f64, Legal) into SSE2 judgment statement.
If SSE isn't enabled, isn't this broken for f32. Similar for SSE2 and f64?