mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-03-02 09:16:40 +00:00
[X86] Mark the ISD::SETLT/SETLE condition codes as illegal for v32i16/v64i8 to match the other vector types.
I'm having a hard time finding a test case for this, but we should be consistent here. The fact that we canonicalize all zeros and all ones constants to vXi32 and all other constants to loads makes this hard to hit the easy DAG combine infinite loop we get for some of the other types. llvm-svn: 341859
This commit is contained in:
parent
2dc5ee2dcf
commit
2f3805dc2c
@ -1574,6 +1574,11 @@ X86TargetLowering::X86TargetLowering(const X86TargetMachine &TM,
|
||||
setOperationPromotedToType(ISD::AND, VT, MVT::v8i64);
|
||||
setOperationPromotedToType(ISD::OR, VT, MVT::v8i64);
|
||||
setOperationPromotedToType(ISD::XOR, VT, MVT::v8i64);
|
||||
|
||||
// The condition codes aren't legal in SSE/AVX and under AVX512 we use
|
||||
// setcc all the way to isel and prefer SETGT in some isel patterns.
|
||||
setCondCodeAction(ISD::SETLT, VT, Custom);
|
||||
setCondCodeAction(ISD::SETLE, VT, Custom);
|
||||
}
|
||||
|
||||
for (auto ExtType : {ISD::ZEXTLOAD, ISD::SEXTLOAD}) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user