llvm.org GIT mirror llvm / 089617d
Add support in SplitVectorOp for remainder operators. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44233 91177308-0d34-0410-b5e6-96231b3b80d8 Dan Gohman 12 years ago
2 changed file(s) with 19 addition(s) and 1 deletion(s). Raw diff Collapse all Expand all
63406340 case ISD::FPOW:
63416341 case ISD::AND:
63426342 case ISD::OR:
6343 case ISD::XOR: {
6343 case ISD::XOR:
6344 case ISD::UREM:
6345 case ISD::SREM:
6346 case ISD::FREM: {
63446347 SDOperand LL, LH, RL, RH;
63456348 SplitVectorOp(Node->getOperand(0), LL, LH);
63466349 SplitVectorOp(Node->getOperand(1), RL, RH);
0 ; RUN: llvm-as < %s | llc -march=x86-64 | grep div | count 16
1 ; RUN: llvm-as < %s | llc -march=x86-64 | grep fmodf | count 8
2
3 define <8 x i32> @foo(<8 x i32> %t, <8 x i32> %u) {
4 %m = srem <8 x i32> %t, %u
5 ret <8 x i32> %m
6 }
7 define <8 x i32> @bar(<8 x i32> %t, <8 x i32> %u) {
8 %m = urem <8 x i32> %t, %u
9 ret <8 x i32> %m
10 }
11 define <8 x float> @qux(<8 x float> %t, <8 x float> %u) {
12 %m = frem <8 x float> %t, %u
13 ret <8 x float> %m
14 }