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
- Build Status
Buildable 39291 Build 39307: arc lint + arc unit
Event Timeline
llvm/lib/Target/X86/X86InstrAVX512.td | ||
---|---|---|
5394 | These are scalar instructions, but you didn't make f32/f64 Legal in X86ISelLowering.cpp |
llvm/lib/Target/X86/X86ISelLowering.cpp | ||
---|---|---|
746 | If SSE isn't enabled, isn't this broken for f32. Similar for SSE2 and f64? |
llvm/lib/Target/X86/X86ISelLowering.cpp | ||
---|---|---|
746 | 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 | ||
---|---|---|
2730–2733 | 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?