This patch is mainly for custom lowering the vector operation.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/lib/Target/X86/X86ISelDAGToDAG.cpp | ||
---|---|---|
847 | Use Res.getValue(0) and Res.getValue(1) to shorten the code. | |
llvm/lib/Target/X86/X86ISelLowering.cpp | ||
1187 | Put this with its non-STRICT line | |
1364–1365 | Don't we need to promote STRICT_FP_TO_SINT/UINT here? | |
1378 | Blank line here | |
1449–1450 | Need to prmote the strict notes too | |
1451 | Put these next to their equivalent non-STRICT lines. | |
19756–19757 | Since we removed the fallthrough out of the if, just move this down to where its used. | |
19761 | Make this a local variable to this block so you can move the earlier declaration below this if | |
19774 | If the IsStrict is taken, then this does an extract_subvector from a merge values and then deosn't return the chain. Are we missing test coverage? I think that should have triggered an assert. | |
19808 | Just move this into the earlier IsStrict if. No need for back to back ifs with the same condition | |
28666 | Please add a FIXME here, setting this to true unconditionally will need to be fixed when we stop losing flags. |
llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp | ||
---|---|---|
616 | Move this above the if and make the non-STRICT path just return Promoted? | |
llvm/lib/Target/X86/X86ISelLowering.cpp | ||
1458 | Move these two SINT_TO_FP/UINT_TO_FP lines below the STRICT lines. Better to keep the FP->INT lines stuff together. | |
1465 | Please keep these in the same order as their non-STRICT versions. Maybe put the STRICT line directly below its corresponding non-STRICT lines. We should make it easy to see that STRICT and non-STRICT are the same. | |
19771 | else should be at the end of the line above. | |
19779–19787 | Move else to the line above | |
19806 | Drop the else since we already returned in the if body. | |
llvm/test/CodeGen/X86/vec-strict-fptoint-512.ll | ||
4 | Should we have avx512dq coverage for the conversion to vXi64? Same with other vector tests. |
Modify as comments.
Add check for avx512dq
llvm/test/CodeGen/X86/vec-strict-fptoint-512.ll | ||
---|---|---|
4 | Ok. |
llvm/lib/Target/X86/X86ISelLowering.cpp | ||
---|---|---|
1167 | Forget to update the testcase. I'll update later. |
llvm/test/CodeGen/X86/vec-strict-fptoint-128.ll | ||
---|---|---|
398 | Just noticed: is this an unsafe behavior for strict FP, because the upper elements may cause exceptions? |
llvm/test/CodeGen/X86/vec-strict-fptoint-128.ll | ||
---|---|---|
398 | Maybe we can set these strict-fptoint legal only when target supports avx512vl and avx512dq? |
llvm/test/CodeGen/X86/vec-strict-fptoint-128.ll | ||
---|---|---|
398 | Can we use 0.0 to pad instead of undef? |
llvm/test/CodeGen/X86/vec-strict-fptoint-128.ll | ||
---|---|---|
398 | I think it's reasonable. I'll work on it. |
Move this above the if and make the non-STRICT path just return Promoted?