mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 20:51:52 +01:00
Add support in SplitVectorOp for remainder operators.
llvm-svn: 44233
This commit is contained in:
parent
e05d68940f
commit
0f62120b01
@ -6341,7 +6341,10 @@ void SelectionDAGLegalize::SplitVectorOp(SDOperand Op, SDOperand &Lo,
|
|||||||
case ISD::FPOW:
|
case ISD::FPOW:
|
||||||
case ISD::AND:
|
case ISD::AND:
|
||||||
case ISD::OR:
|
case ISD::OR:
|
||||||
case ISD::XOR: {
|
case ISD::XOR:
|
||||||
|
case ISD::UREM:
|
||||||
|
case ISD::SREM:
|
||||||
|
case ISD::FREM: {
|
||||||
SDOperand LL, LH, RL, RH;
|
SDOperand LL, LH, RL, RH;
|
||||||
SplitVectorOp(Node->getOperand(0), LL, LH);
|
SplitVectorOp(Node->getOperand(0), LL, LH);
|
||||||
SplitVectorOp(Node->getOperand(1), RL, RH);
|
SplitVectorOp(Node->getOperand(1), RL, RH);
|
||||||
|
15
test/CodeGen/X86/split-vector-rem.ll
Normal file
15
test/CodeGen/X86/split-vector-rem.ll
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
; RUN: llvm-as < %s | llc -march=x86-64 | grep div | count 16
|
||||||
|
; RUN: llvm-as < %s | llc -march=x86-64 | grep fmodf | count 8
|
||||||
|
|
||||||
|
define <8 x i32> @foo(<8 x i32> %t, <8 x i32> %u) {
|
||||||
|
%m = srem <8 x i32> %t, %u
|
||||||
|
ret <8 x i32> %m
|
||||||
|
}
|
||||||
|
define <8 x i32> @bar(<8 x i32> %t, <8 x i32> %u) {
|
||||||
|
%m = urem <8 x i32> %t, %u
|
||||||
|
ret <8 x i32> %m
|
||||||
|
}
|
||||||
|
define <8 x float> @qux(<8 x float> %t, <8 x float> %u) {
|
||||||
|
%m = frem <8 x float> %t, %u
|
||||||
|
ret <8 x float> %m
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user