diff options
Diffstat (limited to 'llvm/lib/Target/AArch64/AArch64MachineLegalizer.cpp')
-rw-r--r-- | llvm/lib/Target/AArch64/AArch64MachineLegalizer.cpp | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64MachineLegalizer.cpp b/llvm/lib/Target/AArch64/AArch64MachineLegalizer.cpp index 681d1378ca2..fef98c9c268 100644 --- a/llvm/lib/Target/AArch64/AArch64MachineLegalizer.cpp +++ b/llvm/lib/Target/AArch64/AArch64MachineLegalizer.cpp @@ -89,17 +89,12 @@ AArch64MachineLegalizer::AArch64MachineLegalizer() { setAction({TargetOpcode::G_FCONSTANT, s16}, WidenScalar); - // Comparisons: we produce a result in s32 with undefined high-bits for - // now. Values being compared can be 32 or 64-bits. - for (auto CmpOp : { G_ICMP }) { - setAction({CmpOp, 0, s32}, Legal); - setAction({CmpOp, 1, s32}, Legal); - setAction({CmpOp, 1, s64}, Legal); - - for (auto Ty : {s1, s8, s16}) { - setAction({CmpOp, 0, Ty}, WidenScalar); - setAction({CmpOp, 1, Ty}, WidenScalar); - } + setAction({G_ICMP, s1}, Legal); + setAction({G_ICMP, 1, s32}, Legal); + setAction({G_ICMP, 1, s64}, Legal); + + for (auto Ty : {s1, s8, s16}) { + setAction({G_ICMP, 1, Ty}, WidenScalar); } // Extensions |