mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-26 21:32:10 +00:00
[mips] MipsTargetLowering::getSetCCResultType should return a vector type if
vectors are being compared. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171517 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
1ebe5fce8e
commit
e13f441e00
@ -520,7 +520,9 @@ MipsTargetLowering::allowsUnalignedMemoryAccesses(EVT VT, bool *Fast) const {
|
||||
}
|
||||
|
||||
EVT MipsTargetLowering::getSetCCResultType(EVT VT) const {
|
||||
return MVT::i32;
|
||||
if (!VT.isVector())
|
||||
return MVT::i32;
|
||||
return VT.changeVectorElementTypeToInteger();
|
||||
}
|
||||
|
||||
// SelectMadd -
|
||||
|
16
test/CodeGen/Mips/vector-setcc.ll
Normal file
16
test/CodeGen/Mips/vector-setcc.ll
Normal file
@ -0,0 +1,16 @@
|
||||
; RUN: llc -march=mipsel < %s
|
||||
|
||||
@a = common global <4 x i32> zeroinitializer, align 16
|
||||
@b = common global <4 x i32> zeroinitializer, align 16
|
||||
@g0 = common global <4 x i32> zeroinitializer, align 16
|
||||
|
||||
define void @foo0() nounwind {
|
||||
entry:
|
||||
%0 = load <4 x i32>* @a, align 16
|
||||
%1 = load <4 x i32>* @b, align 16
|
||||
%cmp = icmp slt <4 x i32> %0, %1
|
||||
%sext = sext <4 x i1> %cmp to <4 x i32>
|
||||
store <4 x i32> %sext, <4 x i32>* @g0, align 16
|
||||
ret void
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user